You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README_CN.md 22 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. # 目录
  2. <!-- TOC -->
  3. - [目录](#目录)
  4. - [DeepLabV3描述](#deeplabv3描述)
  5. - [描述](#描述)
  6. - [模型架构](#模型架构)
  7. - [数据集](#数据集)
  8. - [特性](#特性)
  9. - [混合精度](#混合精度)
  10. - [环境要求](#环境要求)
  11. - [快速入门](#快速入门)
  12. - [脚本说明](#脚本说明)
  13. - [脚本及样例代码](#脚本及样例代码)
  14. - [脚本参数](#脚本参数)
  15. - [训练过程](#训练过程)
  16. - [用法](#用法)
  17. - [Ascend处理器环境运行](#ascend处理器环境运行)
  18. - [结果](#结果)
  19. - [评估过程](#评估过程)
  20. - [用法](#用法-1)
  21. - [Ascend处理器环境运行](#ascend处理器环境运行-1)
  22. - [结果](#结果-1)
  23. - [训练准确率](#训练准确率)
  24. - [导出mindir模型](#导出mindir模型)
  25. - [推理过程](#推理过程)
  26. - [用法](#用法-2)
  27. - [结果](#结果-2)
  28. - [模型描述](#模型描述)
  29. - [性能](#性能)
  30. - [评估性能](#评估性能)
  31. - [随机情况说明](#随机情况说明)
  32. - [ModelZoo主页](#modelzoo主页)
  33. <!-- /TOC -->
  34. # DeepLabV3描述
  35. ## 描述
  36. DeepLab是一系列图像语义分割模型,DeepLabV3版本相比以前的版本有很大的改进。DeepLabV3有两个关键点:多网格状卷积能够更好地处理多尺度分割目标,而增强后的ASPP则使得图像级特征可以捕捉长距离信息。
  37. 此仓库为DeepLabV3模型提供了脚本和配方,可实现最先进的性能。
  38. 有关网络详细信息,请参阅[论文][1]
  39. `Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017.`
  40. [1]: https://arxiv.org/abs/1706.05587
  41. # 模型架构
  42. 以ResNet-101为骨干,使用空洞卷积进行密集特征提取。
  43. # 数据集
  44. Pascal VOC数据集和语义边界数据集(Semantic Boundaries Dataset,SBD)
  45. - 下载分段数据集。
  46. - 准备训练数据清单文件。清单文件用于保存图片和标注对的相对路径。如下:
  47. ```text
  48. JPEGImages/00001.jpg SegmentationClassGray/00001.png
  49. JPEGImages/00002.jpg SegmentationClassGray/00002.png
  50. JPEGImages/00003.jpg SegmentationClassGray/00003.png
  51. JPEGImages/00004.jpg SegmentationClassGray/00004.png
  52. ......
  53. ```
  54. 你也可以通过运行脚本:`python get_dataset_lst.py --data_root=/PATH/TO/DATA` 来自动生成数据清单文件。
  55. - 配置并运行build_data.sh,将数据集转换为MindRecords。scripts/build_data.sh中的参数:
  56. ```bash
  57. --data_root 训练数据的根路径
  58. --data_lst 训练数据列表(如上准备)
  59. --dst_path MindRecord所在路径
  60. --num_shards MindRecord的分片数
  61. --shuffle 是否混洗
  62. ```
  63. # 特性
  64. ## 混合精度
  65. 采用[混合精度](https://www.mindspore.cn/tutorial/training/zh-CN/master/advanced_use/enable_mixed_precision.html)的训练方法使用支持单精度和半精度数据来提高深度学习神经网络的训练速度,同时保持单精度训练所能达到的网络精度。混合精度训练提高计算速度、减少内存使用的同时,支持在特定硬件上训练更大的模型或实现更大批次的训练。
  66. 以FP16算子为例,如果输入数据类型为FP32,MindSpore后台会自动降低精度来处理数据。用户可打开INFO日志,搜索“reduce precision”查看精度降低的算子。
  67. # 环境要求
  68. - 硬件(Ascend)
  69. - 准备Ascend处理器搭建硬件环境。
  70. - 框架
  71. - [MindSpore](https://www.mindspore.cn/install)
  72. - 如需查看详情,请参见如下资源:
  73. - [MindSpore教程](https://www.mindspore.cn/tutorial/training/zh-CN/master/index.html)
  74. - [MindSpore Python API](https://www.mindspore.cn/doc/api_python/zh-CN/master/index.html)
  75. - 安装requirements.txt中的python包。
  76. - 生成config json文件用于8卡训练。
  77. ```bash
  78. # 从项目根目录进入
  79. cd src/tools/
  80. python3 get_multicards_json.py 10.111.*.*
  81. # 10.111.*.*为计算机IP地址
  82. ```
  83. # 快速入门
  84. 通过官方网站安装MindSpore后,您可以按照如下步骤进行训练和评估:
  85. - Ascend处理器环境运行
  86. 在DeepLabV3原始论文的基础上,我们对VOCaug(也称为trainaug)数据集进行了两次训练实验,并对voc val数据集进行了评估。
  87. 运行以下训练脚本配置单卡训练参数:
  88. ```bash
  89. run_standalone_train.sh
  90. ```
  91. 按照以下训练步骤进行8卡训练:
  92. 1. 使用VOCaug数据集训练s16,微调ResNet-101预训练模型。脚本如下:
  93. ```bash
  94. run_distribute_train_s16_r1.sh
  95. ```
  96. 2. 使用VOCaug数据集训练s8,微调上一步的模型。脚本如下:
  97. ```bash
  98. run_distribute_train_s8_r1.sh
  99. ```
  100. 3. 使用VOCtrain数据集训练s8,微调上一步的模型。脚本如下:
  101. ```bash
  102. run_distribute_train_s8_r2.sh
  103. ```
  104. 评估步骤如下:
  105. 1. 使用voc val数据集评估s16。评估脚本如下:
  106. ```bash
  107. run_eval_s16.sh
  108. ```
  109. 2. 使用voc val数据集评估s8。评估脚本如下:
  110. ```bash
  111. run_eval_s8.sh
  112. ```
  113. 3. 使用voc val数据集评估多尺度s8。评估脚本如下:
  114. ```bash
  115. run_eval_s8_multiscale.sh
  116. ```
  117. 4. 使用voc val数据集评估多尺度和翻转s8。评估脚本如下:
  118. ```bash
  119. run_eval_s8_multiscale_flip.sh
  120. ```
  121. # 脚本说明
  122. ## 脚本及样例代码
  123. ```shell
  124. .
  125. └──deeplabv3
  126. ├── README.md
  127. ├── script
  128. ├── build_data.sh # 将原始数据转换为MindRecord数据集
  129. ├── run_distribute_train_s16_r1.sh # 使用s16结构的VOCaug数据集启动Ascend分布式训练(8卡)
  130. ├── run_distribute_train_s8_r1.sh # 使用s8结构的VOCaug数据集启动Ascend分布式训练(8卡)
  131. ├── run_distribute_train_s8_r2.sh # 使用s8结构的VOCtrain数据集启动Ascend分布式训练(8卡)
  132. ├── run_eval_s16.sh # 使用s16结构启动Ascend评估
  133. ├── run_eval_s8.sh # 使用s8结构启动Ascend评估
  134. ├── run_eval_s8_multiscale.sh # 使用多尺度s8结构启动Ascend评估
  135. ├── run_eval_s8_multiscale_filp.sh # 使用多尺度和翻转s8结构启动Ascend评估
  136. ├── run_standalone_train.sh # 启动Ascend单机训练(单卡)
  137. ├── run_standalone_train_cpu.sh # 启动CPU单机训练
  138. ├── src
  139. ├── data
  140. ├── dataset.py # 生成MindRecord数据
  141. ├── build_seg_data.py # 数据预处理
  142. ├── get_dataset_lst.py # 生成数据清单文件
  143. ├── loss
  144. ├── loss.py # DeepLabV3的损失定义
  145. ├── nets
  146. ├── deeplab_v3
  147. ├── deeplab_v3.py # DeepLabV3网络结构
  148. ├── net_factory.py # 设置S16和S8结构
  149. ├── tools
  150. ├── get_multicards_json.py # 获取rank table文件
  151. └── utils
  152. └── learning_rates.py # 生成学习率
  153. ├── eval.py # 评估网络
  154. ├── train.py # 训练网络
  155. └── requirements.txt # requirements文件
  156. ```
  157. ## 脚本参数
  158. 默认配置
  159. ```bash
  160. "data_file":"/PATH/TO/MINDRECORD_NAME" # 数据集路径
  161. "device_target":Ascend # 训练后端类型
  162. "train_epochs":300 # 总轮次数
  163. "batch_size":32 # 输入张量的批次大小
  164. "crop_size":513 # 裁剪大小
  165. "base_lr":0.08 # 初始学习率
  166. "lr_type":cos # 用于生成学习率的衰减模式
  167. "min_scale":0.5 # 数据增强的最小尺度
  168. "max_scale":2.0 # 数据增强的最大尺度
  169. "ignore_label":255 # 忽略标签
  170. "num_classes":21 # 类别数
  171. "model":deeplab_v3_s16 # 选择模型
  172. "ckpt_pre_trained":"/PATH/TO/PRETRAIN_MODEL" # 加载预训练检查点的路径
  173. "is_distributed": # 分布式训练,设置该参数为True
  174. "save_steps":410 # 用于保存的迭代间隙
  175. "freeze_bn": # 设置该参数freeze_bn为True
  176. "keep_checkpoint_max":200 # 用于保存的最大检查点
  177. ```
  178. ## 训练过程
  179. ### 用法
  180. #### Ascend处理器环境运行
  181. 在DeepLabV3原始论文的基础上,我们对vocaug(也称为trainaug)数据集进行了两次训练实验,并对voc val数据集进行了评估。
  182. 运行以下训练脚本配置单卡训练参数:
  183. ```bash
  184. # run_standalone_train.sh
  185. python ${train_code_path}/train.py --data_file=/PATH/TO/MINDRECORD_NAME \
  186. --train_dir=${train_path}/ckpt \
  187. --train_epochs=200 \
  188. --batch_size=32 \
  189. --crop_size=513 \
  190. --base_lr=0.015 \
  191. --lr_type=cos \
  192. --min_scale=0.5 \
  193. --max_scale=2.0 \
  194. --ignore_label=255 \
  195. --num_classes=21 \
  196. --model=deeplab_v3_s16 \
  197. --ckpt_pre_trained=/PATH/TO/PRETRAIN_MODEL \
  198. --save_steps=1500 \
  199. --keep_checkpoint_max=200 >log 2>&1 &
  200. ```
  201. 按照以下训练步骤进行8卡训练:
  202. 1.使用VOCaug数据集训练s16,微调ResNet-101预训练模型。脚本如下:
  203. ```bash
  204. # run_distribute_train_s16_r1.sh
  205. for((i=0;i<=$RANK_SIZE-1;i++));
  206. do
  207. export RANK_ID=$i
  208. export DEVICE_ID=`expr $i + $RANK_START_ID`
  209. echo 'start rank='$i', device id='$DEVICE_ID'...'
  210. mkdir ${train_path}/device$DEVICE_ID
  211. cd ${train_path}/device$DEVICE_ID
  212. python ${train_code_path}/train.py --train_dir=${train_path}/ckpt \
  213. --data_file=/PATH/TO/MINDRECORD_NAME \
  214. --train_epochs=300 \
  215. --batch_size=32 \
  216. --crop_size=513 \
  217. --base_lr=0.08 \
  218. --lr_type=cos \
  219. --min_scale=0.5 \
  220. --max_scale=2.0 \
  221. --ignore_label=255 \
  222. --num_classes=21 \
  223. --model=deeplab_v3_s16 \
  224. --ckpt_pre_trained=/PATH/TO/PRETRAIN_MODEL \
  225. --is_distributed \
  226. --save_steps=410 \
  227. --keep_checkpoint_max=200 >log 2>&1 &
  228. done
  229. ```
  230. 2.使用VOCaug数据集训练s8,微调上一步的模型。脚本如下:
  231. ```bash
  232. # run_distribute_train_s8_r1.sh
  233. for((i=0;i<=$RANK_SIZE-1;i++));
  234. do
  235. export RANK_ID=$i
  236. export DEVICE_ID=`expr $i + $RANK_START_ID`
  237. echo 'start rank='$i', device id='$DEVICE_ID'...'
  238. mkdir ${train_path}/device$DEVICE_ID
  239. cd ${train_path}/device$DEVICE_ID
  240. python ${train_code_path}/train.py --train_dir=${train_path}/ckpt \
  241. --data_file=/PATH/TO/MINDRECORD_NAME \
  242. --train_epochs=800 \
  243. --batch_size=16 \
  244. --crop_size=513 \
  245. --base_lr=0.02 \
  246. --lr_type=cos \
  247. --min_scale=0.5 \
  248. --max_scale=2.0 \
  249. --ignore_label=255 \
  250. --num_classes=21 \
  251. --model=deeplab_v3_s8 \
  252. --loss_scale=2048 \
  253. --ckpt_pre_trained=/PATH/TO/PRETRAIN_MODEL \
  254. --is_distributed \
  255. --save_steps=820 \
  256. --keep_checkpoint_max=200 >log 2>&1 &
  257. done
  258. ```
  259. 3.使用VOCtrain数据集训练s8,微调上一步的模型。脚本如下:
  260. ```bash
  261. # run_distribute_train_s8_r2.sh
  262. for((i=0;i<=$RANK_SIZE-1;i++));
  263. do
  264. export RANK_ID=$i
  265. export DEVICE_ID=`expr $i + $RANK_START_ID`
  266. echo 'start rank='$i', device id='$DEVICE_ID'...'
  267. mkdir ${train_path}/device$DEVICE_ID
  268. cd ${train_path}/device$DEVICE_ID
  269. python ${train_code_path}/train.py --train_dir=${train_path}/ckpt \
  270. --data_file=/PATH/TO/MINDRECORD_NAME \
  271. --train_epochs=300 \
  272. --batch_size=16 \
  273. --crop_size=513 \
  274. --base_lr=0.008 \
  275. --lr_type=cos \
  276. --min_scale=0.5 \
  277. --max_scale=2.0 \
  278. --ignore_label=255 \
  279. --num_classes=21 \
  280. --model=deeplab_v3_s8 \
  281. --loss_scale=2048 \
  282. --ckpt_pre_trained=/PATH/TO/PRETRAIN_MODEL \
  283. --is_distributed \
  284. --save_steps=110 \
  285. --keep_checkpoint_max=200 >log 2>&1 &
  286. done
  287. ```
  288. #### CPU环境运行
  289. 按以下样例配置训练参数,运行CPU训练脚本:
  290. ```shell
  291. # run_standalone_train_cpu.sh
  292. python ${train_code_path}/train.py --data_file=/PATH/TO/MINDRECORD_NAME \
  293. --device_target=CPU \
  294. --train_dir=${train_path}/ckpt \
  295. --train_epochs=200 \
  296. --batch_size=32 \
  297. --crop_size=513 \
  298. --base_lr=0.015 \
  299. --lr_type=cos \
  300. --min_scale=0.5 \
  301. --max_scale=2.0 \
  302. --ignore_label=255 \
  303. --num_classes=21 \
  304. --model=deeplab_v3_s16 \
  305. --ckpt_pre_trained=/PATH/TO/PRETRAIN_MODEL \
  306. --save_steps=1500 \
  307. --keep_checkpoint_max=200 >log 2>&1 &
  308. ```
  309. #### 迁移训练
  310. 用户可以根据预训练好的checkpoint进行迁移学习, 步骤如下:
  311. 1. 将数据集格式转换为上述VOC数据集格式,或者自行添加数据处理代码。
  312. 2. 运行`train.py`时设置 `filter_weight` 为 `True`, `ckpt_pre_trained` 为预训练模型路径,`num_classes` 为数据集匹配的类别数目, 加载checkpoint中参数时过滤掉最后的卷积的权重。
  313. 3. 重写启动脚本。
  314. ### 结果
  315. #### Ascend处理器环境运行
  316. - 使用s16结构训练VOCaug
  317. ```bash
  318. # 分布式训练结果(8P)
  319. epoch: 1 step: 41, loss is 0.8319108
  320. Epoch time: 213856.477, per step time: 5216.012
  321. epoch: 2 step: 41, loss is 0.46052963
  322. Epoch time: 21233.183, per step time: 517.883
  323. epoch: 3 step: 41, loss is 0.45012417
  324. Epoch time: 21231.951, per step time: 517.852
  325. epoch: 4 step: 41, loss is 0.30687785
  326. Epoch time: 21199.911, per step time: 517.071
  327. epoch: 5 step: 41, loss is 0.22769661
  328. Epoch time: 21240.281, per step time: 518.056
  329. epoch: 6 step: 41, loss is 0.25470978
  330. ...
  331. ```
  332. - 使用s8结构训练VOCaug
  333. ```bash
  334. # 分布式训练结果(8P)
  335. epoch: 1 step: 82, loss is 0.024167
  336. Epoch time: 322663.456, per step time: 3934.920
  337. epoch: 2 step: 82, loss is 0.019832281
  338. Epoch time: 43107.238, per step time: 525.698
  339. epoch: 3 step: 82, loss is 0.021008959
  340. Epoch time: 43109.519, per step time: 525.726
  341. epoch: 4 step: 82, loss is 0.01912349
  342. Epoch time: 43177.287, per step time: 526.552
  343. epoch: 5 step: 82, loss is 0.022886964
  344. Epoch time: 43095.915, per step time: 525.560
  345. epoch: 6 step: 82, loss is 0.018708453
  346. Epoch time: 43107.458, per step time: 525.701
  347. ...
  348. ```
  349. - 使用s8结构训练VOCtrain
  350. ```bash
  351. # 分布式训练结果(8P)
  352. epoch: 1 step: 11, loss is 0.00554624
  353. Epoch time: 199412.913, per step time: 18128.447
  354. epoch: 2 step: 11, loss is 0.007181881
  355. Epoch time: 6119.375, per step time: 556.307
  356. epoch: 3 step: 11, loss is 0.004980865
  357. Epoch time: 5996.978, per step time: 545.180
  358. epoch: 4 step: 11, loss is 0.0047651967
  359. Epoch time: 5987.412, per step time: 544.310
  360. epoch: 5 step: 11, loss is 0.006262637
  361. Epoch time: 5956.682, per step time: 541.517
  362. epoch: 6 step: 11, loss is 0.0060750707
  363. Epoch time: 5962.164, per step time: 542.015
  364. ...
  365. ```
  366. #### CPU环境运行
  367. - 使用s16结构训练VOCtrain
  368. ```bash
  369. epoch: 1 step: 1, loss is 3.655448
  370. epoch: 2 step: 1, loss is 1.5531876
  371. epoch: 3 step: 1, loss is 1.5099041
  372. ...
  373. ```
  374. ## 评估过程
  375. ### 用法
  376. #### Ascend处理器环境运行
  377. 使用--ckpt_path配置检查点,运行脚本,在eval_path/eval_log中打印mIOU。
  378. ```bash
  379. ./run_eval_s16.sh # 测试s16
  380. ./run_eval_s8.sh # 测试s8
  381. ./run_eval_s8_multiscale.sh # 测试s8 + 多尺度
  382. ./run_eval_s8_multiscale_flip.sh # 测试s8 + 多尺度 + 翻转
  383. ```
  384. 测试脚本示例如下:
  385. ```bash
  386. python ${train_code_path}/eval.py --data_root=/PATH/TO/DATA \
  387. --data_lst=/PATH/TO/DATA_lst.txt \
  388. --batch_size=16 \
  389. --crop_size=513 \
  390. --ignore_label=255 \
  391. --num_classes=21 \
  392. --model=deeplab_v3_s8 \
  393. --scales=0.5 \
  394. --scales=0.75 \
  395. --scales=1.0 \
  396. --scales=1.25 \
  397. --scales=1.75 \
  398. --flip \
  399. --freeze_bn \
  400. --ckpt_path=/PATH/TO/PRETRAIN_MODEL >${eval_path}/eval_log 2>&1 &
  401. ```
  402. ### 结果
  403. 运行适用的训练脚本获取结果。要获得相同的结果,请按照快速入门中的步骤操作。
  404. #### 训练准确率
  405. | **网络** | OS=16 | OS=8 | MS |翻转| mIOU |论文中的mIOU |
  406. | :----------: | :-----: | :----: | :----: | :-----: | :-----: | :-------------: |
  407. | deeplab_v3 | √ | | | | 77.37 | 77.21 |
  408. | deeplab_v3 | | √ | | | 78.84 | 78.51 |
  409. | deeplab_v3 | | √ | √ | | 79.70 |79.45 |
  410. | deeplab_v3 | | √ | √ | √ | 79.89 | 79.77 |
  411. 注意:OS指输出步长(output stride), MS指多尺度(multiscale)。
  412. ## 导出mindir模型
  413. ```shell
  414. python export.py --ckpt_file [CKPT_PATH] --file_name [FILE_NAME] --file_format [FILE_FORMAT]
  415. ```
  416. 参数`ckpt_file` 是必需的,`EXPORT_FORMAT` 必须在 ["AIR", "MINDIR"]中进行选择。
  417. ## 推理过程
  418. ### 用法
  419. 目前仅可处理batch_Size为1。
  420. ```shell
  421. # Ascend310 推理
  422. bash run_infer_310.sh [MINDIR_PATH] [DATA_PATH] [DATA_ROOT] [DATA_LIST] [DEVICE_ID]
  423. ```
  424. `DEVICE_ID` 可选,默认值为 0。
  425. ### 结果
  426. 推理结果保存在当前路径,可在acc.log中看到最终精度结果。
  427. | **Network** | OS=16 | OS=8 | MS | Flip | mIOU | mIOU in paper |
  428. | :----------: | :-----: | :----: | :----: | :-----: | :-----: | :-------------: |
  429. | deeplab_v3 | | √ | | | 78.84 | 78.51 |
  430. # 模型描述
  431. ## 性能
  432. ### 训练性能
  433. | 参数 | Ascend 910
  434. | -------------------------- | -------------------------------------- |
  435. | 模型版本 | DeepLabV3
  436. | 资源 | Ascend 910;系统 Euler2.8 |
  437. | 上传日期 | 2020-09-04 |
  438. | MindSpore版本 | 0.7.0-alpha |
  439. | 数据集 | PASCAL VOC2012 + SBD |
  440. | 训练参数 | epoch = 300, batch_size = 32 (s16_r1) epoch = 800, batch_size = 16 (s8_r1) epoch = 300, batch_size = 16 (s8_r2) |
  441. | 优化器 | Momentum |
  442. | 损失函数 | Softmax交叉熵 |
  443. | 输出 | 概率 |
  444. | 损失 | 0.0065883575 |
  445. | 速度 | 31 帧数/秒(单卡,s8)<br> 234 帧数/秒(8卡,s8) |
  446. | 微调检查点 | 443M (.ckpt文件) |
  447. | 脚本 | [链接](https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/deeplabv3) |
  448. ## 推理性能
  449. | 参数 | Ascend |
  450. | ------------------- | --------------------------- |
  451. | 模型版本 | DeepLabV3 V1 |
  452. | 资源 | Ascend 910;系统 Euler2.8 |
  453. | 上传日期 | 2020-09-04 |
  454. | MindSpore 版本 | 0.7.0-alpha |
  455. | 数据集 | VOC 数据集 |
  456. | batch_size | 32 (s16); 16 (s8) |
  457. | 输出 | 概率 |
  458. | 准确率 | 8pcs: <br> s16: 77.37 <br> s8: 78.84% <br> s8_multiscale: 79.70% <br> s8_Flip: 79.89% |
  459. | 推理模型 | 443M (.ckpt 文件) |
  460. # 随机情况说明
  461. dataset.py中设置了“create_dataset”函数内的种子,同时还使用了train.py中的随机种子。
  462. # ModelZoo主页
  463. 请浏览官网[主页](https://gitee.com/mindspore/mindspore/tree/master/model_zoo)。