Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSeg
提交
39e5f8bd
P
PaddleSeg
项目概览
PaddlePaddle
/
PaddleSeg
通知
285
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
53
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleSeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
53
Issue
53
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
39e5f8bd
编写于
9月 10, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/PaddlePaddle/PaddleSeg
上级
c57ae45f
0f435766
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
43 addition
and
9 deletion
+43
-9
docs/data_aug.md
docs/data_aug.md
+5
-5
docs/model_export.md
docs/model_export.md
+1
-1
inference/README.md
inference/README.md
+5
-2
pdseg/export_model.py
pdseg/export_model.py
+29
-0
turtorial/finetune_deeplabv3plus.md
turtorial/finetune_deeplabv3plus.md
+1
-1
turtorial/finetune_icnet.md
turtorial/finetune_icnet.md
+2
-0
未找到文件。
docs/data_aug.md
浏览文件 @
39e5f8bd
...
@@ -7,20 +7,20 @@
...
@@ -7,20 +7,20 @@
## Resize
## Resize
resize
步骤是指将输入图像按照某种规则先进行resize
,PaddleSeg支持以下3种resize方式:
resize
步骤是指将输入图像按照某种规则讲图片重新缩放到某一个尺寸
,PaddleSeg支持以下3种resize方式:
![](
imgs/aug_method.png
)
![](
imgs/aug_method.png
)
-
un
padding
-
Un-
padding
将输入图像直接resize到某一个固定大小下,送入到网络中间训练,对应参数为AUG.FIX_RESIZE_SIZE。预测时同样操作。
将输入图像直接resize到某一个固定大小下,送入到网络中间训练,对应参数为AUG.FIX_RESIZE_SIZE。预测时同样操作。
-
steps
caling
-
Step-S
caling
将输入图像按照某一个比例resize,这个比例以某一个步长在一定范围内随机变动。设定最小比例参数为
`AUG.MIN_SCALE_FACTOR`
, 最大比例参数
`AUG.MAX_SCALE_FACTOR`
,步长参数为
`AUG.SCALE_STEP_SIZE`
。预测时不对输入图像做处理。
将输入图像按照某一个比例resize,这个比例以某一个步长在一定范围内随机变动。设定最小比例参数为
`AUG.MIN_SCALE_FACTOR`
, 最大比例参数
`AUG.MAX_SCALE_FACTOR`
,步长参数为
`AUG.SCALE_STEP_SIZE`
。预测时不对输入图像做处理。
-
ranges
caling
-
Range-S
caling
固定长宽比resize,即图像长边对齐到某一个固定大小,短边随同样的比例变化。设定最小大小参数为
`AUG.MIN_RESIZE_VALUE`
,设定最大大小参数为
`AUG.MAX_RESIZE_VALUE`
。预测时需要将长边对齐到
`AUG.INF_RESIZE_VALUE`
所指定的大小,其中
`AUG.INF_RESIZE_VALUE`
在
`AUG.MIN_RESIZE_VALUE`
和
`AUG.MAX_RESIZE_VALUE`
范围内。
固定长宽比resize,即图像长边对齐到某一个固定大小,短边随同样的比例变化。设定最小大小参数为
`AUG.MIN_RESIZE_VALUE`
,设定最大大小参数为
`AUG.MAX_RESIZE_VALUE`
。预测时需要将长边对齐到
`AUG.INF_RESIZE_VALUE`
所指定的大小,其中
`AUG.INF_RESIZE_VALUE`
在
`AUG.MIN_RESIZE_VALUE`
和
`AUG.MAX_RESIZE_VALUE`
范围内。
ranges
caling示意图如下:
Range-S
caling示意图如下:
![](
imgs/rangescale.png
)
![](
imgs/rangescale.png
)
...
...
docs/model_export.md
浏览文件 @
39e5f8bd
...
@@ -18,4 +18,4 @@
...
@@ -18,4 +18,4 @@
python pdseg/export_model.py
--cfg
configs/unet_pet.yaml TEST.TEST_MODEL
test
/saved_models/unet_pet/final
python pdseg/export_model.py
--cfg
configs/unet_pet.yaml TEST.TEST_MODEL
test
/saved_models/unet_pet/final
```
```
模型会导出到freeze_model目录
预测模型会导出到
`freeze_model`
目录,用于C++预测的模型配置会导出到
`freeze_model/deploy.yaml`
下
inference/README.md
浏览文件 @
39e5f8bd
...
@@ -70,7 +70,11 @@ deeplabv3p_xception65_humanseg
...
@@ -70,7 +70,11 @@ deeplabv3p_xception65_humanseg
### 2. 修改配置
### 2. 修改配置
源代码的
`conf`
目录下提供了示例人像分割模型的配置文件
`humanseg.yaml`
, 相关的字段含义和说明如下:
基于
`PaddleSeg`
训练的模型导出时,会自动生成对应的预测模型配置文件,请参考文档:
[
模型导出
](
../docs/export_model.md
)
。
`inference`
源代码(即本目录)的
`conf`
目录下提供了示例人像分割模型的配置文件
`humanseg.yaml`
, 相关的字段含义和说明如下:
```
yaml
```
yaml
DEPLOY
:
DEPLOY
:
# 是否使用GPU预测
# 是否使用GPU预测
...
@@ -102,7 +106,6 @@ DEPLOY:
...
@@ -102,7 +106,6 @@ DEPLOY:
```
```
修改字段
`MODEL_PATH`
的值为你在
**上一步**
下载并解压的模型文件所放置的目录即可。
修改字段
`MODEL_PATH`
的值为你在
**上一步**
下载并解压的模型文件所放置的目录即可。
### 3. 执行预测
### 3. 执行预测
在终端中切换到生成的可执行文件所在目录为当前目录(Windows系统为
`cmd`
)。
在终端中切换到生成的可执行文件所在目录为当前目录(Windows系统为
`cmd`
)。
...
...
pdseg/export_model.py
浏览文件 @
39e5f8bd
...
@@ -49,6 +49,32 @@ def parse_args():
...
@@ -49,6 +49,32 @@ def parse_args():
sys
.
exit
(
1
)
sys
.
exit
(
1
)
return
parser
.
parse_args
()
return
parser
.
parse_args
()
def
export_inference_config
():
deploy_cfg
=
'''DEPLOY:
USE_GPU : 1
MODEL_PATH : "%s"
MODEL_FILENAME : "%s"
PARAMS_FILENAME : "%s"
EVAL_CROP_SIZE : %s
MEAN : %s
STD : %s
IMAGE_TYPE : "%s"
NUM_CLASSES : %d
CHANNELS : %d
PRE_PROCESSOR : "SegPreProcessor"
PREDICTOR_MODE : "ANALYSIS"
BATCH_SIZE : 1
'''
%
(
cfg
.
FREEZE
.
SAVE_DIR
,
cfg
.
FREEZE
.
MODEL_FILENAME
,
cfg
.
FREEZE
.
PARAMS_FILENAME
,
cfg
.
EVAL_CROP_SIZE
,
cfg
.
MEAN
,
cfg
.
STD
,
cfg
.
DATASET
.
IMAGE_TYPE
,
cfg
.
DATASET
.
NUM_CLASSES
,
len
(
cfg
.
STD
))
if
not
os
.
path
.
exists
(
cfg
.
FREEZE
.
SAVE_DIR
):
os
.
mkdir
(
cfg
.
FREEZE
.
SAVE_DIR
)
yaml_path
=
os
.
path
.
join
(
cfg
.
FREEZE
.
SAVE_DIR
,
'deploy.yaml'
)
with
open
(
yaml_path
,
"w"
)
as
fp
:
fp
.
write
(
deploy_cfg
)
return
yaml_path
def
export_inference_model
(
args
):
def
export_inference_model
(
args
):
"""
"""
...
@@ -81,6 +107,9 @@ def export_inference_model(args):
...
@@ -81,6 +107,9 @@ def export_inference_model(args):
model_filename
=
cfg
.
FREEZE
.
MODEL_FILENAME
,
model_filename
=
cfg
.
FREEZE
.
MODEL_FILENAME
,
params_filename
=
cfg
.
FREEZE
.
PARAMS_FILENAME
)
params_filename
=
cfg
.
FREEZE
.
PARAMS_FILENAME
)
print
(
"Inference model exported!"
)
print
(
"Inference model exported!"
)
print
(
"Exporting inference model config..."
)
deploy_cfg_path
=
export_inference_config
()
print
(
"Inference model saved : [%s]"
%
(
deploy_cfg_path
))
def
main
():
def
main
():
...
...
turtorial/finetune_deeplabv3plus.md
浏览文件 @
39e5f8bd
...
@@ -74,7 +74,7 @@ AUG:
...
@@ -74,7 +74,7 @@ AUG:
FIX_RESIZE_SIZE
:
(512, 512)
FIX_RESIZE_SIZE
:
(512, 512)
BATCH_SIZE
:
4
BATCH_SIZE
:
4
TRAIN
:
TRAIN
:
PRETRAINED_MODEL_DIR
:
"
./pretrained_model/deeplabv3p_xception65_bn_
pet
/"
PRETRAINED_MODEL_DIR
:
"
./pretrained_model/deeplabv3p_xception65_bn_
coco
/"
MODEL_SAVE_DIR
:
"
./saved_model/deeplabv3p_xception65_bn_pet/"
MODEL_SAVE_DIR
:
"
./saved_model/deeplabv3p_xception65_bn_pet/"
SNAPSHOT_EPOCH
:
10
SNAPSHOT_EPOCH
:
10
TEST
:
TEST
:
...
...
turtorial/finetune_icnet.md
浏览文件 @
39e5f8bd
...
@@ -65,6 +65,8 @@ MODEL:
...
@@ -65,6 +65,8 @@ MODEL:
MODEL_NAME
:
"
icnet"
MODEL_NAME
:
"
icnet"
DEFAULT_NORM_TYPE
:
"
bn"
DEFAULT_NORM_TYPE
:
"
bn"
MULTI_LOSS_WEIGHT
:
"
[1.0,
0.4,
0.16]"
MULTI_LOSS_WEIGHT
:
"
[1.0,
0.4,
0.16]"
ICNET
:
DEPTH_MULTIPLIER
:
0.5
# 其他配置
# 其他配置
TRAIN_CROP_SIZE
:
(512, 512)
TRAIN_CROP_SIZE
:
(512, 512)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录