caffe多GPU上手

狂风中的少年 提交于 2020-04-06 09:30:33

最新的caffe,增加了一个nccl的模块,用于支持多个GPU的运行。只需要在终端的  -gpu 参数加入0,1,2,3

配置环境:Ubuntu14.04 Mate + CUDA8.0 +NVIDIA1080Ti (X2) + matlab2015a +caffe(最新版)

需要安装NCCL

$ git clone https://github.com/NVIDIA/nccl.git
$ cd nccl
$ sudo make install -j4

只需要然后在caffe 的config文件中注释去掉USE_NCCL := 1即可编译。

如果中途出现一些问题,可能原因可以去NCCL的github论坛里面找,还有如果gcc版本太低,也会出现编译错误,gcc需要最低版本4.8。

官方的多GPU的caffe编译成功。

接下来是做分割的Segnet网络的多GPU编译及其使用。

首先原来剑桥大学源码Segnet,https://github.com/alexgkendall

不支持多个GPU训练,很坑爹,batchsize只能设置为4,(480x360)。

然后下载https://github.com/developmentseed/caffe/tree/segnet-multi-gpu

接下来就是编译,其他按照标准的caffe教程安装。

如有想了解中间修改过程的可以参考:

https://github.com/developmentseed/caffe/commits/segnet-multi-gpu

由于protobuf最近更新至3.x版本,所以更新过protobuf版本的同学一定要用2.6以上的版本,3.x以下的版本。

如果电脑配置比较好,然后想编译快一点的话,你用了

$make -j128

命令的话,会下面的错误,只要用make -j8就可以。

compilation terminated.
The bug is not reproducible, so it is likely a hardware or OS problem.
make: *** [.build_release/src/caffe/util/signal_handler.o] Error 1
make: *** Waiting for unfinished jobs....



最后就可以顺利编译完成。

发布了347 篇原创文章 · 获赞 635 · 访问量 266万+
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!