@@ -27,6 +27,10 @@ export CUDA_VISIBLE_DEVICES=0,1,2,3
27
27
fleetrun tools/train.py --config configs/smoke/smoke_dla34_no_dcn_kitti.yml --iters 100 --log_interval 10 --save_interval 20
28
28
```
29
29
30
+ ** 混合精度训练**
31
+
32
+ 如果想要启动混合精度训练,请参考[ 配置文件] ( ../configs/smoke/smoke_dla34_no_dcn_kitti_amp.yml#L6-#L11 ) 中添加amp的参数项,可用的参数可以参考 API ** [ paddle.amp.auto_cast] ( https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/auto_cast_cn.html#paddle.amp.auto_cast ) **
33
+
30
34
** 训练脚本参数介绍**
31
35
32
36
| 参数名 | 用途 | 是否必选项 | 默认值 |
@@ -43,6 +47,7 @@ fleetrun tools/train.py --config configs/smoke/smoke_dla34_no_dcn_kitti.yml --it
43
47
| log_interval | 打印日志的间隔步数 | 否 | 10 |
44
48
| resume | 是否从检查点中恢复训练状态 | 否 | None |
45
49
| keep_checkpoint_max | 最多保存模型的数量 | 否 | 5 |
50
+ | quant_config | 量化配置文件,一般放在[ configs/quant] ( ../configs/quant ) 目录下 | 否 | None |
46
51
| seed | Paddle/numpy/random的全局随机种子值 | 否 | None |
47
52
48
53
* 注意:使用一个 batch 数据对模型进行一次参数更新的过程称之为一步,iters 即为训练过程中的训练步数。完整遍历一次数据对模型进行训练的过程称之为一次迭代,epochs 即为训练过程中的训练迭代次数。一个epoch包含多个iter。*
@@ -63,6 +68,30 @@ visualdl --logdir output --host ${HOST_IP} --port {$PORT}
63
68
64
69
<br >
65
70
71
+ ## 模型量化(可选)
72
+
73
+ 为了导出量化的模型,我们可以对模型进行量化训练,量化后的模型可以使用TensorRT + int8进行推理,从而提升推理速度,使用如下命令启动量化训练。
74
+
75
+ 以多卡训练为例子,使用如下命令启动多卡量化训练,同样只训练100个iter进行快速体验
76
+
77
+ ``` shell
78
+ export CUDA_VISIBLE_DEVICES=0,1,2,3
79
+ # 注意这是一次新的训练,需要指定加载已经训练好的模型参数进行微调
80
+ # 并且指定新的模型保存路径
81
+ fleetrun tools/train.py \
82
+ --config configs/smoke/smoke_dla34_no_dcn_kitti.yml \
83
+ --iters 100 \
84
+ --log_interval 10 \
85
+ --save_interval 20 \
86
+ --quant_config configs/quant/smoke_kitti.yml \
87
+ --model output/iter_100/model.pdparams \
88
+ --save_dir output_smoke_quant
89
+ ```
90
+
91
+ * 注意,不同的模型需要探索不同的量化训练配置(如重新训练的次数,学习率衰减等),我们提供了 ** SMOKE** 和 ** CenterPoint** 的配置文件供参考*
92
+
93
+ <br >
94
+
66
95
## 模型评估
67
96
68
97
** 单卡评估**
@@ -82,6 +111,7 @@ python tools/evaluate.py --config configs/smoke/smoke_dla34_no_dcn_kitti.yml --m
82
111
| config | 配置文件路径 | 是 | - |
83
112
| model | 模型参数路径 | 否 | - |
84
113
| num_workers | 用于异步读取数据的进程数量, 大于等于1时开启子进程读取数据 | 否 | 2 |
114
+ | quant_config | 量化配置文件,一般放在[ configs/quant] ( ../configs/quant ) 目录下,如果模型使用量化训练,则在评估时同样需要指定量化配置文件 | 否 |
85
115
86
116
<br >
87
117
@@ -103,6 +133,7 @@ python tools/export.py --config configs/smoke/smoke_dla34_no_dcn_kitti.yml --mod
103
133
| export_for_apollo | 是否用于Apollo部署,当打开该开关时,会同步生成用于Apollo部署的meta文件 | 否 | False |
104
134
| save_dir | 推理模型文件的保存路径 | 否 | exported_model |
105
135
| save_name | 推理模型文件的保存名字 | 否 | None(由各模型自定决定) |
136
+ | quant_config | 量化配置文件,一般放在[ configs/quant] ( ../configs/quant ) 目录下,如果模型使用量化训练,则在模型导出时同样需要指定量化配置文件 | 否 |
106
137
107
138
<br >
108
139
0 commit comments