因为最近在读gan的相关工作,wgan的工作不得不赞。于是直接去跑了一下wgan的代码。
原作者的wgan是在lsun上测试的,而且是基于pytorch和pyvision的,于是要装,但是由于我们一直用的是python 2.7,所以无法从WGAN的页面上跳到pytorch的官方页面下载安装,需要安装github上的版本,这个是不需要python3.5的。重新装的系统,就安装了tensorflow和caffe,编译都没问题。但是当我安装pytorch和pyvision时,涉及到lmdb,过程出了问题,conda的安装不起效果,于是折腾了一番。目前跑起来倒是很好,看了一下wgan的代码真是简单,和论文比起来简单多了。
因为之前好久没有怎么跑过代码了,听同事说有了多GPU的detection程序放出来,这个我肯定不能错过的,detection跟踪这么多年,没做什么创新性的贡献,但是至少我还是很了解行情的啊。找到代码clone下来后发现我系统新装的,cython, easydict都没有,于是继续装。这个时候就出问题了,我默认conda安装了最新版的opencv于是caffe都编译不过了,到网上找了caffe的issue发现是版本问题,于是只好重新来,装了2.4.11的版本,还有conda装了protobuf,然后我下载的程序py-R-FCN-multiGPU依然不行。最后只好跑一下我熟悉的py-faster-rcnn,可以运行,说明我的电脑环境配置没问题了。于是重新clone上面的代码,方可运行通过。
目前py-R-FCN-multiGPU 确实支持多GPU的,但是速度上并不能达到几倍的效果,具体实现原理需要再细看,目前来看是用了nvidia的NCCL库。后面我会跟着更新一些细节,看看是如何实现多GPU的。
另外,网上也看到有多GPU的版本,不过是借助于python的多process的包chainer实现的,时间比上面的版本早点,好像用的人不少,链接在这里chainer-faster-rcnn。
本文链接:http://task.lmcjl.com/news/6108.html