您当前的位置:首页 > IT编程 > 医学CAD
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:训练retinanet

51自学网 2020-11-01 08:42:56
  医学CAD
这篇教程训练retinanet写得很实用,希望能帮到您。

[项目实战]训练retinanet(pytorch版)

 

采用github上star比较高的一个开源实现https://github.com/yhenon/pytorch-retinanet

在anaconda中新建了一个环境,因为一开始并没有新建环境,在原有的环境里,遇到了pytorch,numpy等版本问题,尤其是一开始用0.1.2版的pytorch,有一个TH路径不对,导致编译错误,这是我最讨厌的错误,遇到编译错误往往一脸懵逼,如果NMS部分不用编译,直接用python实现就好了,当然那样速度可能会慢很多.

先记录下我的各个包的版本

cffi                      1.12.2

cudatoolkit               9.0

cudnn                     7.3.1

Cython                    0.29.7

matplotlib                3.0.3

numpy                     1.15.4

pytorch                   0.4.0

torchvision               0.2.1

当然了,其他版本也可以,但是这个版本一定是可行的.

然后准备训练coco,首先需要下载coco,这里采用wget下载,几个压缩包的地址链接https://blog.csdn.net/daniaokuye/article/details/78699138#commentsedit

采用wget下载意外地很慢,于是采用迅雷,意外地很快

网络开始训练,没有采用预训练权重,既没有用coco训练好的,也没有用resnet的预训练权重(下载起来太慢了)

python train.py --dataset coco --coco_path ../coco --depth 50

训练截图

采用2个图片作为一个batch训练,GPU占用

batchsize为2,训练一个epoch大约6个小时,按照代码中默认的100个epoch,恐怕得600个小时,一个月了

幸好源代码中提供了训练好的coco权重,可以为我们所用,那就先看一下训练好的效果,调用可视化代码

python visualize.py --dataset coco --coco_path ../coco --model ./coco_resnet_50_map_0_335_state_dict.pt

效果

 

检测效果还是ok的~

这个版本的实现代码量在2000行左右,很适宜阅读,尤其是与Mask R-CNN(matterport版,大概6000行)相比

可视化代码稍加改造,就可以作为一个目标检测器使用了,棒!


RetinaNet网络解析
SimpleITK是ITK的简化接口
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1