Retinanet 代码复现过程笔记 pytorch

主要记录一下自己的复现热retinanet的一个过程。
参考了:这篇博客写的很好
https://blog.csdn.net/baidu_38406307/article/details/105467019.

这个是在CPU环境下,整的
github下的是这个代码:链接: https://github.com/yhenon/pytorch-retinanet.

我的环境是
win10
pycharm

PS:在win10运行后,我也在Ubuntu上进行了运行,步骤一样,亲测可行。

1.首先创建一个新的虚拟环境:

conda create -n r1 python==3.7

2.然后激活

conda activate r1
conda install pytorch-cpu==1.1.0 torchvision-cpu==0.3.0 cpuonly -c pytorch

4.安装:

pip install pandas
pip install scikit-image
pip install Cython
pip install opencv-python
pip install requests
conda install git
pip install pycocotools

(这个部分我没遇到错误,pycocotools也是按照这个安装顺序成功装上了)

5.下载COCO2017数据集
(我下的很慢,然后解压缩)

  • 数据集下载完成解压完之后,
  • 在项目根目录创建 coco 文件夹
  • 在 coco 文件夹中创建 images 文件夹
  • 把数据集的train2017文件夹放入到images文件夹中
  • annotations_trainval2017压缩包中的annotations文件夹,剪切出来单独放在coco文件夹下

下面是我的 coco 文件夹详细结构
Retinanet 代码复现过程笔记 pytorch_第1张图片
Retinanet 代码复现过程笔记 pytorch_第2张图片
6.打开pycharm这个项目的terminal

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

输进去,运行。
(这里我报错了,好像是coco路径错误。后来同门帮我解决,是因为我没在 train.py这个里面加coco数据集的路径参数好像,反正我是整么解决的)

  • 在pycharm里面按 shift+alt+f10,出现一个选项框
  • 选择edit那个,
  • 然后在参数parser一栏,把
--dataset coco --coco_path ./coco --depth 50

贴上去
Retinanet 代码复现过程笔记 pytorch_第3张图片
然后再去terminal里面运行,就没问题了。

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

7.下载预训练模型,放在项目根目录
链接: https://drive.google.com/open?id=1yLmjq3JtXi841yXWBxst0coAgR26MNBS.

8.打开可视化的visualize.py,修改几行代码,这个博主少写了一块,就是需要在前面加上

from retinanet import model

不然后面会报错,没有model

需要修改的地方大概在五十几行,注释掉原本的,再加两行,就可以了

# retinanet = torch.load(parser.model,map_location='cpu')
retinanet = model.resnet50(num_classes= dataset_val.num_classes(),)
retinanet.load_state_dict(torch.load(parser.model,map_location='cpu'))

9.在terminal运行

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

就好了,一会就出现一张图片和检测结果了

感谢两位博主,目前已经复现了。

你可能感兴趣的:(pytorch,深度学习,python)