瀏覽代碼

refine doc

will-jl944 4 年之前
父節點
當前提交
a131693ff8

+ 2 - 2
docs/apis/deploy.md

@@ -6,7 +6,7 @@
 
 图像分类、目标检测、实例分割、语义分割统一的预测器,实现高性能预测。
 
-```
+```python
 paddlex.deploy.Predictor(model_dir, use_gpu=False, gpu_id=0, cpu_thread_num=1, use_mkl=True, mkl_thread_num=4, use_trt=False, use_glog=False, memory_optimize=True, max_trt_batch_size=1, trt_precision_mode='float32')
 ```
 
@@ -29,7 +29,7 @@ paddlex.deploy.Predictor(model_dir, use_gpu=False, gpu_id=0, cpu_thread_num=1, u
 
 图片预测
 
-```
+```python
 predict(img_file, topk=1, transforms=None, warmup_iters=0, repeats=1)
 ```
 

+ 2 - 2
docs/apis/export_model.md

@@ -8,7 +8,7 @@
 
 在安装完PaddleX后,在命令行终端使用如下命令将训练好的模型导出为部署所需格式:
 
-```
+```commandline
 paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model
 ```
 
@@ -24,7 +24,7 @@ paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --s
 
 使用TensorRT预测时,需固定模型的输入大小,通过`--fixed_input_shape `来指定输入大小`[w,h]`或者是`[n,c,w,h]`。例如指定为`[224,224]`时,输入大小为`[-1,3,224,224]`;若想同时固定住输入的批量大小,可设置为`[1,3,224,224]`:
 
-```
+```commandline
 paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model --fixed_input_shape=[224,224]
 ```
 

+ 5 - 5
docs/apis/prediction.md

@@ -5,7 +5,7 @@ PaddleX可以使用`paddlex.load_model`接口加载模型(包括训练过程
 
 ## 图像分类
 
-```
+```python
 import paddlex as pdx
 test_jpg = 'mobilenetv3_small_ssld_imagenet/test.jpg'
 model = pdx.load_model('mobilenetv3_small_ssld_imagenet')
@@ -13,7 +13,7 @@ result = model.predict(test_jpg)
 print("Predict Result: ", result)
 ```
 结果输出如下:
-```
+```pythonregexp
 Predict Result: [{'category_id': 549, 'category': 'envelope', 'score': 0.29062933}]
 ```
 
@@ -27,7 +27,7 @@ Predict Result: [{'category_id': 549, 'category': 'envelope', 'score': 0.2906293
 ## 目标检测
 
 
-```
+```python
 import paddlex as pdx
 test_jpg = 'yolov3_mobilenetv1_coco/test.jpg'
 model = pdx.load_model('yolov3_mobilenetv1_coco')
@@ -46,7 +46,7 @@ pdx.det.visualize(test_jpg, result, threshold=0.3, save_dir='./')
 ## 实例分割
 
 
-```
+```python
 import paddlex as pdx
 test_jpg = 'mask_r50_fpn_coco/test.jpg'
 model = pdx.load_model('mask_r50_fpn_coco')
@@ -66,7 +66,7 @@ pdx.det.visualize(test_jpg, result, threshold=0.5, save_dir='./')
 ## 语义分割
 
 
-```
+```python
 import paddlex as pdx
 test_jpg = './deeplabv3p_mobilenetv2_voc/test.jpg'
 model = pdx.load_model('./deeplabv3p_mobilenetv2_voc')

+ 3 - 3
docs/appendix/anaconda_install.md

@@ -13,7 +13,7 @@ Anaconda是一个开源的Python发行版本,其包含了conda、Python等180
 ### 第三步 使用
 - 点击Windows系统左下角的Windows图标,打开:所有程序->Anaconda3/2(64-bit)->Anaconda Prompt  
 - 在命令行中执行下述命令
-```cmd
+```shell
 # 创建名为my_paddlex的环境,指定Python版本为3.7
 conda create -n my_paddlex python=3.7
 # 进入my_paddlex环境
@@ -37,14 +37,14 @@ pip install paddlex -i https://mirror.baidu.com/pypi/simple
 
 ### 第二步 安装
 打开终端,在终端安装Anaconda
-```
+```shell
 # ~/Downloads/Anaconda3-2019.07-Linux-x86_64.sh即下载的文件
 bash ~/Downloads/Anaconda3-2019.07-Linux-x86_64.sh
 ```
 安装过程中一直回车即可,如提示设置安装路径,可根据需求修改,一般默认即可。
 
 ### 第三步 使用
-```
+```shell
 # 创建名为my_paddlex的环境,指定Python版本为3.7
 conda create -n my_paddlex python=3.7
 # 进入paddlex环境

+ 1 - 1
docs/data/annotation/README.md

@@ -3,7 +3,7 @@
 ## 手机拍照图片旋转
 
 当您收集的样本图像来源于手机拍照时,请注意由于手机拍照信息内附带水平垂直方向信息,这可能会使得在标注和训练时出现问题,因此在拍完照后注意根据方向对照片进行处理,使用如下函数即可解决
-```
+```python
 from PIL import Image, ExifTags
 def rotate(im):
     try:

+ 1 - 1
docs/data/annotation/instance_segmentation.md

@@ -20,7 +20,7 @@
 ## 格式转换
 
 LabelMe标注后的数据还需要进行转换为MSCOCO格式,才可以用于实例分割任务的训练,创建保存目录`D:\dataset_seg`,在python环境中安装paddlex后,使用如下命令即可
-```
+```commandline
 paddlex --data_conversion --source labelme --to MSCOCO \
         --pics D:\MyDataset\JPEGImages \
         --annotations D:\MyDataset\Annotations \

+ 2 - 2
docs/data/annotation/labelme.md

@@ -11,7 +11,7 @@ LabelMe可用于标注目标检测、实例分割、语义分割数据集,是
 ## 2. 安装LabelMe
 
 进入Python环境后,执行如下命令即可
-```
+```commandline
 conda activate my_paddlex
 conda install pyqt
 pip install labelme
@@ -20,7 +20,7 @@ pip install labelme
 ## 3. 启动LabelMe
 
 进入安装了LabelMe的Python环境,执行如下命令即可启动LabelMe
-```
+```commandline
 conda activate my_paddlex
 labelme
 ```

+ 1 - 1
docs/data/annotation/object_detection.md

@@ -23,7 +23,7 @@
 ## 格式转换
 
 LabelMe标注后的数据还需要进行转换为PascalVOC或MSCOCO格式,才可以用于目标检测任务的训练,创建`D:\dataset_voc`目录,在python环境中安装paddlex后,使用如下命令即可
-```
+```commandline
 paddlex --data_conversion --source labelme --to PascalVOC \
         --pics D:\MyDataset\JPEGImages \
         --annotations D:\MyDataset\Annotations \

+ 1 - 1
docs/data/annotation/semantic_segmentation.md

@@ -20,7 +20,7 @@
 ## 格式转换
 
 LabelMe标注后的数据还需要进行转换为SEG格式,才可以用于语义分割任务的训练,创建保存目录`D:\dataset_seg`,在python环境中安装paddlex后,使用如下命令即可
-```
+```commandline
 paddlex --data_conversion --source labelme --to SEG \
         --pics D:\MyDataset\JPEGImages \
         --annotations D:\MyDataset\Annotations \

+ 1 - 1
docs/data/convert.md

@@ -24,7 +24,7 @@ PaddleX支持图像分类、目标检测、实例分割和语义分割四大视
 2. 将所有的标注json文件放在同一个目录下,如`annotations`目录  
 3. 使用如下命令进行转换:
 
-```
+```commandline
 paddlex --data_conversion --source labelme --to PascalVOC --pics ./pics --annotations ./annotations --save_dir ./converted_dataset_dir
 ```
 

+ 1 - 1
docs/data/format/classification.md

@@ -69,7 +69,7 @@ val_list列出用于验证时的图片集成,与其对应的类别id,格式
 
 训练过程中,PaddleX加载数据集的示例代码如下:
 
-```
+```python
 import paddlex as pdx
 from paddlex import transforms as T
 

+ 1 - 1
docs/data/format/detection.md

@@ -65,7 +65,7 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格
 训练过程中,PaddleX加载数据集的示例代码如下:
 
 
-```
+```python
 import paddlex as pdx
 from paddlex import transforms as T
 

+ 1 - 1
docs/data/format/instance_segmentation.md

@@ -35,7 +35,7 @@ MyDataset/ # 实例分割数据集根目录
 
 训练过程中,PaddleX加载数据集的示例代码如下:
 
-```
+```python
 import paddlex as pdx
 from paddlex import transforms as T
 

+ 2 - 2
docs/data/format/segmentation.md

@@ -63,9 +63,9 @@ val_list列出用于验证时的图片集成,与其对应的标注文件,格
 
 训练过程中,PaddleX加载数据集的示例代码如下:
 
-```
+```python
 import paddlex as pdx
-from paddlex.seg import transforms
+from paddlex import transforms as T
 
 train_transforms = T.Compose([
     T.Resize(target_size=512),

+ 4 - 4
docs/data/split.md

@@ -8,7 +8,7 @@
 
 使用paddlex命令即可将数据集随机划分成70%训练集,20%验证集和10%测试集:
 
-```
+```commandline
 paddlex --split_dataset --format ImageNet --dataset_dir MyDataset --val_value 0.2 --test_value 0.1
 ```
 
@@ -21,7 +21,7 @@ paddlex --split_dataset --format ImageNet --dataset_dir MyDataset --val_value 0.
 
 使用paddlex命令即可将数据集随机划分成70%训练集,20%验证集和10%测试集:
 
-```
+```commandline
 paddlex --split_dataset --format VOC --dataset_dir D:\MyDataset --val_value 0.2 --test_value 0.1
 ```
 执行上面命令行,会在`D:\MyDataset`下生成`labels.txt`, `train_list.txt`, `val_list.txt`和`test_list.txt`,分别存储类别信息,训练样本列表,验证样本列表,测试样本列表
@@ -33,7 +33,7 @@ paddlex --split_dataset --format VOC --dataset_dir D:\MyDataset --val_value 0.2
 
 使用paddlex命令即可将数据集随机划分成70%训练集,20%验证集和10%测试集:
 
-```
+```commandline
 paddlex --split_dataset --format COCO --dataset_dir D:\MyDataset --val_value 0.2 --test_value 0.1
 ```
 执行上面命令行,会在`D:\MyDataset`下生成`train.json`, `val.json`, `test.json`,分别存储训练样本信息,验证样本信息,测试样本信息
@@ -44,7 +44,7 @@ paddlex --split_dataset --format COCO --dataset_dir D:\MyDataset --val_value 0.2
 ## 语义分割
 
 使用paddlex命令即可将数据集随机划分成70%训练集,20%验证集和10%测试集:
-```
+```commandline
 paddlex --split_dataset --format SEG --dataset_dir D:\MyDataset --val_value 0.2 --test_value 0.1
 ```
 执行上面命令行,会在`D:\MyDataset`下生成`train_list.txt`, `val_list.txt`, `test_list.txt`,分别存储训练样本信息,验证样本信息,测试样本信息

+ 7 - 7
docs/gui/restful/introduction.md

@@ -3,7 +3,7 @@ PaddleX RESTful是基于PaddleX开发的RESTful API。
 
 对于开发者来说可以通过如下指令启动PaddleX RESTful服务  
 
-```
+```commandline
 paddlex_restful --start_restful --port [端口号] --workspace_dir [工作空间地址]  
 ```
 
@@ -29,16 +29,16 @@ PaddleX Remote GUI是针对PaddleX RESTful开发的可视化客户端。开发
 ### 客户端使用流程
 
 #### step1:安装PaddleX  
-```
+```commandline
 pip install paddlex
 ```  
 **注意**:若需要使用GPU请安装pycuda
-```
+```commandline
 pip install pycuda
 ```
 
 #### step2:开启RESTful 服务
-```
+```commandline
 paddlex_restful --start_restful --port [端口号] --workspace_dir [工作空间地址]
 ```
 
@@ -55,16 +55,16 @@ PaddleX Web Demo是针对PaddleX RESTful开发的Web可视化客户端。
 ### Web DEMO使用流程
 
 #### step1:安装paddlex  
-```
+```commandline
 pip install paddlex
 ```  
 **注意**:若需要使用GPU请安装pycuda
-```
+```commandline
 pip install pycuda
 ```
 
 #### step2:开启RESTful 服务
-```
+```commandline
 paddlex_restful --start_restful --port [端口号] --workspace_dir [工作空间地址]
 ```
 

+ 15 - 15
docs/gui/restful/quick_start.md

@@ -7,12 +7,12 @@
 
 
 ## 服务端启动PaddleX RESTful服务
-```
+```commandline
  paddlex_restful --start_restful --port [端口号] --workspace_dir [工作空间目录]
 ```  
 
 ## 客户端请求服务端
-```
+```python
 import requests
 url = "https://127.0.0.1:5000"
 ```
@@ -35,7 +35,7 @@ url = "https://127.0.0.1:5000"
 
 ### 数据集操作
 #### 创建数据集
-```
+```python
 # dataset_type: 支持"detection"/"classification"/"segmentation"/"instance_segmentation"
 params = {"name": "我的第一个数据集", "desc": "这里是数据集的描述文字", "dataset_type": "detection"}  
 ret = requests.post(url+"/dataset", json=params)  
@@ -45,7 +45,7 @@ did = ret.json()['id']
 
 #### 导入数据集
 
-```
+```python
 # 导入数据集
 params = {'did' : did, 'path' : '/path/to/dataset'}
 ret = requests.put(url+"/dataset", json=params)
@@ -64,7 +64,7 @@ elif import_status == DatasetStatus.XCHECKFAIL:
 ```
 
 #### 切分数据集
-```
+```python
 # 当数据集导入成功后,可以对数据集进行切分
 # 切分数据集按照训练集、验证集、测试集为:6:2:2的形式切分
 params = {'did' : did, 'val_split' : 0.2 , 'test_split' : 0.2}
@@ -80,7 +80,7 @@ dataset_details = ret.json()
 ## 项目操作
 
 ### 创建项目
-```
+```python
 # project_type: 支持detection/classification/segmentation/instance_segmentation
 params = {'name': '项目名称', 'desc': '项目描述文字', 'project_type' : 'detection'}
 ret = requests.post(url+'/project', json=params)
@@ -89,7 +89,7 @@ pid = ret.json['pid']
 ```
 
 ### 绑定数据集
-```
+```python
 # 修改project中的did属性
 # struct支持 project/dataset/task
 params = {'struct': 'project', 'id': pid, 'attr_dict': {'did':did}}
@@ -97,7 +97,7 @@ ret = requests.put(url+'/workspace', json=params)
 ```
 
 ### 获取训练默认参数
-```
+```python
 params = {"pid", "P0001"}
 ret = requests.get(url+"/project/task/parmas", json=params)
 #获取默认训练参数
@@ -109,7 +109,7 @@ train_params = ret.json()['train']
 ## 任务操作
 
 ### 创建任务
-```
+```python
 #将训练参数json化
 params_json = json.dumps(train_params)
 #创建任务
@@ -120,7 +120,7 @@ tid = ret.json()['tid']
 ```
 
 ### 启动训练任务
-```
+```python
 params = {'tid' : tid}
 ret = requests.post(url+'/project/task/train', json=params)
 
@@ -133,13 +133,13 @@ ret.json()获取返回值:
 
 ### 停止训练任务
 通过如下操作,停止正在训练的任务
-```
+```python
 params = {'tid': tid, 'act': 'stop'}
 ret = requests.put(url+'/project/task/train', json=params)
 ```
 
 ### 获取训练任务信息
-```
+```python
 params = {'tid': tid, 'type': 'train'}
 ret = requests.get(url+'/project/task/metrics', json=params)
 #任务训练信息
@@ -147,7 +147,7 @@ train_log = ret.json()['train_log']
 ```
 
 ### 创建一个评估任务,并获取评估结果
-```
+```python
 #获取任务状态
 params = {'tid': tid}
 ret = requests.get(url+'/project/task', json=params)
@@ -172,7 +172,7 @@ result = ret.json()['result']
 
 ### 使用模型进行预测
 
-```
+```python
 import cv2
 import numpy as np
 #预测图片路径
@@ -210,7 +210,7 @@ img = cv2.imdecode(img_array, cv2.COLOR_RGB2BGR)
 
 ### 导出inference模型
 
-```
+```python
 #导出inference模型
 #保存地址
 save_dir = '/path/to/save/inference/model'

+ 1 - 1
docs/gui/restful/restful.md

@@ -17,7 +17,7 @@
 ## 工作空间
 
 通过如下命令启动PaddleX的RESTful服务,同时会初始化工作空间,初始化工作空间主要做载入工作空间内已有的数据集、项目等模块的信息。初始化工作空间后就可以正常调用其他的RESTful API,所有新建的数据集、项目等数据都会保存在此工作空间目录下面  
-```
+```commandline
  paddlex_restful --start_restful --port [端口号] --workspace_dir [工作空间目录]
 ```  
 

+ 4 - 5
docs/how_to_offline_run.md

@@ -8,9 +8,8 @@ PaddleX在模型训练时,用户如果没有将`pretrain_weights`设置为自
 
 > 用户在可联网的机器上,执行如下代码,所有的预训练模型将会下载至指定的`save_dir`(代码示例中为`/home/work/paddlex_pretrain`),
 
-```
+```python
 import os.path as osp
-import paddlex
 from paddlex.utils.checkpoint import cityscapes_weights, imagenet_weights, pascalvoc_weights, coco_weights
 from paddlex.utils.download import download_and_decompress
 
@@ -24,7 +23,7 @@ for weights in weights_lists:
 ```
 
 > 之后在使用PaddleX Python API模式进行PaddleX模型训练时,只需要在import paddlex的同时,配置如下参数,模型在训练时便会优先在此目录下寻找已经下载好的预训练模型。
-```
+```python
 import paddlex
 paddlex.pretrain_dir = '/home/work/paddlex_pretrain'
 ```
@@ -35,8 +34,8 @@ paddlex.pretrain_dir = '/home/work/paddlex_pretrain'
 
 > 事先下载所有预训练模型需要依赖PaddleX Python API,如果尚未安装PaddleX Python API,请参考文档[PaddleX API开发模式安装](install.md#1-paddlex-api开发模式安装)进行安装。安装完成后,在已联网的机器上运行以下代码,所有的预训练模型将会下载至指定的`save_dir`(代码示例中为`/home/work/paddlex_pretrain`,也可以直接指定到GUI工作空间下的预训练模型文件存储位置(例如`D:\PaddleX_Workspace\pretrain`)),下载完成后将`save_dir`下的所有文件拷贝至GUI工作空间下的预训练模型文件存储位置(例如`D:\PaddleX_Workspace\pretrain`)下。
 
-```
-import paddlex
+```python
+import os.path as osp
 from paddlex.utils.checkpoint import cityscapes_weights, imagenet_weights, pascalvoc_weights, coco_weights
 from paddlex.utils.download import download_and_decompress
 

+ 5 - 5
docs/install.md

@@ -22,13 +22,13 @@
 
 使用pip安装方式安装2.0.0-rc4版本:
 
-```
+```commandline
 pip install paddlex==2.0.0rc4 -i https://mirror.baidu.com/pypi/simple
 ```
 
 因PaddleX依赖pycocotools包,如遇到pycocotools安装失败,可参照如下方式安装pycocotools:
 
-```
+```commandline
 pip install cython  
 pip install pycocotools
 ```
@@ -40,14 +40,14 @@ pip install pycocotools
 
 使用pip安装方式安装2.0.0-rc4版本:
 
-```
+```commandline
 pip install paddlex==2.0.0rc4 -i https://mirror.baidu.com/pypi/simple
 ```
 
 因PaddleX依赖pycocotools包,Windows安装时可能会提示`Microsoft Visual C++ 14.0 is required`,从而导致安装出错,[点击下载VC build tools](https://go.microsoft.com/fwlink/?LinkId=691126)安装再执行如下pip命令
 > 注意:安装完后,需要重新打开新的终端命令窗口
 
-```
+```commandline
 pip install cython
 pip install git+https://gitee.com/jiangjiajun/philferriere-cocoapi.git#subdirectory=PythonAPI
 ```
@@ -56,7 +56,7 @@ pip install git+https://gitee.com/jiangjiajun/philferriere-cocoapi.git#subdirect
 
 github代码会跟随开发进度不断更新,可以安装develop分支的代码使用最新的功能,安装方式如下:
 
-```
+```commandline
 git clone https://github.com/PaddlePaddle/PaddleX.git
 cd PaddleX
 pip install -r requirements.txt

+ 3 - 3
docs/python_deploy.md

@@ -13,7 +13,7 @@ PaddleX已经集成了基于Python的高性能预测接口,在安装PaddleX后
 
 * 单张图片预测
 
-```
+```python
 import paddlex as pdx
 predictor = pdx.deploy.Predictor('./inference_model')
 result = predictor.predict(img_file='test.img')
@@ -24,7 +24,7 @@ result = predictor.predict(img_file='test.img')
 
 **关于预测速度的说明**:加载模型后,前几张图片的预测速度会较慢,这是因为运行启动时涉及到内存显存初始化等步骤,通常在预测20-30张图片后模型的预测速度达到稳定。**如果需要评估预测速度,可通过指定预热轮数warmup_iters完成预热**。**为获得更加精准的预测速度,可指定repeats重复预测后取时间平均值**。
 
-```
+```python
 import paddlex as pdx
 predictor = pdx.deploy.Predictor('./inference_model')
 result = predictor.predict(img_file='test.img',
@@ -35,7 +35,7 @@ result = predictor.predict(img_file='test.img',
 
 * 批量图片预测
 
-```
+```python
 import paddlex as pdx
 predictor = pdx.deploy.Predictor('./inference_model')
 image_list = ['test1.jpg', 'test2.jpg']

+ 6 - 6
docs/quick_start.md

@@ -46,7 +46,7 @@ PaddleX的安装以及安装问题的解决可以参考PaddleX的[安装文档](
 <a name="准备蔬菜分类数据集"></a>
 **2. 准备蔬菜分类数据集**  
 
-```
+```commandline
 wget https://bj.bcebos.com/paddlex/datasets/vegetables_cls.tar.gz
 tar xzvf vegetables_cls.tar.gz
 ```
@@ -56,7 +56,7 @@ tar xzvf vegetables_cls.tar.gz
 
 因为训练时加入了数据增强操作,因此在训练和验证过程中,模型的数据处理流程需要分别进行定义。如下所示,代码在`train_transforms`中加入了[RandomCrop](./apis/transforms/transforms.md#randomcrop)和[RandomHorizontalFlip](./apis/transforms/transforms.md#randomhorizontalflip)两种数据增强方式, 更多方法可以参考[数据增强文档](./apis/transforms/transforms.md)。
 
-```
+```python
 from paddlex import transforms as T
 train_transforms = T.Compose([
     T.RandomCrop(crop_size=224),
@@ -75,7 +75,7 @@ eval_transforms = T.Compose([
 
 定义数据集,`pdx.datasets.ImageNet`表示读取ImageNet格式的分类数据集:
 
-```
+```python
 train_dataset = pdx.datasets.ImageNet(
     data_dir='vegetables_cls',
     file_list='vegetables_cls/train_list.txt',
@@ -96,7 +96,7 @@ eval_dataset = pdx.datasets.ImageNet(
 **5. 使用MobileNetV3_small模型开始训练**  
 
 本文档中使用百度基于蒸馏方法得到的MobileNetV3预训练模型,模型结构与MobileNetV3一致,但精度更高。PaddleX内置了20多种分类模型,查阅[PaddleX 图像分类模型API](apis/models/classification.md#其它分类模型)了解更多分类模型。
-```
+```python
 num_classes = len(train_dataset.labels)
 model = pdx.cls.MobileNetV3_small(num_classes=num_classes)
 
@@ -113,7 +113,7 @@ model.train(num_epochs=10,
 **6. 训练过程使用VisualDL查看训练指标变化**  
 
 训练过程中,模型在训练集和验证集上的指标均会以标准输出流形式输出到命令终端。当用户设定`use_vdl=True`时,也会使用VisualDL格式将指标打点到`save_dir`目录下的`vdl_log`文件夹,在终端运行如下命令启动visualdl并查看可视化的指标变化情况。
-```
+```commandline
 visualdl --logdir output/mobilenetv3_small --port 8001
 ```
 服务启动后,通过浏览器打开https://0.0.0.0:8001或https://localhost:8001 即可。
@@ -125,7 +125,7 @@ visualdl --logdir output/mobilenetv3_small --port 8001
 
 模型在训练过程中,会每间隔一定轮数保存一次模型,在验证集上评估效果最好的一轮会保存在`save_dir`目录下的`best_model`文件夹。通过如下方式可加载模型,进行预测:
 
-```
+```python
 import paddlex as pdx
 model = pdx.load_model('output/mobilenetv3_small/best_model')
 result = model.predict('vegetables_cls/bocai/100.jpg')

+ 2 - 2
docs/visualdl.md

@@ -1,6 +1,6 @@
 # VisualDL可视化训练指标
 在使用PaddleX训练模型过程中,各个训练指标和评估指标会直接输出到标准输出流,同时也可通过VisualDL对训练过程中的指标进行可视化,只需在调用`train`函数时,将`use_vdl`参数设为`True`即可,如下代码所示,
-```
+```python
 model = paddlex.cls.ResNet50(num_classes=1000)
 model.train(num_epochs=120, train_dataset=train_dataset,
             train_batch_size=32, eval_dataset=eval_dataset,
@@ -9,7 +9,7 @@ model.train(num_epochs=120, train_dataset=train_dataset,
 ```
 
 模型在训练过程中,会在`save_dir`下生成`vdl_log`目录,通过在命令行终端执行以下命令,启动VisualDL。
-```
+```commandline
 visualdl --logdir=output/vdl_log --port=8008
 ```
 在浏览器打开`http://0.0.0.0:8008`便可直接查看随训练迭代动态变化的各个指标(0.0.0.0表示启动VisualDL所在服务器的IP,本机使用0.0.0.0即可)。

+ 3 - 3
tutorials/slim/prune/image_classification/README.md

@@ -22,7 +22,7 @@ step 1: 分析模型各层参数在不同的剪裁比例下的敏感度
 
 主要由两个API完成:
 
-```
+```python
 model = pdx.load_model('output/mobilenet_v2/best_model')
 model.analyze_sensitivity(
     dataset=eval_dataset, save_dir='output/mobilenet_v2/prune')
@@ -34,7 +34,7 @@ model.analyze_sensitivity(
 
 step 2: 根据选择的FLOPs减小比例对模型进行剪裁
 
-```
+```python
 model.prune(pruned_flops=.2, save_dir=None)
 ```
 
@@ -43,7 +43,7 @@ model.prune(pruned_flops=.2, save_dir=None)
 
 step 3: 对剪裁后的模型重新训练
 
-```
+```python
 model.train(
     num_epochs=10,
     train_dataset=train_dataset,

+ 3 - 3
tutorials/slim/prune/object_detection/README.md

@@ -24,7 +24,7 @@ step 1: 分析模型各层参数在不同的剪裁比例下的敏感度
 
 主要由两个API完成:
 
-```
+```python
 model = pdx.load_model('output/yolov3_darknet53/best_model')
 model.analyze_sensitivity(
     dataset=eval_dataset,
@@ -38,7 +38,7 @@ model.analyze_sensitivity(
 
 step 2: 根据选择的FLOPs减小比例对模型进行剪裁
 
-```
+```python
 model.prune(pruned_flops=.2, save_dir=None)
 ```
 
@@ -47,7 +47,7 @@ model.prune(pruned_flops=.2, save_dir=None)
 
 step 3: 对剪裁后的模型重新训练
 
-```
+```python
 model.train(
     num_epochs=270,
     train_dataset=train_dataset,

+ 3 - 3
tutorials/slim/prune/semantic_segmentation/README.md

@@ -22,7 +22,7 @@ step 1: 分析模型各层参数在不同的剪裁比例下的敏感度
 
 主要由两个API完成:
 
-```
+```python
 model = pdx.load_model('output/unet/best_model')
 model.analyze_sensitivity(
     dataset=eval_dataset,
@@ -36,7 +36,7 @@ model.analyze_sensitivity(
 
 step 2: 根据选择的FLOPs减小比例对模型进行剪裁
 
-```
+```python
 model.prune(pruned_flops=.2, save_dir=None)
 ```
 
@@ -45,7 +45,7 @@ model.prune(pruned_flops=.2, save_dir=None)
 
 step 3: 对剪裁后的模型重新训练
 
-```
+```python
 model.train(
     num_epochs=10,
     train_dataset=train_dataset,

+ 2 - 2
tutorials/slim/quantize/README.md

@@ -24,13 +24,13 @@ python mobilenetv2_qat.py
 step 1: 加载之前训练好的模型
 
 
-```
+```python
 model = pdx.load_model('output/mobilenet_v2/best_model')
 ```
 
 step 2: 完成在线量化
 
-```
+```python
 model.quant_aware_train(
     num_epochs=5,
     train_dataset=train_dataset,