From c9d6a2b8c660e1871660122e9d8ad868bd5254db Mon Sep 17 00:00:00 2001 From: Bobholamovic Date: Sat, 13 Aug 2022 01:10:56 +0800 Subject: [PATCH] Add API docs --- README.md | 6 +- deploy/README.md | 2 +- docs/apis/data.md | 11 + docs/apis/infer.md | 11 + docs/apis/train.md | 215 ++++++++++++++++++ docs/data/rs_data.md | 1 + docs/intro/model_zoo.md | 57 ++--- docs/intro/transforms.md | 12 +- paddlers/tasks/classifier.py | 4 +- paddlers/tasks/object_detector.py | 10 +- paddlers/tasks/segmenter.py | 2 +- tutorials/train/change_detection/bit.py | 4 +- tutorials/train/change_detection/cdnet.py | 4 +- tutorials/train/change_detection/dsamnet.py | 4 +- tutorials/train/change_detection/dsifn.py | 4 +- tutorials/train/change_detection/fc_ef.py | 4 +- .../train/change_detection/fc_siam_conc.py | 4 +- .../train/change_detection/fc_siam_diff.py | 4 +- tutorials/train/change_detection/snunet.py | 4 +- tutorials/train/change_detection/stanet.py | 4 +- tutorials/train/classification/hrnet.py | 4 +- tutorials/train/classification/mobilenetv3.py | 4 +- tutorials/train/classification/resnet50_vd.py | 4 +- .../train/object_detection/faster_rcnn.py | 4 +- tutorials/train/object_detection/ppyolo.py | 4 +- .../train/object_detection/ppyolotiny.py | 4 +- tutorials/train/object_detection/ppyolov2.py | 4 +- tutorials/train/object_detection/yolov3.py | 4 +- .../train/semantic_segmentation/deeplabv3p.py | 4 +- tutorials/train/semantic_segmentation/unet.py | 4 +- 30 files changed, 328 insertions(+), 79 deletions(-) create mode 100644 docs/apis/data.md diff --git a/README.md b/README.md index 3d78e7e..a48abf5 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,13 @@ PaddleRS是遥感科研院所、相关高校共同基于飞桨开发的遥感处 PaddleRS具有以下五大特色: -* **丰富的遥感特色模型**:支持FarSeg、BIT、ChangeStar等数十种遥感专用模型,覆盖图像分割、目标检测、变化检测等领域。 +* **丰富的遥感特色模型**:支持FarSeg、BIT、ChangeStar等众多遥感领域深度学习模型,覆盖图像分割、目标检测、场景分类、变化检测等任务。 * **对遥感专有任务的支持**:支持包括变化检测在内的遥感领域特色任务,提供完善的训练、部署教程以及丰富的实践案例。 * **面向遥感影像大幅面性质的针对性优化**:支持大幅面影像滑窗推理,使用内存延迟载入技术提升性能;支持对大幅面影像地理坐标信息的读写。 -* **顾及遥感特性与地学知识的数据预处理**:针对遥感数据特点,提供对包含任意数量波段的数据以及多时相数据的预处理功能,支持影像配准、辐射校正、波段选择等遥感专有数据预处理方法。 +* **顾及遥感特性与地学知识的数据预处理**:针对遥感数据特点,提供对包含任意数量波段的数据以及多时相数据的预处理功能,支持影像配准、辐射校正、波段选择等遥感数据预处理方法。 * **工业级训练与部署性能**:支持多进程异步I/O、多卡并行训练等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少模型的训练开销,帮助开发者以更低成本、更高效地完成遥感的开发和训练。 @@ -188,7 +188,7 @@ PaddleRS目录树中关键部分如下: * 准备数据集 * [快速了解遥感与遥感数据](./docs/data/rs_data.md) * [遥感数据集整理](./docs/data/dataset.md) - * [智能标注工具EISeg](https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.4/EISeg) + * [智能标注工具EISeg](https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.6/EISeg) * [遥感影像处理工具集](./docs/data/tools.md) * 组件介绍 * [数据预处理/数据增强](./docs/intro/transforms.md) diff --git a/deploy/README.md b/deploy/README.md index d84387e..be9786c 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -56,7 +56,7 @@ res = predictor.predict(("demo_data/A.png", "demo_data/B.png")) cm_1024x1024 = res['label_map'] ``` -请注意,**`predictor.predict()`方法接受的影像列表长度与导出模型时指定的batch size必须一致**(若指定的batch size不为-1),这是因为`Predictor`对象将所有输入影像拼接成一个batch执行预测。您可以在[模型推理API说明](../docs/apis/infer.md)中了解关于`predictor.predict()`方法返回结果格式的更多信息。 +请注意,**`predictor.predict()`方法接受的影像列表长度与导出模型时指定的batch size必须一致**(若指定的batch size不为-1),这是因为`Predictor`对象将所有输入影像拼接成一个batch执行预测。您可以在[模型推理API说明](https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/infer.md)中了解关于`predictor.predict()`方法返回结果格式的更多信息。 ### 2.2 指定预热轮数与重复次数 diff --git a/docs/apis/data.md b/docs/apis/data.md new file mode 100644 index 0000000..75bf0ce --- /dev/null +++ b/docs/apis/data.md @@ -0,0 +1,11 @@ +# 数据相关API说明 + +## 数据集 + +在PaddleRS中,所有数据集均继承自 + +## 数据预处理/数据增强算子 + +## 组合数据处理算子 + +## `decode_image()` diff --git a/docs/apis/infer.md b/docs/apis/infer.md index e69de29..c292dfc 100644 --- a/docs/apis/infer.md +++ b/docs/apis/infer.md @@ -0,0 +1,11 @@ +# PaddleRS推理API说明 + +## 动态图推理API + +### 整图推理 + +### 滑窗推理 + +## 静态图推理API + +### Python API diff --git a/docs/apis/train.md b/docs/apis/train.md index e69de29..5a320a6 100644 --- a/docs/apis/train.md +++ b/docs/apis/train.md @@ -0,0 +1,215 @@ +# PaddleRS训练API说明 + +训练器封装了模型训练、验证、量化以及动态图推理等逻辑,定义在`paddlers/tasks/`目录下的文件中。为了方便用户使用,PaddleRS为所有支持的模型均提供了继承自父类[`BaseModel`](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/base.py)的训练器,并对外提供数个API。变化检测、场景分类、图像分割以及目标检测任务对应的训练器类型分别为`BaseChangeDetector`、`BaseClassifier`、`BaseDetector`和`BaseSegmenter`。本文档介绍训练器的初始化函数以及`train()`、`evaluate()` API。 + +## 初始化训练器 + +所有训练器均支持默认参数构造(即构造对象时不传入任何参数),在这种情况下,构造出的训练器对象适用于三通道RGB数据。 + +### 初始化`BaseChangeDetector`子类对象 + +一般支持设置`num_classes`、`use_mixed_loss`以及`in_channels`参数,分别表示模型输出类别数、是否使用预置的混合损失以及输入通道数。部分子类如`DSIFN`暂不支持对`in_channels`参数的设置。`use_mixed_loss`参将在未来被弃用,因此不建议使用。不同的子类支持与模型相关的输入参数,详情请参考[模型定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/rs_models/cd)和[训练器定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py)。 + +### 初始化`BaseClassifier`子类对象 + +一般支持设置`num_classes`和`use_mixed_loss`参数,分别表示模型输出类别数以及是否使用预置的混合损失。`use_mixed_loss`参将在未来被弃用,因此不建议使用。不同的子类支持与模型相关的输入参数,详情请参考[模型定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/rs_models/clas)和[训练器定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py)。 + +### 初始化`Baseetector`子类对象 + +一般支持设置`num_classes`和`backbone`参数,分别表示模型输出类别数以及所用的骨干网络类型。相比其它任务,目标检测任务的训练器支持设置的初始化参数较多,囊括网络结构、损失函数、后处理策略等方面。不同的子类支持与模型相关的输入参数,详情请参考[模型定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/rs_models/det)和[训练器定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py)。 + +### 初始化`BaseSegmenter`子类对象 + +一般支持设置`input_channel`、`num_classes`以及`use_mixed_loss`参数,分别表示输入通道数、输出类别数以及是否使用预置的混合损失。部分模型如`FarSeg`暂不支持对`input_channel`参数的设置。`use_mixed_loss`参将在未来被弃用,因此不建议使用。不同的子类支持与模型相关的输入参数,详情请参考[模型定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/rs_models/seg)和[训练器定义](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/segmentor.py)。 + +## `train()` + +### `BaseChangeDetector.train()` + +方法定义如下: + +```python +def train(self, + num_epochs, + train_dataset, + train_batch_size=2, + eval_dataset=None, + optimizer=None, + save_interval_epochs=1, + log_interval_steps=2, + save_dir='output', + pretrain_weights=None, + learning_rate=0.01, + lr_decay_power=0.9, + early_stop=False, + early_stop_patience=5, + use_vdl=True, + resume_checkpoint=None): +``` + +其中各参数的含义如下: + +|参数名称|类型|参数说明|默认值| +|-------|----|--------|-----| +|`num_epochs`|`int`|训练的epoch数目。|| +|`train_dataset`|`paddlers.datasets.CDDataset`|训练数据集。|| +|`train_batch_size`|`int`|训练时使用的batch size。|`2`| +|`eval_dataset`|`paddlers.datasets.CDDataset` \| `None`|验证数据集。|`None`| +|`optimizer`|`paddle.optimizer.Optimizer` \| `None`|训练时使用的优化器。若为`None`,则使用默认定义的优化器。|`None`| +|`save_interval_epochs`|`int`|训练时存储模型的间隔epoch数。|`1`| +|`log_interval_steps`|`int`|训练时打印日志的间隔step数(即迭代数)。|`2`| +|`save_dir`|`str`|存储模型的路径。|`'output'`| +|`pretrain_weights`|`str` \| `None`|预训练权重的名称/路径。若为`None`,则不适用预训练权重。|`None`| +|`learning_rate`|`float`|训练时使用的学习率大小,适用于默认优化器。|`0.01`| +|`lr_decay_power`|`float`|学习率衰减系数,适用于默认优化器。|`0.9`| +|`early_stop`|`bool`|训练过程是否启用早停策略。|`False`| +|`early_stop_patience`|`int`|启用早停策略时的`patience`参数(参见[`EarlyStop`](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/utils/utils.py))。|`5`| +|`use_vdl`|`bool`|是否启用VisualDL日志。|`True`| +|`resume_checkpoint`|`str` \| `None`|检查点路径。PaddleRS支持从检查点(包含先前训练过程中存储的模型权重和优化器权重)继续训练,但需注意`resume_checkpoint`与`pretrain_weights`不得同时设置为`None`以外的值。|`None`| + +### `BaseClassifier.train()` + +方法定义如下: + +```python +def train(self, + num_epochs, + train_dataset, + train_batch_size=2, + eval_dataset=None, + optimizer=None, + save_interval_epochs=1, + log_interval_steps=2, + save_dir='output', + pretrain_weights='IMAGENET', + learning_rate=0.1, + lr_decay_power=0.9, + early_stop=False, + early_stop_patience=5, + use_vdl=True, + resume_checkpoint=None): +``` + +其中各参数的含义如下: + +|参数名称|类型|参数说明|默认值| +|-------|----|--------|-----| +|`num_epochs`|`int`|训练的epoch数目。|| +|`train_dataset`|`paddlers.datasets.ClasDataset`|训练数据集。|| +|`train_batch_size`|`int`|训练时使用的batch size。|`2`| +|`eval_dataset`|`paddlers.datasets.ClasDataset` \| `None`|验证数据集。|`None`| +|`optimizer`|`paddle.optimizer.Optimizer` \| `None`|训练时使用的优化器。若为`None`,则使用默认定义的优化器。|`None`| +|`save_interval_epochs`|`int`|训练时存储模型的间隔epoch数。|`1`| +|`log_interval_steps`|`int`|训练时打印日志的间隔step数(即迭代数)。|`2`| +|`save_dir`|`str`|存储模型的路径。|`'output'`| +|`pretrain_weights`|`str` \| `None`|预训练权重的名称/路径。若为`None`,则不适用预训练权重。|`'IMAGENET'`| +|`learning_rate`|`float`|训练时使用的学习率大小,适用于默认优化器。|`0.1`| +|`lr_decay_power`|`float`|学习率衰减系数,适用于默认优化器。|`0.9`| +|`early_stop`|`bool`|训练过程是否启用早停策略。|`False`| +|`early_stop_patience`|`int`|启用早停策略时的`patience`参数(参见[`EarlyStop`](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/utils/utils.py))。|`5`| +|`use_vdl`|`bool`|是否启用VisualDL日志。|`True`| +|`resume_checkpoint`|`str` \| `None`|检查点路径。PaddleRS支持从检查点(包含先前训练过程中存储的模型权重和优化器权重)继续训练,但需注意`resume_checkpoint`与`pretrain_weights`不得同时设置为`None`以外的值。|`None`| + +### `BaseDetector.train()` + +方法定义如下: + +```python +def train(self, + num_epochs, + train_dataset, + train_batch_size=64, + eval_dataset=None, + optimizer=None, + save_interval_epochs=1, + log_interval_steps=10, + save_dir='output', + pretrain_weights='IMAGENET', + learning_rate=.001, + warmup_steps=0, + warmup_start_lr=0.0, + lr_decay_epochs=(216, 243), + lr_decay_gamma=0.1, + metric=None, + use_ema=False, + early_stop=False, + early_stop_patience=5, + use_vdl=True, + resume_checkpoint=None): +``` + +其中各参数的含义如下: + +|参数名称|类型|参数说明|默认值| +|-------|----|--------|-----| +|`num_epochs`|`int`|训练的epoch数目。|| +|`train_dataset`|`paddlers.datasets.COCODetDataset` \| `paddlers.datasets.VOCDetDataset` |训练数据集。|| +|`train_batch_size`|`int`|训练时使用的batch size(多卡训练时,为所有设备合计batch size)。|`64`| +|`eval_dataset`|`paddlers.datasets.COCODetDataset` \| `paddlers.datasets.VOCDetDataset` \| `None`|验证数据集。|`None`| +|`optimizer`|`paddle.optimizer.Optimizer` \| `None`|训练时使用的优化器。若为`None`,则使用默认定义的优化器。|`None`| +|`save_interval_epochs`|`int`|训练时存储模型的间隔epoch数。|`1`| +|`log_interval_steps`|`int`|训练时打印日志的间隔step数(即迭代数)。|`10`| +|`save_dir`|`str`|存储模型的路径。|`'output'`| +|`pretrain_weights`|`str` \| `None`|预训练权重的名称/路径。若为`None`,则不适用预训练权重。|`'IMAGENET'`| +|`learning_rate`|`float`|训练时使用的学习率大小,适用于默认优化器。|`0.001`| +|`warmup_steps`|`int`|默认优化器使用[warm-up策略](https://www.mdpi.com/2079-9292/10/16/2029/htm)的预热轮数。|`0`| +|`warmup_start_lr`|`int`|默认优化器warm-up阶段使用的初始学习率。|`0`| +|`lr_decay_epochs`|`list` \| `tuple`|默认优化器学习率衰减的milestones,以epoch计。即,在第几个epoch执行学习率的衰减。|`(216, 243)`| +|`lr_decay_gamma`|`float`|学习率衰减系数,适用于默认优化器。|`0.1`| +|`metric`|`str` \| `None`|评价指标,可以为`'VOC'`、`COCO`或`None`。若为`Nnoe`,则根据数据集格式自动确定使用的评价指标。|`None`| +|`use_ema`|`bool`|是否启用[指数滑动平均策略](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/models/ppdet/optimizer.py)更新模型权重参数。|`False`| +|`early_stop`|`bool`|训练过程是否启用早停策略。|`False`| +|`early_stop_patience`|`int`|启用早停策略时的`patience`参数(参见[`EarlyStop`](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/utils/utils.py))。|`5`| +|`use_vdl`|`bool`|是否启用VisualDL日志。|`True`| +|`resume_checkpoint`|`str` \| `None`|检查点路径。PaddleRS支持从检查点(包含先前训练过程中存储的模型权重和优化器权重)继续训练,但需注意`resume_checkpoint`与`pretrain_weights`不得同时设置为`None`以外的值。|`None`| + +### `BaseSegmenter.train()` + +```python +def train(self, + num_epochs, + train_dataset, + train_batch_size=2, + eval_dataset=None, + optimizer=None, + save_interval_epochs=1, + log_interval_steps=2, + save_dir='output', + pretrain_weights='CITYSCAPES', + learning_rate=0.01, + lr_decay_power=0.9, + early_stop=False, + early_stop_patience=5, + use_vdl=True, + resume_checkpoint=None): +``` + +其中各参数的含义如下: + +|参数名称|类型|参数说明|默认值| +|-------|----|--------|-----| +|`num_epochs`|`int`|训练的epoch数目。|| +|`train_dataset`|`paddlers.datasets.SegDataset`|训练数据集。|| +|`train_batch_size`|`int`|训练时使用的batch size。|`2`| +|`eval_dataset`|`paddlers.datasets.SegDataset` \| `None`|验证数据集。|`None`| +|`optimizer`|`paddle.optimizer.Optimizer` \| `None`|训练时使用的优化器。若为`None`,则使用默认定义的优化器。|`None`| +|`save_interval_epochs`|`int`|训练时存储模型的间隔epoch数。|`1`| +|`log_interval_steps`|`int`|训练时打印日志的间隔step数(即迭代数)。|`2`| +|`save_dir`|`str`|存储模型的路径。|`'output'`| +|`pretrain_weights`|`str` \| `None`|预训练权重的名称/路径。若为`None`,则不适用预训练权重。|`'CITYSCAPES'`| +|`learning_rate`|`float`|训练时使用的学习率大小,适用于默认优化器。|`0.01`| +|`lr_decay_power`|`float`|学习率衰减系数,适用于默认优化器。|`0.9`| +|`early_stop`|`bool`|训练过程是否启用早停策略。|`False`| +|`early_stop_patience`|`int`|启用早停策略时的`patience`参数(参见[`EarlyStop`](https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/utils/utils.py))。|`5`| +|`use_vdl`|`bool`|是否启用VisualDL日志。|`True`| +|`resume_checkpoint`|`str` \| `None`|检查点路径。PaddleRS支持从检查点(包含先前训练过程中存储的模型权重和优化器权重)继续训练,但需注意`resume_checkpoint`与`pretrain_weights`不得同时设置为`None`以外的值。|`None`| + +## `evaluate()` + +### `BaseChangeDetector.evaluate()` + +### `BaseClassifier.evaluate()` + +### `BaseDetector.evaluate()` + +### `BaseSegmenter.evaluate()` diff --git a/docs/data/rs_data.md b/docs/data/rs_data.md index 1463bcf..c453330 100644 --- a/docs/data/rs_data.md +++ b/docs/data/rs_data.md @@ -11,6 +11,7 @@ 遥感技术具有宏观性、多波段性、周期性和经济性的特点。其中,宏观性指的是遥感平台越高,视角就越广,可以同步探测到的地面范围就越广;多波段性指的是传感器可以从紫外、可见光、近红外到微波等各个不同波段进行探测和记录信息;周期性指的是遥感卫星具有以一定周期重复获取图像的特点,可以在短时间内对同一地区进行重复观测;经济性指的是遥感技术可以作为一种获取大面积地表信息的方式,而相对不需要花费太多人力物力。 遥感技术的特点决定了遥感影像具有如下特性: + 1. 大尺度。一幅遥感影像能够覆盖广大的地表面积。 2. 多光谱。相比自然图像,遥感影像往往具有较多的波段数。 3. 来源丰富。不同传感器、不同卫星可以提供多样的数据源。 diff --git a/docs/intro/model_zoo.md b/docs/intro/model_zoo.md index 75ff472..4ec8f13 100644 --- a/docs/intro/model_zoo.md +++ b/docs/intro/model_zoo.md @@ -2,33 +2,34 @@ PaddleRS的基础模型库来自Paddle-CV系列套件:[PaddleClas](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/docs/zh_CN/algorithm_introduction/ImageNet_models.md)、[PaddleSeg](https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.4/docs/model_zoo_overview_cn.md)、[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.3/README_cn.md#模型库)以及[PaddleGAN](https://github.com/PaddlePaddle/PaddleGAN/blob/develop/README_cn.md#模型库)。除此之外,PaddleRS也包含一系列遥感特色模型,可用于遥感影像分割、变化检测等。 -## PaddleRS支持的模型列表 +## PaddleRS已支持的模型列表 -PaddleRS支持的全部模型如下(标注\*的为遥感专用模型): +PaddleRS目前已支持的全部模型如下(标注\*的为遥感专用模型): -| 任务 | 模型 | -|--------|---------| -| 变化检测 | \*BIT | -| 变化检测 | \*CDNet | -| 变化检测 | \*DSAMNet | -| 变化检测 | \*DSIFN | -| 变化检测 | \*SNUNet | -| 变化检测 | \*STANet | -| 变化检测 | \*FC-EF | -| 变化检测 | \*FC-Siam-conc | -| 变化检测 | \*FC-Siam-diff | -| 场景分类 | HRNet | -| 场景分类 | MobileNetV3 | -| 场景分类 | ResNet50-vd | -| 场景分类 | CondenseNetV2 | -| 图像复原 | DRN | -| 图像复原 | ESRGAN | -| 图像复原 | LESRCNN | -| 目标检测 | Faster R-CNN | -| 目标检测 | PP-YOLO | -| 目标检测 | PP-YOLO Tiny | -| 目标检测 | PP-YOLOv2 | -| 目标检测 | YOLOv3 | -| 图像分割 | DeepLab V3+ | -| 图像分割 | UNet | -| 图像分割 | \*FarSeg | +| 任务 | 模型 | 多波段支持 | +|--------|---------|------| +| 变化检测 | \*BIT | 是 | +| 变化检测 | \*CDNet | 是 | +| 变化检测 | \*DSAMNet | 是 | +| 变化检测 | \*DSIFN | 否 | +| 变化检测 | \*SNUNet | 是 | +| 变化检测 | \*STANet | 是 | +| 变化检测 | \*FC-EF | 是 | +| 变化检测 | \*FC-Siam-conc | 是 | +| 变化检测 | \*FC-Siam-diff | 是 | +| 变化检测 | \*ChangeStar | 否 | +| 场景分类 | HRNet | 是 | +| 场景分类 | MobileNetV3 | 是 | +| 场景分类 | ResNet50-vd | 是 | +| 场景分类 | CondenseNetV2 | 是 | +| 图像复原 | DRN | 否 | +| 图像复原 | ESRGAN | 否 | +| 图像复原 | LESRCNN | 否 | +| 目标检测 | Faster R-CNN | 是 | +| 目标检测 | PP-YOLO | 是 | +| 目标检测 | PP-YOLO Tiny | 是 | +| 目标检测 | PP-YOLOv2 | 是 | +| 目标检测 | YOLOv3 | 是 | +| 图像分割 | DeepLab V3+ | 是 | +| 图像分割 | UNet | 是 | +| 图像分割 | \*FarSeg | 否 | diff --git a/docs/intro/transforms.md b/docs/intro/transforms.md index 4f08b2b..be0d508 100644 --- a/docs/intro/transforms.md +++ b/docs/intro/transforms.md @@ -1,6 +1,12 @@ # 数据预处理/数据增强 -PaddleRS对不同遥感任务需要的数据预处理/数据增强策略进行了有机整合,设计统一的算子,并通过`paddlers.transforms.DecodeImg`对各种格式的遥感影像进行读取。PaddleRS提供的所有数据预处理/数据增强算子如下表: +## 读取各种格式的遥感影像 + +遥感影像的来源多样,数据格式十分繁杂。PaddleRS为不同类型、不同格式的遥感影像提供了统一的读取接口,只需向`paddlers.transforms.decode_image()`函数传入影像路径,即可将其中的数据信息读取至内存。目前,`paddlers.transforms.decode_image()`支持.png、.jpg、.bmp、.npy等常见文件格式,也支持遥感领域常用的GeoTiff、img等影像格式。 + +## PaddleRS已支持的数据预处理/数据增强算子列表 + +PaddleRS对不同遥感任务需要的数据预处理/数据增强策略进行了有机整合,设计统一的算子。考虑到遥感影像的多波段特性,PaddleRS的大部分数据处理算子均能够处理任意数量波段的输入。PaddleRS目前提供的所有数据预处理/数据增强算子如下表: | 数据预处理/数据增强算子名 | 用途 | 任务 | ... | | -------------------- | ------------------------------------------------- | -------- | ---- | @@ -25,3 +31,7 @@ PaddleRS对不同遥感任务需要的数据预处理/数据增强策略进行 | SelectBand | 对输入影像进行波段选择 | 所有任务 | ... | | RandomSwap | 随机交换两个时相的输入影像 | 变化检测 | ... | | ... | ... | ... | ... | + +## 组合算子 + +在实际的模型训练过程中,常常需要组合多种数据预处理与数据增强策略。PaddleRS提供了`paddlers.transforms.Compose`类以便捷地组合多个数据预处理/数据增强算子,使这些算子能够串行执行。关于`paddlers.transforms.Compose`的具体用法请参见[API说明](https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md)。 diff --git a/paddlers/tasks/classifier.py b/paddlers/tasks/classifier.py index 7e6c109..8ba6ea8 100644 --- a/paddlers/tasks/classifier.py +++ b/paddlers/tasks/classifier.py @@ -208,7 +208,7 @@ class BaseClassifier(BaseModel): train_dataset (paddlers.datasets.ClasDataset): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 2. - eval_dataset (paddlers.datasets.ClasDataset, optional): Evaluation dataset. + eval_dataset (paddlers.datasets.ClasDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in @@ -319,7 +319,7 @@ class BaseClassifier(BaseModel): train_dataset (paddlers.datasets.ClasDataset): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 2. - eval_dataset (paddlers.datasets.ClasDataset, optional): Evaluation dataset. + eval_dataset (paddlers.datasets.ClasDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in diff --git a/paddlers/tasks/object_detector.py b/paddlers/tasks/object_detector.py index 4dc8ae5..125efed 100644 --- a/paddlers/tasks/object_detector.py +++ b/paddlers/tasks/object_detector.py @@ -213,7 +213,7 @@ class BaseDetector(BaseModel): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 64. - eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset, optional): + eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for @@ -379,7 +379,7 @@ class BaseDetector(BaseModel): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 64. - eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset, optional): + eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer or None, optional): Optimizer used for @@ -907,7 +907,7 @@ class PicoDet(BaseDetector): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 64. - eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset, optional): + eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for @@ -1400,7 +1400,7 @@ class FasterRCNN(BaseDetector): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 64. - eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset, optional): + eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for @@ -2242,7 +2242,7 @@ class MaskRCNN(BaseDetector): Training dataset. train_batch_size (int, optional): Total batch size among all cards used in training. Defaults to 64. - eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset, optional): + eval_dataset (paddlers.datasets.COCODetDataset|paddlers.datasets.VOCDetDataset|None, optional): Evaluation dataset. If None, the model will not be evaluated during training process. Defaults to None. optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for diff --git a/paddlers/tasks/segmenter.py b/paddlers/tasks/segmenter.py index 900f481..8e0f10e 100644 --- a/paddlers/tasks/segmenter.py +++ b/paddlers/tasks/segmenter.py @@ -247,7 +247,7 @@ class BaseSegmenter(BaseModel): pretrain_weights (str|None, optional): None or name/path of pretrained weights. If None, no pretrained weights will be loaded. Defaults to 'CITYSCAPES'. - learning_rate (float, optional): Learning rate for training. Defaults to .025. + learning_rate (float, optional): Learning rate for training. Defaults to .01. lr_decay_power (float, optional): Learning decay power. Defaults to .9. early_stop (bool, optional): Whether to adopt early stop strategy. Defaults to False. diff --git a/tutorials/train/change_detection/bit.py b/tutorials/train/change_detection/bit.py index c2e92b3..83c96ce 100644 --- a/tutorials/train/change_detection/bit.py +++ b/tutorials/train/change_detection/bit.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建BIT模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.BIT() diff --git a/tutorials/train/change_detection/cdnet.py b/tutorials/train/change_detection/cdnet.py index 53a1fa5..2aa2ad6 100644 --- a/tutorials/train/change_detection/cdnet.py +++ b/tutorials/train/change_detection/cdnet.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建CDNet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.CDNet() diff --git a/tutorials/train/change_detection/dsamnet.py b/tutorials/train/change_detection/dsamnet.py index d5d7884..2a0d3ae 100644 --- a/tutorials/train/change_detection/dsamnet.py +++ b/tutorials/train/change_detection/dsamnet.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建DSAMNet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.DSAMNet() diff --git a/tutorials/train/change_detection/dsifn.py b/tutorials/train/change_detection/dsifn.py index a68fdb5..6a2ed19 100644 --- a/tutorials/train/change_detection/dsifn.py +++ b/tutorials/train/change_detection/dsifn.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建DSIFN模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.DSIFN() diff --git a/tutorials/train/change_detection/fc_ef.py b/tutorials/train/change_detection/fc_ef.py index 9b1663e..4324564 100644 --- a/tutorials/train/change_detection/fc_ef.py +++ b/tutorials/train/change_detection/fc_ef.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建FC-EF模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.FCEarlyFusion() diff --git a/tutorials/train/change_detection/fc_siam_conc.py b/tutorials/train/change_detection/fc_siam_conc.py index ea164a3..d63f5dc 100644 --- a/tutorials/train/change_detection/fc_siam_conc.py +++ b/tutorials/train/change_detection/fc_siam_conc.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建FC-Siam-conc模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.FCSiamConc() diff --git a/tutorials/train/change_detection/fc_siam_diff.py b/tutorials/train/change_detection/fc_siam_diff.py index cd98a3a..55f8681 100644 --- a/tutorials/train/change_detection/fc_siam_diff.py +++ b/tutorials/train/change_detection/fc_siam_diff.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建FC-Siam-diff模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.FCSiamDiff() diff --git a/tutorials/train/change_detection/snunet.py b/tutorials/train/change_detection/snunet.py index 6e36c89..a4b6d65 100644 --- a/tutorials/train/change_detection/snunet.py +++ b/tutorials/train/change_detection/snunet.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建SNUNet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.SNUNet() diff --git a/tutorials/train/change_detection/stanet.py b/tutorials/train/change_detection/stanet.py index c718455..4fe9799 100644 --- a/tutorials/train/change_detection/stanet.py +++ b/tutorials/train/change_detection/stanet.py @@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset( binarize_labels=True) # 使用默认参数构建STANet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py model = pdrs.tasks.cd.STANet() diff --git a/tutorials/train/classification/hrnet.py b/tutorials/train/classification/hrnet.py index 3641976..658dcef 100644 --- a/tutorials/train/classification/hrnet.py +++ b/tutorials/train/classification/hrnet.py @@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset( shuffle=False) # 使用默认参数构建HRNet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py model = pdrs.tasks.clas.HRNet_W18_C(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/classification/mobilenetv3.py b/tutorials/train/classification/mobilenetv3.py index 5a175a0..1d85a06 100644 --- a/tutorials/train/classification/mobilenetv3.py +++ b/tutorials/train/classification/mobilenetv3.py @@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset( shuffle=False) # 使用默认参数构建MobileNetV3模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py model = pdrs.tasks.clas.MobileNetV3_small_x1_0( num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/classification/resnet50_vd.py b/tutorials/train/classification/resnet50_vd.py index 562a194..40891e6 100644 --- a/tutorials/train/classification/resnet50_vd.py +++ b/tutorials/train/classification/resnet50_vd.py @@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset( shuffle=False) # 使用默认参数构建ResNet50-vd模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py model = pdrs.tasks.clas.ResNet50_vd(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/object_detection/faster_rcnn.py b/tutorials/train/object_detection/faster_rcnn.py index ec2d06f..bad300d 100644 --- a/tutorials/train/object_detection/faster_rcnn.py +++ b/tutorials/train/object_detection/faster_rcnn.py @@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset( shuffle=False) # 构建Faster R-CNN模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py model = pdrs.tasks.det.FasterRCNN(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/object_detection/ppyolo.py b/tutorials/train/object_detection/ppyolo.py index 4559067..5fd3f2b 100644 --- a/tutorials/train/object_detection/ppyolo.py +++ b/tutorials/train/object_detection/ppyolo.py @@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset( shuffle=False) # 构建PP-YOLO模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py model = pdrs.tasks.det.PPYOLO(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/object_detection/ppyolotiny.py b/tutorials/train/object_detection/ppyolotiny.py index 677b313..71271cd 100644 --- a/tutorials/train/object_detection/ppyolotiny.py +++ b/tutorials/train/object_detection/ppyolotiny.py @@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset( shuffle=False) # 构建PP-YOLO Tiny模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py model = pdrs.tasks.det.PPYOLOTiny(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/object_detection/ppyolov2.py b/tutorials/train/object_detection/ppyolov2.py index bc36de0..5fb1918 100644 --- a/tutorials/train/object_detection/ppyolov2.py +++ b/tutorials/train/object_detection/ppyolov2.py @@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset( shuffle=False) # 构建PP-YOLOv2模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py model = pdrs.tasks.det.PPYOLOv2(num_classes=len(train_dataset.labels)) diff --git a/tutorials/train/object_detection/yolov3.py b/tutorials/train/object_detection/yolov3.py index b05e030..5c25cd9 100644 --- a/tutorials/train/object_detection/yolov3.py +++ b/tutorials/train/object_detection/yolov3.py @@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset( shuffle=False) # 构建YOLOv3模型,使用DarkNet53作为backbone -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py model = pdrs.tasks.det.YOLOv3( num_classes=len(train_dataset.labels), backbone='DarkNet53') diff --git a/tutorials/train/semantic_segmentation/deeplabv3p.py b/tutorials/train/semantic_segmentation/deeplabv3p.py index 3868669..b3dbd50 100644 --- a/tutorials/train/semantic_segmentation/deeplabv3p.py +++ b/tutorials/train/semantic_segmentation/deeplabv3p.py @@ -26,7 +26,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -68,7 +68,7 @@ eval_dataset = pdrs.datasets.SegDataset( shuffle=False) # 构建DeepLab V3+模型,使用ResNet-50作为backbone -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/segmenter.py model = pdrs.tasks.seg.DeepLabV3P( input_channel=NUM_BANDS, diff --git a/tutorials/train/semantic_segmentation/unet.py b/tutorials/train/semantic_segmentation/unet.py index 94fd4a1..e1e8b82 100644 --- a/tutorials/train/semantic_segmentation/unet.py +++ b/tutorials/train/semantic_segmentation/unet.py @@ -26,7 +26,7 @@ pdrs.utils.download_and_decompress( # 定义训练和验证时使用的数据变换(数据增强、预处理等) # 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 -# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/transforms.md +# API说明:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md train_transforms = T.Compose([ # 读取影像 T.DecodeImg(), @@ -68,7 +68,7 @@ eval_dataset = pdrs.datasets.SegDataset( shuffle=False) # 构建UNet模型 -# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/model_zoo.md +# 目前已支持的模型请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/model_zoo.md # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/segmenter.py model = pdrs.tasks.seg.UNet( input_channel=NUM_BANDS, num_classes=len(train_dataset.labels))