Add API docs

own
Bobholamovic 3 years ago
parent 9230b242af
commit c9d6a2b8c6
  1. 6
      README.md
  2. 2
      deploy/README.md
  3. 11
      docs/apis/data.md
  4. 11
      docs/apis/infer.md
  5. 215
      docs/apis/train.md
  6. 1
      docs/data/rs_data.md
  7. 57
      docs/intro/model_zoo.md
  8. 12
      docs/intro/transforms.md
  9. 4
      paddlers/tasks/classifier.py
  10. 10
      paddlers/tasks/object_detector.py
  11. 2
      paddlers/tasks/segmenter.py
  12. 4
      tutorials/train/change_detection/bit.py
  13. 4
      tutorials/train/change_detection/cdnet.py
  14. 4
      tutorials/train/change_detection/dsamnet.py
  15. 4
      tutorials/train/change_detection/dsifn.py
  16. 4
      tutorials/train/change_detection/fc_ef.py
  17. 4
      tutorials/train/change_detection/fc_siam_conc.py
  18. 4
      tutorials/train/change_detection/fc_siam_diff.py
  19. 4
      tutorials/train/change_detection/snunet.py
  20. 4
      tutorials/train/change_detection/stanet.py
  21. 4
      tutorials/train/classification/hrnet.py
  22. 4
      tutorials/train/classification/mobilenetv3.py
  23. 4
      tutorials/train/classification/resnet50_vd.py
  24. 4
      tutorials/train/object_detection/faster_rcnn.py
  25. 4
      tutorials/train/object_detection/ppyolo.py
  26. 4
      tutorials/train/object_detection/ppyolotiny.py
  27. 4
      tutorials/train/object_detection/ppyolov2.py
  28. 4
      tutorials/train/object_detection/yolov3.py
  29. 4
      tutorials/train/semantic_segmentation/deeplabv3p.py
  30. 4
      tutorials/train/semantic_segmentation/unet.py

@ -29,13 +29,13 @@ PaddleRS是遥感科研院所、相关高校共同基于飞桨开发的遥感处
PaddleRS具有以下五大特色: PaddleRS具有以下五大特色:
* <img src="./docs/images/f1.png" width="20"/> **丰富的遥感特色模型**:支持FarSeg、BIT、ChangeStar等数十种遥感专用模型,覆盖图像分割、目标检测、变化检测等领域 * <img src="./docs/images/f1.png" width="20"/> **丰富的遥感特色模型**:支持FarSeg、BIT、ChangeStar等众多遥感领域深度学习模型,覆盖图像分割、目标检测、场景分类、变化检测等任务
* <img src="./docs/images/f1.png" width="20"/> **对遥感专有任务的支持**:支持包括变化检测在内的遥感领域特色任务,提供完善的训练、部署教程以及丰富的实践案例。 * <img src="./docs/images/f1.png" width="20"/> **对遥感专有任务的支持**:支持包括变化检测在内的遥感领域特色任务,提供完善的训练、部署教程以及丰富的实践案例。
* <img src="./docs/images/f2.png" width="20"/> **面向遥感影像大幅面性质的针对性优化**:支持大幅面影像滑窗推理,使用内存延迟载入技术提升性能;支持对大幅面影像地理坐标信息的读写。 * <img src="./docs/images/f2.png" width="20"/> **面向遥感影像大幅面性质的针对性优化**:支持大幅面影像滑窗推理,使用内存延迟载入技术提升性能;支持对大幅面影像地理坐标信息的读写。
* <img src="./docs/images/f2.png" width="20"/> **顾及遥感特性与地学知识的数据预处理**:针对遥感数据特点,提供对包含任意数量波段的数据以及多时相数据的预处理功能,支持影像配准、辐射校正、波段选择等遥感专有数据预处理方法。 * <img src="./docs/images/f2.png" width="20"/> **顾及遥感特性与地学知识的数据预处理**:针对遥感数据特点,提供对包含任意数量波段的数据以及多时相数据的预处理功能,支持影像配准、辐射校正、波段选择等遥感数据预处理方法。
* <img src="./docs/images/f3.png" width="20"/> **工业级训练与部署性能**:支持多进程异步I/O、多卡并行训练等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少模型的训练开销,帮助开发者以更低成本、更高效地完成遥感的开发和训练。 * <img src="./docs/images/f3.png" width="20"/> **工业级训练与部署性能**:支持多进程异步I/O、多卡并行训练等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少模型的训练开销,帮助开发者以更低成本、更高效地完成遥感的开发和训练。
@ -188,7 +188,7 @@ PaddleRS目录树中关键部分如下:
* 准备数据集 * 准备数据集
* [快速了解遥感与遥感数据](./docs/data/rs_data.md) * [快速了解遥感与遥感数据](./docs/data/rs_data.md)
* [遥感数据集整理](./docs/data/dataset.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/data/tools.md)
* 组件介绍 * 组件介绍
* [数据预处理/数据增强](./docs/intro/transforms.md) * [数据预处理/数据增强](./docs/intro/transforms.md)

@ -56,7 +56,7 @@ res = predictor.predict(("demo_data/A.png", "demo_data/B.png"))
cm_1024x1024 = res['label_map'] 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 指定预热轮数与重复次数 ### 2.2 指定预热轮数与重复次数

@ -0,0 +1,11 @@
# 数据相关API说明
## 数据集
在PaddleRS中,所有数据集均继承自
## 数据预处理/数据增强算子
## 组合数据处理算子
## `decode_image()`

@ -0,0 +1,11 @@
# PaddleRS推理API说明
## 动态图推理API
### 整图推理
### 滑窗推理
## 静态图推理API
### Python API

@ -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()`

@ -11,6 +11,7 @@
遥感技术具有宏观性、多波段性、周期性和经济性的特点。其中,宏观性指的是遥感平台越高,视角就越广,可以同步探测到的地面范围就越广;多波段性指的是传感器可以从紫外、可见光、近红外到微波等各个不同波段进行探测和记录信息;周期性指的是遥感卫星具有以一定周期重复获取图像的特点,可以在短时间内对同一地区进行重复观测;经济性指的是遥感技术可以作为一种获取大面积地表信息的方式,而相对不需要花费太多人力物力。 遥感技术具有宏观性、多波段性、周期性和经济性的特点。其中,宏观性指的是遥感平台越高,视角就越广,可以同步探测到的地面范围就越广;多波段性指的是传感器可以从紫外、可见光、近红外到微波等各个不同波段进行探测和记录信息;周期性指的是遥感卫星具有以一定周期重复获取图像的特点,可以在短时间内对同一地区进行重复观测;经济性指的是遥感技术可以作为一种获取大面积地表信息的方式,而相对不需要花费太多人力物力。
遥感技术的特点决定了遥感影像具有如下特性: 遥感技术的特点决定了遥感影像具有如下特性:
1. 大尺度。一幅遥感影像能够覆盖广大的地表面积。 1. 大尺度。一幅遥感影像能够覆盖广大的地表面积。
2. 多光谱。相比自然图像,遥感影像往往具有较多的波段数。 2. 多光谱。相比自然图像,遥感影像往往具有较多的波段数。
3. 来源丰富。不同传感器、不同卫星可以提供多样的数据源。 3. 来源丰富。不同传感器、不同卫星可以提供多样的数据源。

@ -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的基础模型库来自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 | | 变化检测 | \*BIT | 是 |
| 变化检测 | \*CDNet | | 变化检测 | \*CDNet | 是 |
| 变化检测 | \*DSAMNet | | 变化检测 | \*DSAMNet | 是 |
| 变化检测 | \*DSIFN | | 变化检测 | \*DSIFN | 否 |
| 变化检测 | \*SNUNet | | 变化检测 | \*SNUNet | 是 |
| 变化检测 | \*STANet | | 变化检测 | \*STANet | 是 |
| 变化检测 | \*FC-EF | | 变化检测 | \*FC-EF | 是 |
| 变化检测 | \*FC-Siam-conc | | 变化检测 | \*FC-Siam-conc | 是 |
| 变化检测 | \*FC-Siam-diff | | 变化检测 | \*FC-Siam-diff | 是 |
| 场景分类 | HRNet | | 变化检测 | \*ChangeStar | 否 |
| 场景分类 | MobileNetV3 | | 场景分类 | HRNet | 是 |
| 场景分类 | ResNet50-vd | | 场景分类 | MobileNetV3 | 是 |
| 场景分类 | CondenseNetV2 | | 场景分类 | ResNet50-vd | 是 |
| 图像复原 | DRN | | 场景分类 | CondenseNetV2 | 是 |
| 图像复原 | ESRGAN | | 图像复原 | DRN | 否 |
| 图像复原 | LESRCNN | | 图像复原 | ESRGAN | 否 |
| 目标检测 | Faster R-CNN | | 图像复原 | LESRCNN | 否 |
| 目标检测 | PP-YOLO | | 目标检测 | Faster R-CNN | 是 |
| 目标检测 | PP-YOLO Tiny | | 目标检测 | PP-YOLO | 是 |
| 目标检测 | PP-YOLOv2 | | 目标检测 | PP-YOLO Tiny | 是 |
| 目标检测 | YOLOv3 | | 目标检测 | PP-YOLOv2 | 是 |
| 图像分割 | DeepLab V3+ | | 目标检测 | YOLOv3 | 是 |
| 图像分割 | UNet | | 图像分割 | DeepLab V3+ | 是 |
| 图像分割 | \*FarSeg | | 图像分割 | UNet | 是 |
| 图像分割 | \*FarSeg | 否 |

@ -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 | 对输入影像进行波段选择 | 所有任务 | ... | | SelectBand | 对输入影像进行波段选择 | 所有任务 | ... |
| RandomSwap | 随机交换两个时相的输入影像 | 变化检测 | ... | | RandomSwap | 随机交换两个时相的输入影像 | 变化检测 | ... |
| ... | ... | ... | ... | | ... | ... | ... | ... |
## 组合算子
在实际的模型训练过程中,常常需要组合多种数据预处理与数据增强策略。PaddleRS提供了`paddlers.transforms.Compose`类以便捷地组合多个数据预处理/数据增强算子,使这些算子能够串行执行。关于`paddlers.transforms.Compose`的具体用法请参见[API说明](https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/apis/data.md)。

@ -208,7 +208,7 @@ class BaseClassifier(BaseModel):
train_dataset (paddlers.datasets.ClasDataset): Training dataset. train_dataset (paddlers.datasets.ClasDataset): Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 2. 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. If None, the model will not be evaluated during training process.
Defaults to None. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in
@ -319,7 +319,7 @@ class BaseClassifier(BaseModel):
train_dataset (paddlers.datasets.ClasDataset): Training dataset. train_dataset (paddlers.datasets.ClasDataset): Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 2. 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. If None, the model will not be evaluated during training process.
Defaults to None. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used in

@ -213,7 +213,7 @@ class BaseDetector(BaseModel):
Training dataset. Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 64. 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 Evaluation dataset. If None, the model will not be evaluated during training
process. Defaults to None. process. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for
@ -379,7 +379,7 @@ class BaseDetector(BaseModel):
Training dataset. Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 64. 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 Evaluation dataset. If None, the model will not be evaluated during training
process. Defaults to None. process. Defaults to None.
optimizer (paddle.optimizer.Optimizer or None, optional): Optimizer used for optimizer (paddle.optimizer.Optimizer or None, optional): Optimizer used for
@ -907,7 +907,7 @@ class PicoDet(BaseDetector):
Training dataset. Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 64. 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 Evaluation dataset. If None, the model will not be evaluated during training
process. Defaults to None. process. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for
@ -1400,7 +1400,7 @@ class FasterRCNN(BaseDetector):
Training dataset. Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 64. 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 Evaluation dataset. If None, the model will not be evaluated during training
process. Defaults to None. process. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for
@ -2242,7 +2242,7 @@ class MaskRCNN(BaseDetector):
Training dataset. Training dataset.
train_batch_size (int, optional): Total batch size among all cards used in train_batch_size (int, optional): Total batch size among all cards used in
training. Defaults to 64. 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 Evaluation dataset. If None, the model will not be evaluated during training
process. Defaults to None. process. Defaults to None.
optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for optimizer (paddle.optimizer.Optimizer|None, optional): Optimizer used for

@ -247,7 +247,7 @@ class BaseSegmenter(BaseModel):
pretrain_weights (str|None, optional): None or name/path of pretrained pretrain_weights (str|None, optional): None or name/path of pretrained
weights. If None, no pretrained weights will be loaded. weights. If None, no pretrained weights will be loaded.
Defaults to 'CITYSCAPES'. 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. lr_decay_power (float, optional): Learning decay power. Defaults to .9.
early_stop (bool, optional): Whether to adopt early stop strategy. Defaults early_stop (bool, optional): Whether to adopt early stop strategy. Defaults
to False. to False.

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建BIT模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.BIT() model = pdrs.tasks.cd.BIT()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建CDNet模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.CDNet() model = pdrs.tasks.cd.CDNet()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建DSAMNet模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.DSAMNet() model = pdrs.tasks.cd.DSAMNet()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建DSIFN模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.DSIFN() model = pdrs.tasks.cd.DSIFN()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建FC-EF模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.FCEarlyFusion() model = pdrs.tasks.cd.FCEarlyFusion()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建FC-Siam-conc模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.FCSiamConc() model = pdrs.tasks.cd.FCSiamConc()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建FC-Siam-diff模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.FCSiamDiff() model = pdrs.tasks.cd.FCSiamDiff()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建SNUNet模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.SNUNet() model = pdrs.tasks.cd.SNUNet()

@ -21,7 +21,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -72,7 +72,7 @@ eval_dataset = pdrs.datasets.CDDataset(
binarize_labels=True) binarize_labels=True)
# 使用默认参数构建STANet模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/change_detector.py
model = pdrs.tasks.cd.STANet() model = pdrs.tasks.cd.STANet()

@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset(
shuffle=False) shuffle=False)
# 使用默认参数构建HRNet模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py
model = pdrs.tasks.clas.HRNet_W18_C(num_classes=len(train_dataset.labels)) model = pdrs.tasks.clas.HRNet_W18_C(num_classes=len(train_dataset.labels))

@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset(
shuffle=False) shuffle=False)
# 使用默认参数构建MobileNetV3模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py
model = pdrs.tasks.clas.MobileNetV3_small_x1_0( model = pdrs.tasks.clas.MobileNetV3_small_x1_0(
num_classes=len(train_dataset.labels)) num_classes=len(train_dataset.labels))

@ -23,7 +23,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -66,7 +66,7 @@ eval_dataset = pdrs.datasets.ClasDataset(
shuffle=False) shuffle=False)
# 使用默认参数构建ResNet50-vd模型 # 使用默认参数构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/classifier.py
model = pdrs.tasks.clas.ResNet50_vd(num_classes=len(train_dataset.labels)) model = pdrs.tasks.clas.ResNet50_vd(num_classes=len(train_dataset.labels))

@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset(
shuffle=False) shuffle=False)
# 构建Faster R-CNN模型 # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py
model = pdrs.tasks.det.FasterRCNN(num_classes=len(train_dataset.labels)) model = pdrs.tasks.det.FasterRCNN(num_classes=len(train_dataset.labels))

@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset(
shuffle=False) shuffle=False)
# 构建PP-YOLO模型 # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py
model = pdrs.tasks.det.PPYOLO(num_classes=len(train_dataset.labels)) model = pdrs.tasks.det.PPYOLO(num_classes=len(train_dataset.labels))

@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset(
shuffle=False) shuffle=False)
# 构建PP-YOLO Tiny模型 # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py
model = pdrs.tasks.det.PPYOLOTiny(num_classes=len(train_dataset.labels)) model = pdrs.tasks.det.PPYOLOTiny(num_classes=len(train_dataset.labels))

@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset(
shuffle=False) shuffle=False)
# 构建PP-YOLOv2模型 # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py
model = pdrs.tasks.det.PPYOLOv2(num_classes=len(train_dataset.labels)) model = pdrs.tasks.det.PPYOLOv2(num_classes=len(train_dataset.labels))

@ -25,7 +25,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -69,7 +69,7 @@ eval_dataset = pdrs.datasets.VOCDetDataset(
shuffle=False) shuffle=False)
# 构建YOLOv3模型,使用DarkNet53作为backbone # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/object_detector.py
model = pdrs.tasks.det.YOLOv3( model = pdrs.tasks.det.YOLOv3(
num_classes=len(train_dataset.labels), backbone='DarkNet53') num_classes=len(train_dataset.labels), backbone='DarkNet53')

@ -26,7 +26,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -68,7 +68,7 @@ eval_dataset = pdrs.datasets.SegDataset(
shuffle=False) shuffle=False)
# 构建DeepLab V3+模型,使用ResNet-50作为backbone # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/segmenter.py
model = pdrs.tasks.seg.DeepLabV3P( model = pdrs.tasks.seg.DeepLabV3P(
input_channel=NUM_BANDS, input_channel=NUM_BANDS,

@ -26,7 +26,7 @@ pdrs.utils.download_and_decompress(
# 定义训练和验证时使用的数据变换(数据增强、预处理等) # 定义训练和验证时使用的数据变换(数据增强、预处理等)
# 使用Compose组合多种变换方式。Compose中包含的变换将按顺序串行执行 # 使用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([ train_transforms = T.Compose([
# 读取影像 # 读取影像
T.DecodeImg(), T.DecodeImg(),
@ -68,7 +68,7 @@ eval_dataset = pdrs.datasets.SegDataset(
shuffle=False) shuffle=False)
# 构建UNet模型 # 构建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 # 模型输入参数请参考:https://github.com/PaddlePaddle/PaddleRS/blob/develop/paddlers/tasks/segmenter.py
model = pdrs.tasks.seg.UNet( model = pdrs.tasks.seg.UNet(
input_channel=NUM_BANDS, num_classes=len(train_dataset.labels)) input_channel=NUM_BANDS, num_classes=len(train_dataset.labels))

Loading…
Cancel
Save