simple faster rcnn解读 一

一:代码框架和跑通simple faster rcnn遇到的问题

代码选择:https://github.com/*tc/simple-faster-rcnn-pytorch;

本文主要是自己将代码跑通中遇到的问题以及代码解读做一个记录。

1,代码整体框架

simple faster rcnn解读 一

2,跑通整个流程,主要按照上面代码中readme说明就好了。

3,跑通过程中遇到的几个问题

a,使用python3 build.py build_ext --inplace出现问题
(base) [email protected]:~/apt/simple-faster-rcnn-pytorch-master/model/utils/nms$ python3 build.py build_ext --inplace
running build_ext
skipping '_nms_gpu_post.c' Cython extension (up-to-date)
building '_nms_gpu_post' extension
gcc -pthread -B /home/charles/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/charles/anaconda3/include/python3.7m -c _nms_gpu_post.c -o build/temp.linux-x86_64-3.7/_nms_gpu_post.o
_nms_gpu_post.c:593:10: fatal error: numpy/arrayobject.h: No such file or directory
 #include "numpy/arrayobject.h"
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1

解决方式:因为对应的-I/home/charles/anaconda3/include/python3.7m下面没有numpy/arrayobject.h;在我这台电脑上找了以下,正确的路径应该是:-I/home/charles/anaconda3/lib/python3.7/site-packages/numpy/core/include/下面有numpy/arrayobject.h,所以在输入python3 build.py build_ext --inplace前,先运行export CFLAGS=-I/home/charles/anaconda3/lib/python3.7/site-packages/numpy/core/include/
注: CFLAGS指定头文件的路径

 

b,在训练过程中,会突然出现RuntimeError: DataLoader worker (pid 7848) is killed by signal: Killed.

在网上查了一下主要是由于batch-size设置和num-works设置过大导致,我设置numworks为4,batch-size=2;可以先将num-works设成2看看;我的设置后跑了9000多次it后还出现了这个问题。还没找到杀掉线程的根本原因。