py faster rcnn+ 1080Ti+cudnn5.0

时间:2023-03-08 22:04:00

看了py-faster-rcnn上的issue,原来大家都遇到各种问题。

我要好好琢磨一下,看看到底怎么样才能更好地把GPU卡发挥出来。最近真是和GPU卡较上劲了。

上午解决了g++的问题不是。

然后下午我就想我要解决掉yml加载不上的问题。就是easydict版本太低了,可以改代码,也可以从新安装。conda install -c verydeep easydict. 参考:https://github.com/rbgirshick/py-faster-rcnn/issues/201

还有一个问题,就是解决了py faster rcnn不能用cudnn的问题,就是我目前的版本就各种问题吧。按照issue里说的,merge了caffe最新的代码。参考:https://github.com/rbgirshick/py-faster-rcnn/issues/237。这个地方改后,提速了好多倍,确实很有必要的。

还有一个问题,就是lib的一些代码,现在总是会提示index integer等等的问题,就是不支持非integer作为index了。看了issue,好像说是numpy版本太高了,需要降低版本到(1.11.0),参考:https://github.com/rbgirshick/py-faster-rcnn/issues/480  这个问题好像不好解决,下载numpy涉及到太多东西,安装起来又会有别的问题。建议还是直接安装低版本的anaconda吧。

目前还有问题,就是多GPU版本的代码不能保存snapshot。

今天网络有问题,我等把上面的问题都解决了,再解决保存问题。

我今天一天就是在debug,而且是各种版本问题。所以其实我想把ananconda从新装一个旧的版本,不用目前的ananconda2了。各种bug的生活太难受了。

以前在原来单位也用了anaconda2有大半年了,没发现有这么多问题,这次我新下的版本简直就是各种不兼容各种不兼容各种不兼容!

从rcnn一直各个版本一路用下来,改过其中的代码,参数优化,各种工作。可换了一套环境,感觉还是像新手一样,尤其是发现和新的软件包各种不兼容后,觉得一方面要把自己用到的这些都保存,另一方面也要注意留意这些新的包更新时有什么改进的地方,比如numpy对index的要求,以前不会提示float不可以,现在就不行了,做index的参数必须强制转化为int。还有easydict,我这次跑通faster rcnn时就意识到了,YML文件失效了,当时也测试了,确实失效了。但是当时为了测试GPU卡的性能,没去理,就在python文件里把配置写好的。而caffe支持cudnn的部分,当时也发现了py-faster-rcnn的caffe对我新安装的cudnn编译不通过,当时我换成了原来一直用的caffe版本,跑起来没问题。还有g++编译问题,开始一直怀疑是gcc的问题,因为其中涉及到cuda,所以也担心是不是这个地方和driver不兼容。没想到归根到底还是anaconda包惹的事。当时把gpu.nms禁掉了,反正这部分的时间其实不必CPU快的。

目前的系统环境下,想把py-faster-rcnn成功配置好,可能最方便的方式就是把anaconda安装成原来的版本,不要那么新的,再者在安装easydict和opencv等软件包时,要指定版本号。

最近在处理数据,我想把系统从新格了,安装16.04,或者直接换成anaconda相对来说兼容性好的版本。anaconda也是,有些包新,有些包都是两年前的旧包了,要是像numpy那样,其实这种要求是一种好的习惯,本来用float做index就不是好习惯,但是easydict那个地方一直是旧版本的一个bug,anaconda包也该更新一下easydict才是啊。