本文主要是介绍windows下pytorch版faster rcnn代码使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
faster rcnn_pytorch代码使用
使用jwyang的代码,但是原github上是linux环境下的。这里尝试windows下的使用。
compile modules问题调试
安装步骤中
- Compile modules(nms, roi_pooling, and roi_align(from facebookresearch/maskrcnn-benchmark)):
cd pytorch-faster-rcnn/lib
python setup.py build develop
cd ../
出现的问题和解决方式如下:
1.unsupported Microsoft Visual Studio version
Error C1189 #error: – unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!
参考web
With some debugging, I found that on line 131 of file host_config.h in directory “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\crt” only supports a max _MSC_VER of 1910. Since Visual Studio 2017 is reporting version 1911, I changed the line to:
#if _MSC_VER < 1600 || _MSC_VER > 1911
And now the new project will build and run.
2.windows查看cuda和cudnn版本
CUDA:powershell输入nvcc -V
CUDNN:cudnn.h中MAJOR和MINOR
3.error: no instance of function template “THCCeilDiv” matches the argument list
error: no instance of overloaded function “std::min” matches the argument list
参考issue254和danpe1327
在出现错误的代码中修改为
- define a function
ceil_div
which is
int ceil_div(int a, int b):return (a + b - 1) / b;
- replace the
long
with int
dim3 grid(std::min(ceil_div((int)grad.numel(), 512), 4096));
注意danpe1327仅作参考修改ROIPool_cuda.cu和ROIAlign_cuda.cu,不需要按照其中内容修改setup.py。
4.error: could not create ‘maskrcnn_benchmark_C.cp36-win_amd64.pyd’: No such file or directory
如果修改了setup.py,就会出现这个问题。
Install the Python COCO API.
Install the Python COCO API. The code requires the API to access COCO dataset.
cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..
window时中安装cocoapi使用以下命令:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
参考win_cocoapi
问题:ModuleNotFoundError: No module named ‘pycocotools._mask’
If you get this error, it is because the COCO library you are calling is NOT our version of the library. Instead, you are (inadvertently) referencing a local copy of the library. So, if you get this error, search the tree of import in your code for a reference to a local pycocotools
library. Then, move or delete the local version.
当调试trainval.py时,模块调用不出现error说明以上配置完成。
训练
将预训练模型放置在/data/pretrained_model上;
将数据文件放置在/data中,如VOC数据集放置目录如下:
|-data
| |-VOCdevkit2007
| |-VOC2007
| |-Annotations
| |-ImageSets
| |-JPEGImages
| |-SegmentationClass
| |-SegmentationObject
点击训练即可。
未完待续
这篇关于windows下pytorch版faster rcnn代码使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!