Faster-rcnn 运行环境配置

Faster-rcnn 运行环境配置


前言

本文主要记录下我在配置Faster-rcnn网络遇到的问题,欢迎大家交流指正。


一、下载源码

  • https://github.com/jwyang/faster-rcnn.pytorch
  • https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0

注意:推荐下载pytorch-1.0版本,后续可以避免很多bug。

使用git命令下载,需要选择分支。

$ git clone -b 分支名 网址.git 

二、配置环境

1.CUDA+pytorch

首先要确保你的主机或服务器有安装好CUDA和pytorch(这两个要互相对应)。
关于安装cuda环境配置,可以参考:
https://blog.csdn.net/wf19930209/article/details/81879514
https://zhuanlan.zhihu.com/p/79059379
我这里使用的是CUDA10.2+pytorch1.10.0+python3.6的环境。

2.创建数据文件夹

cd faster-rcnn.pytorch && mkdir data 
#在faster-rcnn.pytorch文件夹下创建data文件夹

3.下载数据

下载VOV2007标准数据集的相关数据。

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

执行下方命令解压缩数据到data/VOCdevkit。

tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar

注意!解压完成后将/data/VOCdevkit改名为/data/VOCdevkit2007,不然后面会出错。


4.下载预训练模型

目前github上vgg16、resnet101模型已无法下载。
我在别处仅找到vgg16的预训练模型,提供给大家下载。
链接: https://pan.baidu.com/s/1jisIecoYSXOBHz6Dj7aI9Q 提取码: xjge

在data文件夹下创建路径:/data/pretrained_model/
将下载好的预训练模型放入此处 /data/pretrained_model/


5.安装所需环境

  1. 返回/faster-rcnn.pytorch目录下 pip install -r requirements.txt 安装时可能会遇到这个问题:

    powershell Building wheel for opencv-python (PEP 517) ... -
    会在这里一直运行,这是因为OpenCV 是一个非常繁重的库,需要花费较多时间。有的人可以成功安装,有的会安装失败。

    可以尝试以下命令,或单独直接安装opencv。

pip install --upgrade pip setuptools wheel
pip install --upgrade pip 

  1. 编译CUDA依赖环境
cd lib
python setup.py build develop

编译时遇到错误:

1. error: invalid command 'develop'
2. _mask.pyx:258:78: Cannot assign type 'double' to 'siz'
3. can’t import ‘imread’
4. x86_64-linux-gnu-gcc: error: ../MatlabAPI/private/maskApi.c: No such file or directory

针对以上错误进行解决:

  1. 将文件中from distutils.core import setup替换为from setuptools import setup
  2. 在setup.py同目录下的_mask.pyx文件中,将len(np_poly)/2改为int(len(np_poly)/2)
  3. scipy的版本问题,改为from imageio import imread
  4. /lib/_mask.pyx文件中# distutils: sources = ../MatlabAPI/private/maskApi.c 改为 # distutils: sources = pycocotools/maskApi.c

到这里,关于faster-rcnn的配置就算完成了。


6.训练和测试

在训练之前需要根据自己的环境将trainval_net.pytest_net.py中的两个参数save_dirload_dir进行更改。

parser.add_argument('--save_dir', dest='save_dir',
                      help='directory to save models', default="/yourpath",type=str)

parser.add_argument('--load_dir', dest='load_dir',
                      help='directory to load models', default="/yourpath",type=str)

这里的/yourpath为存放预训练模型的路径。

(1)使用VGG16训练,使用如下命令(具体参数根据自己的需要修改):

CUDA_VISIBLE_DEVICES=0 python trainval_net.py \
                   --dataset pascal_voc --net vgg16 \
                   --bs 2 --nw 1 \
                   --lr 0.002 \
                   --cuda

(1)使用VGG16测试,使用如下命令(具体参数根据自己的需要修改):

python test_net.py --dataset pascal_voc --net vgg16 \
                   --checksession 1 --checkepoch 20 --checkpoint 5010 \
                   --cuda

这里指定具体的checksession、checkepoch、checkpoint数值。可以根据训练出来的模型名字来设置。
在这里插入图片描述


7.demo.py

这里也要注意更改路径:

  parser.add_argument('--load_dir', dest='load_dir',
                      help='directory to load models',
                      default="/yourpath")

运行命令:

CUDA_VISIBLE_DEVICES=0 python demo.py --net vgg16 --checksession 1 --checkepoch 20 --checkpoint 5010 --cuda

参考

https://blog.csdn.net/weixin_42782150/article/details/109820615

https://blog.csdn.net/weixin_43380510/article/details/83004127

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值