longcw / faster_rcnn_pytorch

Faster RCNN with PyTorch
MIT License
1.71k stars 466 forks source link

能不能使用CPU ONLY版本 #5

Closed JiangWeixian closed 7 years ago

JiangWeixian commented 7 years ago

由于没有CUDA(也没办法装上CUDA),所以在./make.sh时出错,想问问有没有CPU ONLY的解决办法。希望回复,万分感谢。

longcw commented 7 years ago

可以,但是只支持inference,不能训练,没有实现roi pooling cpu版本的backward. 去掉demo 里面的 .cuda() 并注释mask.sh中的:

echo "Compiling roi pooling kernels by nvcc..."
nvcc -c -o roi_pooling.cu.o roi_pooling_kernel.cu \
     -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -arch=sm_52

faster_rcnn_pytorch/faster_rcnn/roi_pooling/build.py 中的:

extra_objects = ['src/cuda/roi_pooling.cu.o']
extra_objects = [os.path.join(this_file, fname) for fname in extra_objects]
JiangWeixian commented 7 years ago

感谢指导,现在以及出结果了。还有我在说一下还需要修改的地方,还要把setup.py里面所有关于cuda注释掉,以及其中ext_modules里面gpu_nms删除。然后你再python demo.py

然而你还要改东西,因为代码里面很计算的地方用到torch.cuda()计算。而且传递给函数参数中都默认is_cuda=True,而且还有地方使用gpu_nms,因为比较多,所以就不贴了。所以大家就看着命令行哪里报错,就在对应的文件里面该注释的注释,该改参数的该参数,基本上没有问题了。

感谢作者分享,hhhhhh

andrewssobral commented 7 years ago

Hi @longcw How can I compile and run training and test with CPU_ONLY mode? Thanks!

sajjad-askari commented 6 years ago

Hi JiangWeixian. please explain full of details of actions that achieve reply. please list this actions.

chenlx92 commented 6 years ago

@JiangWeixian 能否push你修改后的cpu-only的代码?