• [项目实战]训练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行)相比

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

  • 相关阅读:
    bs4解析错误之 bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml.
    UI自动化之selenium元素定位不到问题的原因有哪几种?
    selenium定位:出现Message: element not interactable 元素不可交互的问题解决方案
    JS--编码规范
    JS操作数组-2
    JS-数组操作3
    JS操作数组
    用JS解决url地址中参数乱码的问题
    数组去重--ES5和ES6
    选择排序
  • 原文地址:https://www.cnblogs.com/wzyuan/p/10822162.html
Copyright © 2020-2023  润新知