faster_rcnn代码运行与实践

本文详细记录了Faster R-CNN从编译到运行过程中遇到的多个常见错误及其解决办法,包括Cython安装、PyTorch版本兼容、CUDA配置和numpy版本更新等关键步骤。

2020年4月1日:

cd lib sh make.sh

错误一:

 

Traceback (most recent call last): File "setup.py", line 14, in <module> from Cython.Distutils import build_ext ImportError: No module named Cython.Distutils

解决办法:

conda install Cython

错误二:

 

错误原文:

Compiling nms kernels by nvcc... ./make.sh: line 25: nvcc: command not found Traceback (most recent call last): File "build.py", line 4, in <module> from torch.utils.ffi import create_extension File "/home/xingduan/miniconda2/envs/faster_rcnn_pyt/lib/python2.7/site-packages/torch/utils/ffi/__init__.py", line 1, in <module> raise ImportError("torch.utils.ffi is deprecated. Please use cpp extensions instead.") ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

原因分析:查询发现/usr/local/cuda下面已经将cuda安装好了,只是没有添加到当前窗口中来,所以运行如下两个命令即可。

解决办法:

export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH export PATH=/usr/local/cuda/bin:$PATH

错误三:

 

错误原文:

Traceback (most recent call last): File "build.py", line 4, in <module> from torch.utils.ffi import create_extension File "/home/xingduan/miniconda2/envs/faster_rcnn_pyt/lib/python2.7/site-packages/torch/utils/ffi/__init__.py", line 1, in <module> raise ImportError("torch.utils.ffi is deprecated. Please use cpp extensions instead.") ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

错误原因分析:当前运行的pytorch比faster_rcnn_pyt中的要新,在新的PyTorch 版本中,torch.utils.ffi被弃用了,需要用其他包来替代。

错误四:

 

错误原文:

Traceback (most recent call last): File "build.py", line 33, in <module> extra_objects=extra_objects File "/home/xingduan/miniconda2/envs/faster_rcnn_pyt/lib/python2.7/site-packages/setuptools/__init__.py", line 163, in __init__ _Command.__init__(self, dist) File "/home/xingduan/miniconda2/envs/faster_rcnn_pyt/lib/python2.7/distutils/cmd.py", line 59, in __init__ raise TypeError, "dist must be a Distribution instance" TypeError: dist must be a Distribution instance

原因分析:

总结:错误三和错误四统一通过将pytorch的版本降到0.4.0即可解决。

2020年4月2日:

将上述错误一到四突破之后,即可成功编译faster_rcnn的代码。

尝试编译faster_rcnn:

CUDA_VISIBLE_DEVICES=$GPU_ID python trainval_net.py --dataset COCO --net vgg16 --bs $BATCH_SIZE --nw $WORKER_NUMBER --lr $LEARNING_RATE --lr_decay_step $DECAY_STEP --cuda

错误五:

错误原文:

 

(faster_rcnn_pyt) xingduan@gpu2:~/pyProjects/faster-rcnn.pytorch$ CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset COCO --net vgg16 --bs 1 --nw 1 --lr 0.001 --lr_decay_step 1000 --cuda
Traceback (most recent call last):
  File "trainval_net.py", line 27, in <module>
    from roi_data_layer.roidb import combined_roidb
  File "/home/xingduan/pyProjects/faster-rcnn.pytorch/lib/roi_data_layer/roidb.py", line 12, in <module>
    from datasets.factory import get_imdb
  File "/home/xingduan/pyProjects/faster-rcnn.pytorch/lib/datasets/factory.py", line 14, in <module>
    from datasets.pascal_voc import pascal_voc
  File "/home/xingduan/pyProjects/faster-rcnn.pytorch/lib/datasets/pascal_voc.py", line 23, in <module>
    from .imdb import imdb
  File "/home/xingduan/pyProjects/faster-rcnn.pytorch/lib/datasets/imdb.py", line 14, in <module>
    from model.utils.cython_bbox import bbox_overlaps
  File "__init__.pxd", line 918, in init model.utils.cython_bbox
ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject
 

错误原因分析:numpy 版本过低

解决办法:更新numpy 版本至 1.16.0

                  conda install numpy==1.16.0

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值