复现代码的坑!!!
最近在复现大神的代码,代码链接:https://github.com/longcw/faster_rcnn_pytorch
当然不可能一帆风顺,一路上出现各种问题,差点崩溃~
Pytorch版本必须是0.4.0,Pytorch版本必须是0.4.0,Pytorch版本必须是0.4.0!!!重要的事说三遍!!!
如果你是小白,那么你很幸运读到这篇博客,因为这篇博客就是小白式的复现,哈哈
克隆代码
git clone https://github.com/longcw/faster_rcnn_pytorch
放心,这里没有坑~
修改make文件
按照git仓库中的步骤,下一步我们要运行make.sh文件了,但是,此处有坑!!!看官别急,让我们先看看make.sh文件:
文件内容:
坑就在红框内,这个arch是要根据自己的GPU类型决定的,源码中是sm_52,但是博主的是Tesla P100 型号的GPU,因此需要改为sm_60。这个一定要对应好!!!
其他的型号对应如下:
如若上方没有对应的,可以参考:https://blog.csdn.net/kkk584520/article/details/53814067 查找下,如果还是没有,一定要自己查资料找到对应的,千万不要尝试!!!很坑!!!博主的是Tesla P100 型号的GPU,对应的是sm_60。
运行make.sh
./make.sh
这里有个小坑:
这个是由于版本问题导致的,博主用的是python3.6,不支持iteritems了
只需要将iteritems改为items即可。
for k, v in cudaconfig.items():
if not os.path.exists(v):
raise EnvironmentError('The CUDA %s path could not be located in %s' % (k, v))
在运行make.sh就可以成功了~ 最后大概是这样的:(前面有一堆内容,只要没有报错就行)
下载训练好的模型
按照git中的介绍,下一步要下载训练好的模型到models目录,这个目录自己建,放在哪里都可以~
博主在工程的根目录下建的models,并将模型下载到目录下 (建议wget下载,因为ftp传输容易出现文件损坏)
由于这个是git中给的是谷歌的下载链接,服务器会出现连接不上的问题,因此下载到本地,然后使用pycharm中的upload,博主亲测可用,ftp传输会出现文件不完整。
运行demo.py
接下来就可以尝试了,用训练好的模型试试效果: