Просмотр исходного кода

Merge pull request #2 from PaddlePaddle/develop

0
SunAhong1993 5 лет назад
Родитель
Сommit
2484756a76
4 измененных файлов с 41 добавлено и 18 удалено
  1. 27 13
      README.md
  2. 2 2
      docs/apis/models.md
  3. 6 2
      paddlex/cv/models/faster_rcnn.py
  4. 6 1
      paddlex/cv/models/mask_rcnn.py

+ 27 - 13
README.md

@@ -1,33 +1,45 @@
 <img src="./paddlex.png" width = "300" height = "47" alt="PaddleX" align=center />
 
-[![Build Status](https://travis-ci.org/PaddlePaddle/PaddleX.svg?branch=release/v1.6)](https://travis-ci.org/PaddlePaddle/PaddleX)
 [![License](https://img.shields.io/badge/license-Apache%202-red.svg)](LICENSE)
 [![Version](https://img.shields.io/github/release/PaddlePaddle/PaddleX.svg)](https://github.com/PaddlePaddle/PaddleX/releases)
 ![python version](https://img.shields.io/badge/python-3.6+-orange.svg)
 ![support os](https://img.shields.io/badge/os-linux%2C%20win%2C%20mac-yellow.svg)
 
-PaddleX是基于飞桨技术生态的全流程深度学习模型开发工具。具备易集成,易使用,全流程等特点。PaddleX作为深度学习开发工具,不仅提供了开源的内核代码,可供用户灵活使用或集成,同时也提供了配套的前端可视化客户端套件,让用户以可视化的方式进行模型开发,免去代码开发过程,访问[PaddleX官网](https://www.paddlepaddle.org.cn/paddle/paddlex)获取更多相关细节。
-## 安装
-### pip安装(使用Python代码进行模型训练)
-> **依赖**
-> - cython
-> - pycocotools
-> - python3
+PaddleX是基于飞桨开发套件和工具组件的深度学习全流程开发工具。具备易集成,易使用,全流程等特点。PaddleX作为深度学习开发工具,不仅提供了开源的内核代码,可供用户灵活使用或集成,同时也提供了配套的前端可视化客户端套件,让用户以可视化的方式进行模型开发,免去代码开发过程。
+
+访问[PaddleX官网](https://www.paddlepaddle.org.cn/paddle/paddlex)获取更多细节。
+
+## 快速安装
+
+PaddleX提供两种使用模式,满足不同的场景和用户需求:
+- **开发模式:** pip安装后,开发者可通过Python API调用方式更灵活地完成模型的训练与软件集成。
+- **可视化模式:** 通过绿色安装的跨平台软件包,用户即可开箱即用,以可视化方式快速体验飞桨深度学习的全流程。
+
+### 开发模式
+
+**前置依赖**
+* paddlepaddle >= 1.7.0
+* python >= 3.5
+* cython
+* pycocotools
+
 ```
 pip install paddlex -i https://mirror.baidu.com/pypi/simple
 ```
 
-### PaddleX模型训练客户端安装(使用可视化界面进行模型训练)
-> 进入官网[下载使用](https://www.paddlepaddle.org.cn/paddle/paddleX)
+### 可视化模式
+
+进入PaddleX官网[下载使用](https://www.paddlepaddle.org.cn/paddle/paddlex),申请下载绿色安装包,开箱即用。
 
 ## 文档
+
 推荐访问[PaddleX在线使用文档](https://paddlex.readthedocs.io/zh_CN/latest/index.html),快速查阅读使用教程和API文档说明。
 
 - [10分钟快速上手PaddleX模型训练](docs/quick_start.md)
 - [PaddleX使用教程](docs/tutorials)
 - [PaddleX模型库](docs/model_zoo.md)
-- [导出模型部署](docs/deploy.md)
-- [使用PaddleX客户端进行模型训练](docs/client_use.md)
+- [模型多端部署](docs/deploy.md)
+- [PaddleX可视化模式进行模型训练](docs/client_use.md)
 
 
 ## 反馈
@@ -39,10 +51,12 @@ pip install paddlex -i https://mirror.baidu.com/pypi/simple
 
 ## 飞桨技术生态
 
+PaddleX全流程开发工具依赖以下飞桨开发套件与工具组件
+
 - [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection)
 - [PaddleSeg](https://github.com/PaddlePaddle/PaddleSeg)
 - [PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
 - [PaddleSlim](https://github.com/PaddlePaddle/PaddleSlim)
 - [PaddleHub](https://github.com/PaddlePaddle/PaddleHub)
-- [PaddleLite](https://github.com/PaddlePaddle/Paddle-Lite)
+- [Paddle Lite](https://github.com/PaddlePaddle/Paddle-Lite)
 - [VisualDL](https://github.com/PaddlePaddle/VisualDL)

+ 2 - 2
docs/apis/models.md

@@ -228,7 +228,7 @@ paddlex.det.FasterRCNN(num_classes=81, backbone='ResNet50', with_fpn=True, aspec
 > **参数:**
 >
 > > - **eval_dataset** (paddlex.datasets): 验证数据读取器。
-> > - **batch_size** (int): 验证数据批大小。默认为1。
+> > - **batch_size** (int): 验证数据批大小。默认为1。当前只支持设置为1。
 > > - **epoch_id** (int): 当前评估模型所在的训练轮数。
 > > - **metric** (bool): 训练过程中评估的方式,取值范围为['COCO', 'VOC']。默认为None,根据用户传入的Dataset自动选择,如为VOCDetection,则`metric`为'VOC'; 如为COCODetection,则`metric`为'COCO'。
 > > - **return_details** (bool): 是否返回详细信息。默认值为False。
@@ -309,7 +309,7 @@ paddlex.det.MaskRCNN(num_classes=81, backbone='ResNet50', with_fpn=True, aspect_
 > **参数:**
 >
 > > - **eval_dataset** (paddlex.datasets): 验证数据读取器。
-> > - **batch_size** (int): 验证数据批大小。默认为1。
+> > - **batch_size** (int): 验证数据批大小。默认为1。当前只支持设置为1。
 > > - **epoch_id** (int): 当前评估模型所在的训练轮数。
 > > - **metric** (bool): 训练过程中评估的方式,取值范围为['COCO', 'VOC']。默认为None,根据用户传入的Dataset自动选择,如为VOCDetection,则`metric`为'VOC'; 如为COCODetection,则`metric`为'COCO'。
 > > - **return_details** (bool): 是否返回详细信息。默认值为False。

+ 6 - 2
paddlex/cv/models/faster_rcnn.py

@@ -259,7 +259,7 @@ class FasterRCNN(BaseAPI):
 
         Args:
             eval_dataset (paddlex.datasets): 验证数据读取器。
-            batch_size (int): 验证数据批大小。默认为1。
+            batch_size (int): 验证数据批大小。默认为1。当前只支持设置为1。
             epoch_id (int): 当前评估模型所在的训练轮数。
             metric (bool): 训练过程中评估的方式,取值范围为['COCO', 'VOC']。默认为None,
                 根据用户传入的Dataset自动选择,如为VOCDetection,则metric为'VOC';
@@ -288,7 +288,11 @@ class FasterRCNN(BaseAPI):
                         "eval_dataset should be datasets.VOCDetection or datasets.COCODetection."
                     )
         assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'"
-
+        if batch_size > 1:
+            batch_size = 1
+            logging.warning(
+                "Faster RCNN supports batch_size=1 only during evaluating, so batch_size is forced to be set to 1."
+            )
         dataset = eval_dataset.generator(
             batch_size=batch_size, drop_last=False)
 

+ 6 - 1
paddlex/cv/models/mask_rcnn.py

@@ -225,7 +225,7 @@ class MaskRCNN(FasterRCNN):
 
         Args:
             eval_dataset (paddlex.datasets): 验证数据读取器。
-            batch_size (int): 验证数据批大小。默认为1。
+            batch_size (int): 验证数据批大小。默认为1。当前只支持设置为1。
             epoch_id (int): 当前评估模型所在的训练轮数。
             metric (bool): 训练过程中评估的方式,取值范围为['COCO', 'VOC']。默认为None,
                 根据用户传入的Dataset自动选择,如为VOCDetection,则metric为'VOC';
@@ -253,6 +253,11 @@ class MaskRCNN(FasterRCNN):
                     raise Exception(
                         "eval_dataset should be datasets.COCODetection.")
         assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'"
+        if batch_size > 1:
+            batch_size = 1
+            logging.warning(
+                "Mask RCNN supports batch_size=1 only during evaluating, so batch_size is forced to be set to 1."
+            )
         data_generator = eval_dataset.generator(
             batch_size=batch_size, drop_last=False)