Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
bb58785a
P
PaddleX
项目概览
PaddlePaddle
/
PaddleX
通知
136
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
43
列表
看板
标记
里程碑
合并请求
5
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
43
Issue
43
列表
看板
标记
里程碑
合并请求
5
合并请求
5
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
bb58785a
编写于
7月 11, 2020
作者:
J
jiangjiajun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify docs
上级
9665d51a
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
252 addition
and
24 deletion
+252
-24
docs/train/instance_segmentation.md
docs/train/instance_segmentation.md
+4
-4
docs/train/object_detection.md
docs/train/object_detection.md
+7
-7
docs/train/prediction.md
docs/train/prediction.md
+17
-0
docs/train/semantic_segmentation.md
docs/train/semantic_segmentation.md
+9
-9
paddlex/cv/models/hrnet.py
paddlex/cv/models/hrnet.py
+1
-1
tutorials/train/instance_segmentation/mask_rcnn_r18_fpn.py
tutorials/train/instance_segmentation/mask_rcnn_r18_fpn.py
+54
-0
tutorials/train/instance_segmentation/mask_rcnn_r50_fpn.py
tutorials/train/instance_segmentation/mask_rcnn_r50_fpn.py
+1
-1
tutorials/train/object_detection/faster_rcnn_r18_fpn.py
tutorials/train/object_detection/faster_rcnn_r18_fpn.py
+51
-0
tutorials/train/object_detection/faster_rcnn_r50_fpn.py
tutorials/train/object_detection/faster_rcnn_r50_fpn.py
+1
-1
tutorials/train/semantic_segmentation/deeplabv3p_mobilenetv2.py
...als/train/semantic_segmentation/deeplabv3p_mobilenetv2.py
+1
-1
tutorials/train/semantic_segmentation/deeplabv3p_mobilenetv2_x0.25.py
...ain/semantic_segmentation/deeplabv3p_mobilenetv2_x0.25.py
+53
-0
tutorials/train/semantic_segmentation/deeplabv3p_xception65.py
...ials/train/semantic_segmentation/deeplabv3p_xception65.py
+53
-0
未找到文件。
docs/train/instance_segmentation.md
浏览文件 @
bb58785a
...
...
@@ -10,9 +10,9 @@ PaddleX目前提供了MaskRCNN实例分割模型结构,多种backbone模型,
| 模型(点击获取代码) | Box MMAP/Seg MMAP | 模型大小 | GPU预测速度 | Arm预测速度 | 备注 |
| :---------------- | :------- | :------- | :--------- | :--------- | :----- |
|
[
MaskRCNN-ResNet50-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_r50_fpn.py
)
|
-/- | 136.0MB | 197.71
5ms | - | 模型精度高,适用于服务端部署 |
|
[
MaskRCNN-ResNet18-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_r18_fpn.py
)
| -/- |
-
| - | - | 模型精度高,适用于服务端部署 |
|
[
MaskRCNN-HRNet-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_hrnet_fpn.py
)
| -/- | 11
5.MB | 81.592ms
| - | 模型精度高,预测速度快,适用于服务端部署 |
|
[
MaskRCNN-ResNet50-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_r50_fpn.py
)
|
36.5%/32.2% | 170.0MB | 160.18
5ms | - | 模型精度高,适用于服务端部署 |
|
[
MaskRCNN-ResNet18-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_r18_fpn.py
)
| -/- |
120.0MB
| - | - | 模型精度高,适用于服务端部署 |
|
[
MaskRCNN-HRNet-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/instance_segmentation/mask_hrnet_fpn.py
)
| -/- | 11
6.MB | -
| - | 模型精度高,预测速度快,适用于服务端部署 |
## 开始训练
...
...
@@ -27,4 +27,4 @@ PaddleX目前提供了MaskRCNN实例分割模型结构,多种backbone模型,
-
【
**重要**
】针对自己的机器环境和数据,调整训练参数?先了解下PaddleX中训练参数作用。
[
——>>传送门
](
../appendix/parameters.md
)
-
【
**有用**
】没有机器资源?使用AIStudio免费的GPU资源在线训练模型。
[
——>>传送门
](
https://aistudio.baidu.com/aistudio/projectdetail/450925
)
-
【
**拓展**
】更多
图像分类
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
-
【
**拓展**
】更多
实例分割
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
docs/train/object_detection.md
浏览文件 @
bb58785a
...
...
@@ -10,12 +10,12 @@ PaddleX目前提供了FasterRCNN和YOLOv3两种检测结构,多种backbone模型
| 模型(点击获取代码) | Box MMAP | 模型大小 | GPU预测速度 | Arm预测速度 | 备注 |
| :---------------- | :------- | :------- | :--------- | :--------- | :----- |
|
[
YOLOv3-MobileNetV1
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/yolov3_mobilenetv1.py
)
| 29.3% | 99.2MB | 15.442ms | - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
YOLOv3-MobileNetV3
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/yolov3_mobilenetv3.py
)
| 31.6% | 100.7MB | 143.322ms | - | 模型小,移动端上预测速度有优势 |
|
[
YOLOv3-DarkNet53
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/yolov3_darknet53.py
)
| 38.9 | 249.2MB | 42.672ms | - | 模型较大,预测速度快,适用于服务端 |
|
[
FasterRCNN-ResNet50-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/faster_r50_fpn.py
)
| 37.2% | 136.0MB | 197.715ms | - | 模型精度高,适用于服务端部署 |
|
[
FasterRCNN-ResNet18-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/faster_r18_fpn.py
)
| - | - | - | - | 模型精度高,适用于服务端部署 |
|
[
FasterRCNN-HRNet-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classifica
tion/faster_hrnet_fpn.py
)
| 36.0% | 115.MB | 81.592ms | - | 模型精度高,预测速度快,适用于服务端部署 |
|
[
YOLOv3-MobileNetV1
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/yolov3_mobilenetv1.py
)
| 29.3% | 99.2MB | 15.442ms | - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
YOLOv3-MobileNetV3
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/yolov3_mobilenetv3.py
)
| 31.6% | 100.7MB | 143.322ms | - | 模型小,移动端上预测速度有优势 |
|
[
YOLOv3-DarkNet53
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/yolov3_darknet53.py
)
| 38.9 | 249.2MB | 42.672ms | - | 模型较大,预测速度快,适用于服务端 |
|
[
FasterRCNN-ResNet50-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/faster_r50_fpn.py
)
| 37.2% | 136.0MB | 197.715ms | - | 模型精度高,适用于服务端部署 |
|
[
FasterRCNN-ResNet18-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/faster_r18_fpn.py
)
| - | - | - | - | 模型精度高,适用于服务端部署 |
|
[
FasterRCNN-HRNet-FPN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
object_detec
tion/faster_hrnet_fpn.py
)
| 36.0% | 115.MB | 81.592ms | - | 模型精度高,预测速度快,适用于服务端部署 |
## 开始训练
...
...
@@ -31,4 +31,4 @@ PaddleX目前提供了FasterRCNN和YOLOv3两种检测结构,多种backbone模型
-
【
**重要**
】针对自己的机器环境和数据,调整训练参数?先了解下PaddleX中训练参数作用。
[
——>>传送门
](
../appendix/parameters.md
)
-
【
**有用**
】没有机器资源?使用AIStudio免费的GPU资源在线训练模型。
[
——>>传送门
](
https://aistudio.baidu.com/aistudio/projectdetail/450925
)
-
【
**拓展**
】更多
图像分类
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
-
【
**拓展**
】更多
目标检测
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
docs/train/prediction.md
浏览文件 @
bb58785a
...
...
@@ -34,7 +34,24 @@ pdx.seg.visualize(test_jpg, result, weight=0.0, save_dir='./')
在上述示例代码中,通过调用
`paddlex.seg.visualize`
可以对语义分割的预测结果进行可视化,可视化的结果保存在
`save_dir`
下。其中
`weight`
参数用于调整预测结果和原图结果融合展现时的权重,0.0时只展示预测结果mask的可视化,1.0时只展示原图可视化。
## 公开数据集训练模型下载
PaddleX提供了部分公开数据集上训练好的模型,用户可以直接下载后参照本文档加载使用。
| 类型 | 模型(点击下载) | 数据集 | 大小 | 指标 | 指标数值 |
|:--- | :---------- | :----------- | :---------- | :---------- | :------------- |
| 图像分类 |
[
MobileNetV3_small_ssld
](
)
| ImageNet | xxMB | Accuracy | |
| 图像分类 |
[
ResNet50_vd_ssld
](
)
| ImageNet | xxMB | Accuracy | |
| 目标检测 |
[
FasterRCNN-ResNet50-FPN
](
)
| MSCOCO | xxMB | Box MAP | |
| 目标检测 |
[
YOLOv3-MobileNetV1
](
)
| MSCOCO | xxMB | Box MAP | |
| 目标检测 |
[
YOLOv3-DarkNet53
](
)
| MSCOCO | xxMB | Box MAP | |
| 实例分割 |
[
MaskRCNN-ResNet50-FPN
](
)
| MSCOCO | xxMB | Box MAP/Seg MAP | |
| 语义分割 |
[
DeepLabv3p-Xception65
](
)
| 人像分割 | xxMB | mIoU | - |
| 语义分割 |
[
HRNet_w18_small
](
)
| 人像分割 | xxMB | mIou | - |
PaddleX的
`load_model`
接口可以满足用户一般的模型调研需求,如若为更高性能的预测部署,可以参考如下文档
-
[
服务端Python部署
](
)
-
[
服务端C++部署
](
)
docs/train/semantic_segmentation.md
浏览文件 @
bb58785a
...
...
@@ -4,18 +4,18 @@
PaddleX目前提供了DeepLabv3p、UNet、HRNet和FastSCNN四种语义分割结构,多种backbone模型,可满足开发者不同场景和性能的需求。
-
**mIOU**
: 模型在C
OCO
数据集上的测试精度
-
**mIOU**
: 模型在C
ityScape
数据集上的测试精度
-
**预测速度**
:单张图片的预测用时(不包括预处理和后处理)
-
"-"表示指标暂未更新
| 模型(点击获取代码) |
Box MMAP
| 模型大小 | GPU预测速度 | Arm预测速度 | 备注 |
| 模型(点击获取代码) |
mIOU
| 模型大小 | GPU预测速度 | Arm预测速度 | 备注 |
| :---------------- | :------- | :------- | :--------- | :--------- | :----- |
|
[
DeepLabv3p-MobileNetV2-x0.25
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/yolov3_mobilenetv1.py
)
| 29.3% | 99.2MB | 15.442ms
| - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
DeepLabv3p-MobileNetV2-x1.0
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/yolov3_mobilenetv1.py
)
| 29.3% | 99.2MB | 15.442ms
| - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
DeepLabv3p-Xception65
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/yolov3_mobilenetv3.py
)
| 31.6% | 100.7MB | 143.322ms | - | 模型小,移动端上预测速度有优势
|
|
[
UNet
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/yolov3_darknet53.py
)
| 38.9 | 249.2MB | 42.672ms | - | 模型较大,预测速度快
,适用于服务端 |
|
[
HRNet
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/faster_r50_fpn.py
)
| 37.2% | 136.0MB | 197.715ms | - |
模型精度高,适用于服务端部署 |
|
[
FastSCNN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
image_classification/faster_r18_fpn.py
)
| - | - | - | - | 模型精度高,适用于服务端部署
|
|
[
DeepLabv3p-MobileNetV2-x0.25
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/deeplabv3p_mobilenetv2_x0.25.py
)
| - | 2.9MB | -
| - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
DeepLabv3p-MobileNetV2-x1.0
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/deeplabv3p_mobilenetv2.py
)
| 69.8% | 11MB | -
| - | 模型小,预测速度快,适用于低性能或移动端设备 |
|
[
DeepLabv3p-Xception65
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/deeplabv3p_xception65.pyy
)
| 79.3% | 158MB | - | - | 模型大,精度高,适用于服务端
|
|
[
UNet
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/unet.py
)
| - | 52MB | - | - | 模型较大,精度高
,适用于服务端 |
|
[
HRNet
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/hrnet.py
)
| 79.4% | 37MB | - | - | 模型较小,
模型精度高,适用于服务端部署 |
|
[
FastSCNN
](
https://github.com/PaddlePaddle/PaddleX/blob/doc/tutorials/train/
semantic_segmentation/fast_scnn.py
)
| - | 4.5MB | - | - | 模型小,预测速度快,适用于低性能或移动端设备
|
## 开始训练
...
...
@@ -31,4 +31,4 @@ PaddleX目前提供了DeepLabv3p、UNet、HRNet和FastSCNN四种语义分割结
-
【
**重要**
】针对自己的机器环境和数据,调整训练参数?先了解下PaddleX中训练参数作用。
[
——>>传送门
](
../appendix/parameters.md
)
-
【
**有用**
】没有机器资源?使用AIStudio免费的GPU资源在线训练模型。
[
——>>传送门
](
https://aistudio.baidu.com/aistudio/projectdetail/450925
)
-
【
**拓展**
】更多
图像分类
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
-
【
**拓展**
】更多
语义分割
模型,查阅
[
PaddleX模型库
](
../appendix/model_zoo.md
)
和
[
API使用文档
](
../apis/models/index.html
)
。
paddlex/cv/models/hrnet.py
浏览文件 @
bb58785a
...
...
@@ -25,7 +25,7 @@ class HRNet(DeepLabv3p):
Args:
num_classes (int): 类别数。
width (int|str): 高分辨率分支中特征层的通道数量。默认值为18。可选择取值为[18, 30, 32, 40, 44, 48, 60, 64, '18_small_v1']。
'18_small_v1'是18的轻量级版本。
'18_small_v1'是18的轻量级版本
,默认18
。
use_bce_loss (bool): 是否使用bce loss作为网络的损失函数,只能用于两类分割。可与dice loss同时使用。默认False。
use_dice_loss (bool): 是否使用dice loss作为网络的损失函数,只能用于两类分割,可与bce loss同时使用。
当use_bce_loss和use_dice_loss都为False时,使用交叉熵损失函数。默认False。
...
...
tutorials/train/instance_segmentation/mask_rcnn_r18_fpn.py
0 → 100644
浏览文件 @
bb58785a
import
os
# 选择使用0号卡
os
.
environ
[
'CUDA_VISIBLE_DEVICES'
]
=
'0'
from
paddlex.det
import
transforms
import
paddlex
as
pdx
# 下载和解压小度熊分拣数据集
xiaoduxiong_dataset
=
'https://bj.bcebos.com/paddlex/datasets/xiaoduxiong_ins_det.tar.gz'
pdx
.
utils
.
download_and_decompress
(
xiaoduxiong_dataset
,
path
=
'./'
)
# 定义训练和验证时的transforms
train_transforms
=
transforms
.
Compose
([
transforms
.
RandomHorizontalFlip
(),
transforms
.
Normalize
(),
transforms
.
ResizeByShort
(
short_size
=
800
,
max_size
=
1333
),
transforms
.
Padding
(
coarsest_stride
=
32
)
])
eval_transforms
=
transforms
.
Compose
([
transforms
.
Normalize
(),
transforms
.
ResizeByShort
(
short_size
=
800
,
max_size
=
1333
),
transforms
.
Padding
(
coarsest_stride
=
32
)
])
# 定义训练和验证所用的数据集
train_dataset
=
pdx
.
datasets
.
CocoDetection
(
data_dir
=
'xiaoduxiong_ins_det/JPEGImages'
,
ann_file
=
'xiaoduxiong_ins_det/train.json'
,
transforms
=
train_transforms
,
shuffle
=
True
)
eval_dataset
=
pdx
.
datasets
.
CocoDetection
(
data_dir
=
'xiaoduxiong_ins_det/JPEGImages'
,
ann_file
=
'xiaoduxiong_ins_det/val.json'
,
transforms
=
eval_transforms
)
# 初始化模型,并进行训练
# 可使用VisualDL查看训练指标
# VisualDL启动方式: visualdl --logdir output/mask_rcnn_r50_fpn/vdl_log --port 8001
# 浏览器打开 https://0.0.0.0:8001即可
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
# num_classes 需要设置为包含背景类的类别数,即: 目标类别数量 + 1
num_classes
=
len
(
train_dataset
.
labels
)
+
1
model
=
pdx
.
det
.
MaskRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet18'
)
model
.
train
(
num_epochs
=
12
,
train_dataset
=
train_dataset
,
train_batch_size
=
1
,
eval_dataset
=
eval_dataset
,
learning_rate
=
0.00125
,
warmup_steps
=
10
,
lr_decay_epochs
=
[
8
,
11
],
save_dir
=
'output/mask_rcnn_r18_fpn'
,
use_vdl
=
True
)
tutorials/train/instance_segmentation/mask_rcnn_r50_fpn.py
浏览文件 @
bb58785a
...
...
@@ -41,7 +41,7 @@ eval_dataset = pdx.datasets.CocoDetection(
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
# num_classes 需要设置为包含背景类的类别数,即: 目标类别数量 + 1
num_classes
=
len
(
train_dataset
.
labels
)
+
1
model
=
pdx
.
det
.
MaskRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet50
_vd
'
)
model
=
pdx
.
det
.
MaskRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet50'
)
model
.
train
(
num_epochs
=
12
,
train_dataset
=
train_dataset
,
...
...
tutorials/train/object_detection/faster_rcnn_r18_fpn.py
0 → 100644
浏览文件 @
bb58785a
import
os
from
paddlex.det
import
transforms
import
paddlex
as
pdx
# 下载和解压昆虫检测数据集
insect_dataset
=
'https://bj.bcebos.com/paddlex/datasets/insect_det.tar.gz'
pdx
.
utils
.
download_and_decompress
(
insect_dataset
,
path
=
'./'
)
# 定义训练和验证时的transforms
train_transforms
=
transforms
.
Compose
([
transforms
.
RandomHorizontalFlip
(),
transforms
.
Normalize
(),
transforms
.
ResizeByShort
(
short_size
=
800
,
max_size
=
1333
),
transforms
.
Padding
(
coarsest_stride
=
32
)
])
eval_transforms
=
transforms
.
Compose
([
transforms
.
Normalize
(),
transforms
.
ResizeByShort
(
short_size
=
800
,
max_size
=
1333
),
transforms
.
Padding
(
coarsest_stride
=
32
),
])
# 定义训练和验证所用的数据集
train_dataset
=
pdx
.
datasets
.
VOCDetection
(
data_dir
=
'insect_det'
,
file_list
=
'insect_det/train_list.txt'
,
label_list
=
'insect_det/labels.txt'
,
transforms
=
train_transforms
,
shuffle
=
True
)
eval_dataset
=
pdx
.
datasets
.
VOCDetection
(
data_dir
=
'insect_det'
,
file_list
=
'insect_det/val_list.txt'
,
label_list
=
'insect_det/labels.txt'
,
transforms
=
eval_transforms
)
# 初始化模型,并进行训练
# 可使用VisualDL查看训练指标
# VisualDL启动方式: visualdl --logdir output/faster_rcnn_r50_fpn/vdl_log --port 8001
# 浏览器打开 https://0.0.0.0:8001即可
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
# num_classes 需要设置为包含背景类的类别数,即: 目标类别数量 + 1
num_classes
=
len
(
train_dataset
.
labels
)
+
1
model
=
pdx
.
det
.
FasterRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet18'
)
model
.
train
(
num_epochs
=
12
,
train_dataset
=
train_dataset
,
train_batch_size
=
2
,
eval_dataset
=
eval_dataset
,
learning_rate
=
0.0025
,
lr_decay_epochs
=
[
8
,
11
],
save_dir
=
'output/faster_rcnn_r50_fpn'
,
use_vdl
=
True
)
tutorials/train/object_detection/faster_rcnn_r50_fpn.py
浏览文件 @
bb58785a
...
...
@@ -39,7 +39,7 @@ eval_dataset = pdx.datasets.VOCDetection(
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
# num_classes 需要设置为包含背景类的类别数,即: 目标类别数量 + 1
num_classes
=
len
(
train_dataset
.
labels
)
+
1
model
=
pdx
.
det
.
FasterRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet50
_vd
'
)
model
=
pdx
.
det
.
FasterRCNN
(
num_classes
=
num_classes
,
backbone
=
'ResNet50'
)
model
.
train
(
num_epochs
=
12
,
train_dataset
=
train_dataset
,
...
...
tutorials/train/semantic_segmentation/deeplabv3p_mobilenetv2.py
浏览文件 @
bb58785a
...
...
@@ -42,7 +42,7 @@ eval_dataset = pdx.datasets.SegDataset(
# 浏览器打开 https://0.0.0.0:8001即可
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
num_classes
=
len
(
train_dataset
.
labels
)
model
=
pdx
.
seg
.
DeepLabv3p
(
num_classes
=
num_classes
)
model
=
pdx
.
seg
.
DeepLabv3p
(
num_classes
=
num_classes
,
backbone
=
'MobileNetV2_x1.0'
)
model
.
train
(
num_epochs
=
40
,
train_dataset
=
train_dataset
,
...
...
tutorials/train/semantic_segmentation/deeplabv3p_mobilenetv2_x0.25.py
0 → 100644
浏览文件 @
bb58785a
import
os
# 选择使用0号卡
os
.
environ
[
'CUDA_VISIBLE_DEVICES'
]
=
'0'
import
paddlex
as
pdx
from
paddlex.seg
import
transforms
# 下载和解压视盘分割数据集
optic_dataset
=
'https://bj.bcebos.com/paddlex/datasets/optic_disc_seg.tar.gz'
pdx
.
utils
.
download_and_decompress
(
optic_dataset
,
path
=
'./'
)
# 定义训练和验证时的transforms
train_transforms
=
transforms
.
Compose
([
transforms
.
RandomHorizontalFlip
(),
transforms
.
ResizeRangeScaling
(),
transforms
.
RandomPaddingCrop
(
crop_size
=
512
),
transforms
.
Normalize
()
])
eval_transforms
=
transforms
.
Compose
([
transforms
.
ResizeByLong
(
long_size
=
512
),
transforms
.
Padding
(
target_size
=
512
),
transforms
.
Normalize
()
])
# 定义训练和验证所用的数据集
train_dataset
=
pdx
.
datasets
.
SegDataset
(
data_dir
=
'optic_disc_seg'
,
file_list
=
'optic_disc_seg/train_list.txt'
,
label_list
=
'optic_disc_seg/labels.txt'
,
transforms
=
train_transforms
,
shuffle
=
True
)
eval_dataset
=
pdx
.
datasets
.
SegDataset
(
data_dir
=
'optic_disc_seg'
,
file_list
=
'optic_disc_seg/val_list.txt'
,
label_list
=
'optic_disc_seg/labels.txt'
,
transforms
=
eval_transforms
)
# 初始化模型,并进行训练
# 可使用VisualDL查看训练指标
# VisualDL启动方式: visualdl --logdir output/deeplab/vdl_log --port 8001
# 浏览器打开 https://0.0.0.0:8001即可
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
num_classes
=
len
(
train_dataset
.
labels
)
model
=
pdx
.
seg
.
DeepLabv3p
(
num_classes
=
num_classes
,
backbone
=
'MobileNetV2_x0.25'
)
model
.
train
(
num_epochs
=
40
,
train_dataset
=
train_dataset
,
train_batch_size
=
4
,
eval_dataset
=
eval_dataset
,
learning_rate
=
0.01
,
save_dir
=
'output/deeplabv3p_mobilenetv2_x0_25'
,
use_vdl
=
True
)
tutorials/train/semantic_segmentation/deeplabv3p_xception65.py
0 → 100644
浏览文件 @
bb58785a
import
os
# 选择使用0号卡
os
.
environ
[
'CUDA_VISIBLE_DEVICES'
]
=
'0'
import
paddlex
as
pdx
from
paddlex.seg
import
transforms
# 下载和解压视盘分割数据集
optic_dataset
=
'https://bj.bcebos.com/paddlex/datasets/optic_disc_seg.tar.gz'
pdx
.
utils
.
download_and_decompress
(
optic_dataset
,
path
=
'./'
)
# 定义训练和验证时的transforms
train_transforms
=
transforms
.
Compose
([
transforms
.
RandomHorizontalFlip
(),
transforms
.
ResizeRangeScaling
(),
transforms
.
RandomPaddingCrop
(
crop_size
=
512
),
transforms
.
Normalize
()
])
eval_transforms
=
transforms
.
Compose
([
transforms
.
ResizeByLong
(
long_size
=
512
),
transforms
.
Padding
(
target_size
=
512
),
transforms
.
Normalize
()
])
# 定义训练和验证所用的数据集
train_dataset
=
pdx
.
datasets
.
SegDataset
(
data_dir
=
'optic_disc_seg'
,
file_list
=
'optic_disc_seg/train_list.txt'
,
label_list
=
'optic_disc_seg/labels.txt'
,
transforms
=
train_transforms
,
shuffle
=
True
)
eval_dataset
=
pdx
.
datasets
.
SegDataset
(
data_dir
=
'optic_disc_seg'
,
file_list
=
'optic_disc_seg/val_list.txt'
,
label_list
=
'optic_disc_seg/labels.txt'
,
transforms
=
eval_transforms
)
# 初始化模型,并进行训练
# 可使用VisualDL查看训练指标
# VisualDL启动方式: visualdl --logdir output/deeplab/vdl_log --port 8001
# 浏览器打开 https://0.0.0.0:8001即可
# 其中0.0.0.0为本机访问,如为远程服务, 改成相应机器IP
num_classes
=
len
(
train_dataset
.
labels
)
model
=
pdx
.
seg
.
DeepLabv3p
(
num_classes
=
num_classes
,
backbone
=
'Xception65'
)
model
.
train
(
num_epochs
=
40
,
train_dataset
=
train_dataset
,
train_batch_size
=
4
,
eval_dataset
=
eval_dataset
,
learning_rate
=
0.01
,
save_dir
=
'output/deeplabv3p_mobilenetv2'
,
use_vdl
=
True
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录