Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSeg
提交
328ded88
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看板
提交
328ded88
编写于
9月 12, 2019
作者:
C
chulutao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'release/v0.1.0' of
https://github.com/PaddlePaddle/PaddleSeg
上级
4e9fefed
8100584e
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
152 addition
and
8 deletion
+152
-8
README.md
README.md
+5
-1
configs/deeplabv3p_mobilenet-1-0_pet.yaml
configs/deeplabv3p_mobilenet-1-0_pet.yaml
+47
-0
configs/deeplabv3p_xception65_pet.yaml
configs/deeplabv3p_xception65_pet.yaml
+44
-0
configs/icnet_pet.yaml
configs/icnet_pet.yaml
+45
-0
docs/check.md
docs/check.md
+0
-2
docs/model_zoo.md
docs/model_zoo.md
+3
-3
pdseg/check.py
pdseg/check.py
+5
-1
pdseg/loss.py
pdseg/loss.py
+2
-0
turtorial/finetune_deeplabv3plus.md
turtorial/finetune_deeplabv3plus.md
+1
-1
未找到文件。
README.md
浏览文件 @
328ded88
...
@@ -31,7 +31,7 @@ PaddleSeg支持多进程IO、多卡并行、跨卡Batch Norm同步等训练加
...
@@ -31,7 +31,7 @@ PaddleSeg支持多进程IO、多卡并行、跨卡Batch Norm同步等训练加
## 使用教程
## 使用教程
我们提供了一系列的使用教程,来说明如何使用PaddleSeg完成
一个
语义分割模型的训练、评估、部署。
我们提供了一系列的使用教程,来说明如何使用PaddleSeg完成语义分割模型的训练、评估、部署。
这一系列的文档被分为
**快速入门**
、
**基础功能**
、
**预测部署**
、
**高级功能**
四个部分,四个教程由浅至深地介绍PaddleSeg的设计思路和使用方法。
这一系列的文档被分为
**快速入门**
、
**基础功能**
、
**预测部署**
、
**高级功能**
四个部分,四个教程由浅至深地介绍PaddleSeg的设计思路和使用方法。
...
@@ -86,6 +86,10 @@ A: 降低Batch size,使用Group Norm策略;请注意训练过程中当`DEFAU
...
@@ -86,6 +86,10 @@ A: 降低Batch size,使用Group Norm策略;请注意训练过程中当`DEFAU
</br>
</br>
#### Q: 出现错误 ModuleNotFoundError: No module named 'paddle.fluid.contrib.mixed_precision'
A: 请将PaddlePaddle升级至1.5.2版本或以上。
## 在线体验
## 在线体验
PaddleSeg在AI Studio平台上提供了在线体验的教程,欢迎体验:
PaddleSeg在AI Studio平台上提供了在线体验的教程,欢迎体验:
...
...
configs/deeplabv3p_mobilenet-1-0_pet.yaml
0 → 100644
浏览文件 @
328ded88
TRAIN_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
EVAL_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
AUG
:
AUG_METHOD
:
"
unpadding"
# choice unpadding rangescaling and stepscaling
FIX_RESIZE_SIZE
:
(512, 512)
# (width, height), for unpadding
INF_RESIZE_VALUE
:
500
# for rangescaling
MAX_RESIZE_VALUE
:
600
# for rangescaling
MIN_RESIZE_VALUE
:
400
# for rangescaling
MAX_SCALE_FACTOR
:
1.25
# for stepscaling
MIN_SCALE_FACTOR
:
0.75
# for stepscaling
SCALE_STEP_SIZE
:
0.25
# for stepscaling
MIRROR
:
True
BATCH_SIZE
:
4
DATASET
:
DATA_DIR
:
"
./dataset/mini_pet/"
IMAGE_TYPE
:
"
rgb"
# choice rgb or rgba
NUM_CLASSES
:
3
TEST_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
TRAIN_FILE_LIST
:
"
./dataset/mini_pet/file_list/train_list.txt"
VAL_FILE_LIST
:
"
./dataset/mini_pet/file_list/val_list.txt"
VIS_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
IGNORE_INDEX
:
255
SEPARATOR
:
"
"
FREEZE
:
MODEL_FILENAME
:
"
__model__"
PARAMS_FILENAME
:
"
__params__"
MODEL
:
MODEL_NAME
:
"
deeplabv3p"
DEFAULT_NORM_TYPE
:
"
bn"
DEEPLAB
:
BACKBONE
:
"
mobilenet"
DEPTH_MULTIPLIER
:
1.0
ENCODER_WITH_ASPP
:
False
ENABLE_DECODER
:
False
TRAIN
:
PRETRAINED_MODEL_DIR
:
"
./pretrained_model/deeplabv3p_mobilenetv2-1-0_bn_cityscapes/"
MODEL_SAVE_DIR
:
"
./saved_model/deeplabv3p_mobilenetv2-1-0_bn_pet/"
SNAPSHOT_EPOCH
:
10
TEST
:
TEST_MODEL
:
"
./saved_model/deeplabv3p_mobilenetv2-1-0_bn_pet/final"
SOLVER
:
NUM_EPOCHS
:
100
LR
:
0.005
LR_POLICY
:
"
poly"
OPTIMIZER
:
"
sgd"
configs/deeplabv3p_xception65_pet.yaml
0 → 100644
浏览文件 @
328ded88
TRAIN_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
EVAL_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
AUG
:
AUG_METHOD
:
"
unpadding"
# choice unpadding rangescaling and stepscaling
FIX_RESIZE_SIZE
:
(512, 512)
# (width, height), for unpadding
INF_RESIZE_VALUE
:
500
# for rangescaling
MAX_RESIZE_VALUE
:
600
# for rangescaling
MIN_RESIZE_VALUE
:
400
# for rangescaling
MAX_SCALE_FACTOR
:
1.25
# for stepscaling
MIN_SCALE_FACTOR
:
0.75
# for stepscaling
SCALE_STEP_SIZE
:
0.25
# for stepscaling
MIRROR
:
True
BATCH_SIZE
:
4
DATASET
:
DATA_DIR
:
"
./dataset/mini_pet/"
IMAGE_TYPE
:
"
rgb"
# choice rgb or rgba
NUM_CLASSES
:
3
TEST_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
TRAIN_FILE_LIST
:
"
./dataset/mini_pet/file_list/train_list.txt"
VAL_FILE_LIST
:
"
./dataset/mini_pet/file_list/val_list.txt"
VIS_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
IGNORE_INDEX
:
255
SEPARATOR
:
"
"
FREEZE
:
MODEL_FILENAME
:
"
__model__"
PARAMS_FILENAME
:
"
__params__"
MODEL
:
MODEL_NAME
:
"
deeplabv3p"
DEFAULT_NORM_TYPE
:
"
bn"
DEEPLAB
:
BACKBONE
:
"
xception_65"
TRAIN
:
PRETRAINED_MODEL_DIR
:
"
./pretrained_model/deeplabv3p_xception65_bn_coco/"
MODEL_SAVE_DIR
:
"
./saved_model/deeplabv3p_xception65_bn_pet/"
SNAPSHOT_EPOCH
:
10
TEST
:
TEST_MODEL
:
"
./saved_model/deeplabv3p_xception65_bn_pet/final"
SOLVER
:
NUM_EPOCHS
:
100
LR
:
0.005
LR_POLICY
:
"
poly"
OPTIMIZER
:
"
sgd"
configs/icnet_pet.yaml
0 → 100644
浏览文件 @
328ded88
TRAIN_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
EVAL_CROP_SIZE
:
(512, 512)
# (width, height), for unpadding rangescaling and stepscaling
AUG
:
AUG_METHOD
:
"
unpadding"
# choice unpadding rangescaling and stepscaling
FIX_RESIZE_SIZE
:
(512, 512)
# (width, height), for unpadding
INF_RESIZE_VALUE
:
500
# for rangescaling
MAX_RESIZE_VALUE
:
600
# for rangescaling
MIN_RESIZE_VALUE
:
400
# for rangescaling
MAX_SCALE_FACTOR
:
1.25
# for stepscaling
MIN_SCALE_FACTOR
:
0.75
# for stepscaling
SCALE_STEP_SIZE
:
0.25
# for stepscaling
MIRROR
:
True
BATCH_SIZE
:
4
DATASET
:
DATA_DIR
:
"
./dataset/mini_pet/"
IMAGE_TYPE
:
"
rgb"
# choice rgb or rgba
NUM_CLASSES
:
3
TEST_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
TRAIN_FILE_LIST
:
"
./dataset/mini_pet/file_list/train_list.txt"
VAL_FILE_LIST
:
"
./dataset/mini_pet/file_list/val_list.txt"
VIS_FILE_LIST
:
"
./dataset/mini_pet/file_list/test_list.txt"
IGNORE_INDEX
:
255
SEPARATOR
:
"
"
FREEZE
:
MODEL_FILENAME
:
"
__model__"
PARAMS_FILENAME
:
"
__params__"
MODEL
:
MODEL_NAME
:
"
icnet"
DEFAULT_NORM_TYPE
:
"
bn"
MULTI_LOSS_WEIGHT
:
"
[1.0,
0.4,
0.16]"
ICNET
:
DEPTH_MULTIPLIER
:
0.5
TRAIN
:
PRETRAINED_MODEL_DIR
:
"
./pretrained_model/icnet_bn_cityscapes/"
MODEL_SAVE_DIR
:
"
./saved_model/icnet_pet/"
SNAPSHOT_EPOCH
:
10
TEST
:
TEST_MODEL
:
"
./saved_model/icnet_pet/final"
SOLVER
:
NUM_EPOCHS
:
100
LR
:
0.005
LR_POLICY
:
"
poly"
OPTIMIZER
:
"
sgd"
docs/check.md
浏览文件 @
328ded88
...
@@ -51,7 +51,5 @@ python pdseg/check.py --cfg ${YAML_FILE_PATH}
...
@@ -51,7 +51,5 @@ python pdseg/check.py --cfg ${YAML_FILE_PATH}
-
当
`AUG.AUG_METHOD`
为rangscaling时,
`EVAL_CROP_SIZE`
的宽高应不小于缩放后图像中最大的宽高。
-
当
`AUG.AUG_METHOD`
为rangscaling时,
`EVAL_CROP_SIZE`
的宽高应不小于缩放后图像中最大的宽高。
我们将计算并给出
`EVAL_CROP_SIZE`
的建议值。
### 10 数据增强参数`AUG.INF_RESIZE_VALUE`校验
### 10 数据增强参数`AUG.INF_RESIZE_VALUE`校验
验证
`AUG.INF_RESIZE_VALUE`
是否在[
`AUG.MIN_RESIZE_VALUE`
~
`AUG.MAX_RESIZE_VALUE`
]范围内。若在范围内,则通过校验。
验证
`AUG.INF_RESIZE_VALUE`
是否在[
`AUG.MIN_RESIZE_VALUE`
~
`AUG.MAX_RESIZE_VALUE`
]范围内。若在范围内,则通过校验。
docs/model_zoo.md
浏览文件 @
328ded88
...
@@ -28,7 +28,7 @@ PaddleSeg对所有内置的分割模型都提供了公开数据集下的预训
...
@@ -28,7 +28,7 @@ PaddleSeg对所有内置的分割模型都提供了公开数据集下的预训
| 模型 | 数据集合 | 下载地址 |Output Strid|multi-scale test| mIoU |
| 模型 | 数据集合 | 下载地址 |Output Strid|multi-scale test| mIoU |
|---|---|---|---|---|---|
|---|---|---|---|---|---|
| DeepLabv3+/MobileNetv2/bn | COCO |
[
deeplab
v3plus_coco_bn_init.tgz
](
https://bj.bcebos.com/v1/paddleseg/deeplabv3plus_coco_bn_init
.tgz
)
| 16 | --| -- |
| DeepLabv3+/MobileNetv2/bn | COCO |
[
deeplab
_mobilenet_x1_0_coco.tgz
](
https://bj.bcebos.com/v1/paddleseg/deeplab_mobilenet_x1_0_coco
.tgz
)
| 16 | --| -- |
| DeeplabV3+/Xception65/bn | COCO |
[
xception65_coco.tgz
](
https://paddleseg.bj.bcebos.com/models/xception65_coco.tgz
)
| 16 | -- | -- |
| DeeplabV3+/Xception65/bn | COCO |
[
xception65_coco.tgz
](
https://paddleseg.bj.bcebos.com/models/xception65_coco.tgz
)
| 16 | -- | -- |
| U-Net/bn | COCO |
[
unet_coco.tgz
](
https://paddleseg.bj.bcebos.com/models/unet_coco_v3.tgz
)
| 16 | -- | -- |
| U-Net/bn | COCO |
[
unet_coco.tgz
](
https://paddleseg.bj.bcebos.com/models/unet_coco_v3.tgz
)
| 16 | -- | -- |
...
@@ -39,6 +39,6 @@ train数据集合为Cityscapes训练集合,测试为Cityscapes的验证集合
...
@@ -39,6 +39,6 @@ train数据集合为Cityscapes训练集合,测试为Cityscapes的验证集合
| 模型 | 数据集合 | 下载地址 |Output Stride| mutli-scale test| mIoU on val|
| 模型 | 数据集合 | 下载地址 |Output Stride| mutli-scale test| mIoU on val|
|---|---|---|---|---|---|
|---|---|---|---|---|---|
| DeepLabv3+/MobileNetv2/bn | Cityscapes |
[
mobilenet_cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/mobilenet_cityscapes.tgz
)
|16|false| 0.698|
| DeepLabv3+/MobileNetv2/bn | Cityscapes |
[
mobilenet_cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/mobilenet_cityscapes.tgz
)
|16|false| 0.698|
| DeepLabv3+/Xception65/gn | Cityscapes |
[
deeplabv3p_xception65_cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/deeplabv3p_xception65_cityscapes.tgz
)
|16|false| 0.7824 |
| DeepLabv3+/Xception65/gn | Cityscapes |
[
deeplabv3p_xception65_
gn_
cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/deeplabv3p_xception65_cityscapes.tgz
)
|16|false| 0.7824 |
| DeepLabv3+/Xception65/bn | Cityscapes |
[
Xception65_deeplab_cityscapes
.tgz
](
https://paddleseg.bj.bcebos.com/models/xception65_bn_cityscapes.tgz
)
| 16 | false | 0.7930 |
| DeepLabv3+/Xception65/bn | Cityscapes |
[
deeplabv3p_xception65_bn_cityscapes_
.tgz
](
https://paddleseg.bj.bcebos.com/models/xception65_bn_cityscapes.tgz
)
| 16 | false | 0.7930 |
| ICNet/bn | Cityscapes |
[
icnet_cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/icnet6831.tar.gz
)
|16|false| 0.6831 |
| ICNet/bn | Cityscapes |
[
icnet_cityscapes.tgz
](
https://paddleseg.bj.bcebos.com/models/icnet6831.tar.gz
)
|16|false| 0.6831 |
pdseg/check.py
浏览文件 @
328ded88
...
@@ -266,7 +266,11 @@ def eval_crop_size_check(max_height, max_width, min_aspectratio, max_aspectratio
...
@@ -266,7 +266,11 @@ def eval_crop_size_check(max_height, max_width, min_aspectratio, max_aspectratio
.
format
(
cfg
.
EVAL_CROP_SIZE
[
0
],
cfg
.
EVAL_CROP_SIZE
[
1
],
.
format
(
cfg
.
EVAL_CROP_SIZE
[
0
],
cfg
.
EVAL_CROP_SIZE
[
1
],
max_width_rangscaling
,
cfg
.
AUG
.
INF_RESIZE_VALUE
))
max_width_rangscaling
,
cfg
.
AUG
.
INF_RESIZE_VALUE
))
elif
cfg
.
AUG
.
AUG_METHOD
==
"unpadding"
:
elif
cfg
.
AUG
.
AUG_METHOD
==
"unpadding"
:
if
cfg
.
EVAL_CROP_SIZE
[
0
]
>=
cfg
.
AUG
.
FIX_RESIZE_SIZE
[
0
]
and
cfg
.
EVAL_CROP_SIZE
[
1
]
>=
cfg
.
AUG
.
FIX_RESIZE_SIZE
[
1
]:
if
len
(
cfg
.
AUG
.
FIX_RESIZE_SIZE
)
!=
2
:
logger
.
info
(
error_print
(
"EVAL_CROP_SIZE check"
))
logger
.
info
(
"you set AUG.AUG_METHOD = 'unpadding', but AUG.FIX_RESIZE_SIZE is wrong. "
"AUG.FIX_RESIZE_SIZE should be a tuple of length 2"
)
elif
cfg
.
EVAL_CROP_SIZE
[
0
]
>=
cfg
.
AUG
.
FIX_RESIZE_SIZE
[
0
]
and
cfg
.
EVAL_CROP_SIZE
[
1
]
>=
cfg
.
AUG
.
FIX_RESIZE_SIZE
[
1
]:
logger
.
info
(
correct_print
(
"EVAL_CROP_SIZE check"
))
logger
.
info
(
correct_print
(
"EVAL_CROP_SIZE check"
))
else
:
else
:
logger
.
info
(
error_print
(
"EVAL_CROP_SIZE check"
))
logger
.
info
(
error_print
(
"EVAL_CROP_SIZE check"
))
...
...
pdseg/loss.py
浏览文件 @
328ded88
...
@@ -78,4 +78,6 @@ def dice_loss(logit, label, ignore_mask=None, num_classes=2):
...
@@ -78,4 +78,6 @@ def dice_loss(logit, label, ignore_mask=None, num_classes=2):
label
=
fluid
.
layers
.
cast
(
label
,
'int64'
)
label
=
fluid
.
layers
.
cast
(
label
,
'int64'
)
ignore_mask
=
fluid
.
layers
.
reshape
(
ignore_mask
,
[
-
1
,
1
])
ignore_mask
=
fluid
.
layers
.
reshape
(
ignore_mask
,
[
-
1
,
1
])
loss
=
fluid
.
layers
.
dice_loss
(
logit
,
label
)
loss
=
fluid
.
layers
.
dice_loss
(
logit
,
label
)
label
.
stop_gradient
=
True
ignore_mask
.
stop_gradient
=
True
return
loss
return
loss
turtorial/finetune_deeplabv3plus.md
浏览文件 @
328ded88
...
@@ -113,7 +113,7 @@ python pdseg/eval.py --use_gpu --cfg ./configs/test_deeplabv3p_pet.yaml
...
@@ -113,7 +113,7 @@ python pdseg/eval.py --use_gpu --cfg ./configs/test_deeplabv3p_pet.yaml
## 模型组合
## 模型组合
|预训练模型名称|BackBone|Norm|数据集|配置|
|预训练模型名称|BackBone|Norm
Type
|数据集|配置|
|-|-|-|-|-|
|-|-|-|-|-|
|mobilenetv2-2-0_bn_imagenet|-|bn|ImageNet|MODEL.MODEL_NAME: deeplabv3p
<br>
MODEL.DEEPLAB.BACKBONE: mobilenet
<br>
MODEL.DEEPLAB.DEPTH_MULTIPLIER: 2.0
<br>
MODEL.DEFAULT_NORM_TYPE: bn|
|mobilenetv2-2-0_bn_imagenet|-|bn|ImageNet|MODEL.MODEL_NAME: deeplabv3p
<br>
MODEL.DEEPLAB.BACKBONE: mobilenet
<br>
MODEL.DEEPLAB.DEPTH_MULTIPLIER: 2.0
<br>
MODEL.DEFAULT_NORM_TYPE: bn|
|mobilenetv2-1-5_bn_imagenet|-|bn|ImageNet|MODEL.MODEL_NAME: deeplabv3p
<br>
MODEL.DEEPLAB.BACKBONE: mobilenet
<br>
MODEL.DEEPLAB.DEPTH_MULTIPLIER: 1.5
<br>
MODEL.DEFAULT_NORM_TYPE: bn|
|mobilenetv2-1-5_bn_imagenet|-|bn|ImageNet|MODEL.MODEL_NAME: deeplabv3p
<br>
MODEL.DEEPLAB.BACKBONE: mobilenet
<br>
MODEL.DEEPLAB.DEPTH_MULTIPLIER: 1.5
<br>
MODEL.DEFAULT_NORM_TYPE: bn|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录