提交 75596064 编写于 作者: J jiangjiajun

some details modify

上级 db86eefd
...@@ -24,10 +24,13 @@ MyDataset/ # 图像分类数据集根目录 ...@@ -24,10 +24,13 @@ MyDataset/ # 图像分类数据集根目录
## 划分训练集验证集 ## 划分训练集验证集
**为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载图像分类示例数据集](https://bj.bcebos.com/paddlex/datasets/vegetables_cls.tar.gz) **为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载图像分类示例数据集](https://bj.bcebos.com/paddlex/datasets/vegetables_cls.tar.gz)
<!--
> 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。 > 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。
> ``` > ```
> paddlex --split_dataset --from ImageNet --split 0.8 --save_dir ./splited_dataset_dir > paddlex --split_dataset --from ImageNet --split 0.8 --save_dir ./splited_dataset_dir
> ``` > ```
-->
**labels.txt** **labels.txt**
...@@ -60,8 +63,14 @@ val_list列出用于验证时的图片集成,与其对应的类别id,格式 ...@@ -60,8 +63,14 @@ val_list列出用于验证时的图片集成,与其对应的类别id,格式
``` ```
import paddlex as pdx import paddlex as pdx
from paddlex.cls import transforms from paddlex.cls import transforms
train_transforms = transforms.ComposedClsTransforms(mode='train', crop_size=[224, 224]) train_transforms = transforms.Compose([
eval_transforms = transforms.ComposedClsTransforms(mode='eval', crop_size=[224, 224]) transforms.RandomCrop(crop_size=224), transforms.RandomHorizontalFlip(),
transforms.Normalize()
])
eval_transforms = transforms.Compose([
transforms.ResizeByShort(short_size=256),
transforms.CenterCrop(crop_size=224), transforms.Normalize()
])
train_dataset = pdx.datasets.ImageNet( train_dataset = pdx.datasets.ImageNet(
data_dir='./MyDataset', data_dir='./MyDataset',
file_list='./MyDataset/train_list.txt', file_list='./MyDataset/train_list.txt',
......
...@@ -21,10 +21,13 @@ MyDataset/ # 目标检测数据集根目录 ...@@ -21,10 +21,13 @@ MyDataset/ # 目标检测数据集根目录
## 划分训练集验证集 ## 划分训练集验证集
**为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载目标检测示例数据集](https://bj.bcebos.com/paddlex/datasets/insect_det.tar.gz) **为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载目标检测示例数据集](https://bj.bcebos.com/paddlex/datasets/insect_det.tar.gz)
<!--
> 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。 > 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。
> ``` > ```
> paddlex --split_dataset --from PascalVOC --pics ./JPEGImages --annotations ./Annotations --split 0.8 --save_dir ./splited_dataset_dir > paddlex --split_dataset --from PascalVOC --pics ./JPEGImages --annotations ./Annotations --split 0.8 --save_dir ./splited_dataset_dir
> ``` > ```
-->
**labels.txt** **labels.txt**
...@@ -56,8 +59,18 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格 ...@@ -56,8 +59,18 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格
import paddlex as pdx import paddlex as pdx
from paddlex.det import transforms from paddlex.det import transforms
train_transforms = transforms.ComposedYOLOv3Transforms(mode='train', shape=[608, 608]) train_transforms = transforms.Compose([
eval_transforms = transforms.ComposedYOLOv3Transforms(mode='eval', shape=[608, 608]) 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( train_dataset = pdx.datasets.VOCDetection(
data_dir='./MyDataset', data_dir='./MyDataset',
......
...@@ -17,10 +17,13 @@ MyDataset/ # 实例分割数据集根目录 ...@@ -17,10 +17,13 @@ MyDataset/ # 实例分割数据集根目录
## 划分训练集验证集 ## 划分训练集验证集
在PaddleX中,为了区分训练集和验证集,在`MyDataset`同级目录,使用不同的json表示数据的划分,例如`train.json``val.json`[点击下载实例分割示例数据集](https://bj.bcebos.com/paddlex/datasets/garbage_ins_det.tar.gz) 在PaddleX中,为了区分训练集和验证集,在`MyDataset`同级目录,使用不同的json表示数据的划分,例如`train.json``val.json`[点击下载实例分割示例数据集](https://bj.bcebos.com/paddlex/datasets/garbage_ins_det.tar.gz)
<!--
> 注:也可使用PaddleX自带工具,对数据集进行随机划分,在数据按照上述示例组织结构后,使用如下命令,即可快速完成数据集随机划分,其中split指定训练集的比例,剩余比例用于验证集。 > 注:也可使用PaddleX自带工具,对数据集进行随机划分,在数据按照上述示例组织结构后,使用如下命令,即可快速完成数据集随机划分,其中split指定训练集的比例,剩余比例用于验证集。
> ``` > ```
> paddlex --split_dataset --from MSCOCO --pics ./JPEGImages --annotations ./annotations.json --split 0.8 --save_dir ./splited_dataset_dir > paddlex --split_dataset --from MSCOCO --pics ./JPEGImages --annotations ./annotations.json --split 0.8 --save_dir ./splited_dataset_dir
> ``` > ```
-->
MSCOCO数据的标注文件采用json格式,用户可使用Labelme, 精灵标注助手或EasyData等标注工具进行标注,参见[数据标注工具](../annotations.md) MSCOCO数据的标注文件采用json格式,用户可使用Labelme, 精灵标注助手或EasyData等标注工具进行标注,参见[数据标注工具](../annotations.md)
...@@ -30,8 +33,18 @@ MSCOCO数据的标注文件采用json格式,用户可使用Labelme, 精灵标 ...@@ -30,8 +33,18 @@ MSCOCO数据的标注文件采用json格式,用户可使用Labelme, 精灵标
import paddlex as pdx import paddlex as pdx
from paddlex.det import transforms from paddlex.det import transforms
train_transforms = transforms.ComposedRCNNTransforms(mode='train', min_max_size=[800, 1333]) train_transforms = transforms.Compose([
eval_transforms = transforms.ComposedRCNNTransforms(mode='eval', min_max_size=[800, 1333]) 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.dataset.CocoDetection( train_dataset = pdx.dataset.CocoDetection(
data_dir='./MyDataset/JPEGImages', data_dir='./MyDataset/JPEGImages',
......
...@@ -22,10 +22,13 @@ MyDataset/ # 语义分割数据集根目录 ...@@ -22,10 +22,13 @@ MyDataset/ # 语义分割数据集根目录
## 划分训练集验证集 ## 划分训练集验证集
**为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载语义分割示例数据集](https://bj.bcebos.com/paddlex/datasets/optic_disc_seg.tar.gz) **为了用于训练,我们需要在`MyDataset`目录下准备`train_list.txt`, `val_list.txt`和`labels.txt`三个文件**,分别用于表示训练集列表,验证集列表和类别标签列表。[点击下载语义分割示例数据集](https://bj.bcebos.com/paddlex/datasets/optic_disc_seg.tar.gz)
<!--
> 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。 > 注:也可使用PaddleX自带工具,对数据集进行随机划分,**在数据集按照上面格式组织后**,使用如下命令即可快速完成数据集随机划分,其中split指标训练集的比例,剩余的比例用于验证集。
> ``` > ```
> paddlex --split_dataset --from Seg --pics ./JPEGImages --annotations ./Annotations --split 0.8 --save_dir ./splited_dataset_dir > paddlex --split_dataset --from Seg --pics ./JPEGImages --annotations ./Annotations --split 0.8 --save_dir ./splited_dataset_dir
> ``` > ```
-->
**labels.txt** **labels.txt**
...@@ -58,8 +61,18 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格 ...@@ -58,8 +61,18 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格
import paddlex as pdx import paddlex as pdx
from paddlex.seg import transforms from paddlex.seg import transforms
train_transforms = transforms.ComposedSegTransforms(mode='train', train_crop_size=[512, 512]) train_transforms = transforms.Compose([
eval_transforms = transforms.ComposedSegTransforms(mode='eval', train_crop_size=[512, 512]) 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( train_dataset = pdx.datasets.SegDataset(
data_dir='./MyDataset', data_dir='./MyDataset',
...@@ -71,5 +84,4 @@ eval_dataset = pdx.datasets.SegDataset( ...@@ -71,5 +84,4 @@ eval_dataset = pdx.datasets.SegDataset(
file_list='./MyDataset/val_list.txt', file_list='./MyDataset/val_list.txt',
label_list='MyDataset/labels.txt', label_list='MyDataset/labels.txt',
transforms=eval_transforms) transforms=eval_transforms)
``` ```
...@@ -14,8 +14,8 @@ PaddleX中的所有模型训练跟随以下3个步骤,即可快速完成训练 ...@@ -14,8 +14,8 @@ PaddleX中的所有模型训练跟随以下3个步骤,即可快速完成训练
PaddleX的其它用法 PaddleX的其它用法
- <a href="#训练过程使用VisualDL查看训练指标变化">使用VisualDL查看训练过程中的指标变化</a>
- <a href="#加载训练保存的模型预测">加载训练保存的模型进行预测</a> - <a href="#加载训练保存的模型预测">加载训练保存的模型进行预测</a>
- [使用VisualDL查看训练过程中的指标变化]()
<a name="安装PaddleX"></a> <a name="安装PaddleX"></a>
......
import os
from paddlex.cls import transforms from paddlex.cls import transforms
import paddlex as pdx import paddlex as pdx
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册