毕业设计——运行基于pytorch的faster rcnn

2019.4.10


参考
https://github.com/jwyang/faster-rcnn.pytorch


一、下载代码

  • 从github下载代码到我的hdd,
git clone https://github.com/jwyang/faster-rcnn.pytorch.git

用上面的命令很慢,三次都报错

fatal: early EOF
fatal: index-pack failed

放弃之,使用浏览器下载,然后本地解压改名字为faster-rcnn.pytorch

  • faster-rcnn.pytorch下,新建存放数据的文件夹data
 cd faster-rcnn.pytorch && mkdir data

二、下载数据

  • PASCAL_VOC 07+12
    参考https://github.com/rbgirshick/py-faster-rcnn#beyond-the-demo-installation-for-training-and-testing-models
    在data文件夹下,
# 下载
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
# 解压
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
# Create symlinks for the PASCAL VOC dataset
ln -s $VOCdevkit VOCdevkit2007 #这个有问题,后面删掉了重新建立了
  • COCO暂时不用
  • Visual Genome暂时不用

三、下载预训练模型
新建data/pretrained_model/
VGG16:https://www.dropbox.com/s/s3brpk0bdq60nyb/vgg16_caffe.pth?dl=0
ResNet101:https://www.dropbox.com/s/iev3tkbz5wyyuz9/resnet101_caffe.pth?dl=0
下载两个放进pretrained_model文件夹。


2019.4.11

四、编译

  • 进入faster-rcnn.pytorch文件夹目录,用pip安装所有需要的依赖:
pip install -r requirements.txt
  • 编译:
cd lib
sh make.sh

报错:

ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

经过如下更改:

  • 重新下载pytorch=1.0的代码(暂时没用,用的还是master的pytorch0.4.0版本

  • 上述过程中我发现不对,是因为我今天重建虚拟环境pytorch之后装pytorch的时候,没有指定pytorch为0.4.0版本!所以默认装的是1.0.1了。。。
    在这里插入图片描述

  • 重建新环境py27torch040

  • 在pytorch官网找旧版本对应命令:

conda install pytorch=0.4.0 cuda80 -c pytorch

【 5.11注释】
这里要同时装torchvision,不然等下就要单独装,即:

conda install pytorch=0.4.0 torchvision cuda80 -c pytorch

在这里插入图片描述

重新在pytorch0.4.0的新虚拟环境下:

pip install -r requirements.txt
cd lib
sh make.sh

最后一步sh make.sh过程中报错:make.sh:nvcc not found,结尾报错cffi.VerificationError: LinkError: command 'gcc' failed with exit status 1

参考https://github.com/jwyang/faster-rcnn.pytorch/issues/112中的做法:
export PATH=$PATH:/usr/local/cuda/bin
sh make.sh
无报错。


五、编译完成,测试demo

python demo.py
  • 报错没有torchvision相关模块,安装torchvision(这是由于安装pytorch官网旧版pytorch安装的命令,没有安装torchvision,而新版命令如:conda install pytorch torchvision cudatoolkit=8.0 -c pytorch,会一并安装pytorch和torchvision)
conda install torchvision -c pytorch

2019.4.12

  • 昨天把下载的预训练模型faster_rcnn_1_6_10021.pth放在错的位置,然后折腾demo.py的里面的相对路径,以及怎样跑demo.py的问题。
  • 今天在作者GitHub里面的一个提问https://github.com/jwyang/faster-rcnn.pytorch/issues/248 中找到了答案。
  • 将下载的与训练模型.pth文件放在H:\hdd2T\faster-rcnn.pytorch\data\pretrained_model\vgg16\pascal_voc目录下,因为没有进行训练,所以后面两个文件夹是自己手动新建的。
  • 然后在终端运行下面的代码(作者GitHub上的斜杠是换行的意思,实际不需要,就空格然后连续输入就可以了。然后$后面的地方用实际的值代替,就会替换掉demo.py文件中parser里面各个默认值。
python demo.py --net vgg 16 --checksession 1 --checkepoch 6 --checkpoint 10021 --cuda --load_dir ./data/pretrained_model/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 向images文件夹中添加自己想测试的一张图片

  • 重新运行上述相同命令
    在这里插入图片描述

  • 好像漏检了一个车,效果还不错。


下午可以开始看怎样修改我要训练的数据集了

  • 先看看作者的模型直接在我要用的多尺度数据集上表现如何。
  • 再考虑用我自己的目标多尺度训练集在作者的网络上重新训练。

六、Test

  • 首先测试了作者的基于vgg16的网络模型在pascal_voc上的测试表现。
  • 之前建立的软连接似乎有问题。在data目录下重新建立:
ln -s ./VOCdevkit ./VOCdevkit2007

在这里插入图片描述

  • 然后运行test_net.py
 python test_net.py --dataset pascal_voc --net vgg16 --checksession 1 --checkepoch 6 --checkpoint 10021 --cuda --load_dir ./data/pretrained_model/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


七、train

  • 如果是想按照作者先训练再test,再demo看结果,参考文章https://blog.csdn.net/weixin_43380510/article/details/83004127
    中的步骤。可能我思路比较清奇,开始感觉训练要好久不想训练,就直接拿了训练好的模型来跑demo和test了。而其实按照作者的步骤的话,其实在test和demo运行的时候的路径的填充更简单。python test_net.py不需要--load_dir ./data/pretrained_model/python demo.py也只需要和trainval_net.py中默认的save_dir即是/models同步就可以,即--load_dir models
  • 然后又回来跑训练:
CUDA_VISIBLE_DEVICES=1 python trainval_net.py --dataset pascal_voc --net vgg16 --bs 1 --nw 1  --cuda

彼时年少不懂事,epoch和iter都设置太大,没有时间等下去了:
在这里插入图片描述


19.4.12晚

明天需要根据KITTI数据集建立VOC2007格式的数据集,然后放进这个faster-rcnn.pytorch里面进行训测。

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值