最近用caffe多GPU联调时遇到问题,如果正常用caffe的多gpu训练而不加初始化模型,末尾加--gpu=0,1,不会有问题;然而当用pretrained模型finetune网络时,如--weights=xxx.caffemodel,则会报如下错误:
Multi-GPU execution not available - rebuild with USE_NCCL
提示nccl没有安装,于是百度了一下,需要下载nccl源码安装,然后就是修改caffe的编译选项。由于我用的make编译的,需要该2个地方:
1.在Makefile.config文件中加
USE_NCCL := 1
INCLUDE_DIRS += /home/xd133/nccl/build/include
LIBRARY_DIRS += /home/xd133/nccl/build/lib
1
2
3
2.在Makefile中加
ifeq ($(USE_NCCL), 1)
LIBRARIES += nccl
COMMON_FLAGS += -DUSE_NCCL
endif
1
2
3
4
同时需要该链接库的路径:
打开.bashrc文件
sudo gedit ~/.bashrc
末尾加入:
export LD_LIBRARY_PATH=/home/xd133/nccl/build/lib:$LD_LIBRARY_PATH
关闭,执行下面命令使其生效
source ~/.bashrc
1
2
3
4
5
6
最后,重新编译以下caffe就可以多gpu finetune了。
sudo make clean
sudo make all -j
---------------------
作者:wudi_X
来源:CSDN
原文:https://blog.csdn.net/wudi_X/article/details/80012764
版权声明:本文为博主原创文章,转载请附上博文链接!
一、caffe下gpu训练,环境配置——安装NCCL和修改Makefile.config文件
安装NCCL1.0(先安装cuda和cudnn)
下载NCCL1.0(cuda版本要求:cuda version>6.0,gcc 版本>=gcc 4.8)
NCCL下载地址
安装NCCL
cd nccl-master
sudo make CUDA_HOME=/usr/local/cuda-8.0/ test #根据自己cuda路径修改CUDA_HOME
sudo make install
sudo ldconfig
修改caffe目录下的Makefile.config
把
#USE_NCCL:=1
1
改为
USE_NCCL:=1 #把前面的#注释掉
1
重新编译caffe
make all -j8
make pycaffe -j8
make test
make runtest -j8 #如果报错在前面加sudo
make install
---------------------
作者:jmujsc
来源:CSDN
原文:https://blog.csdn.net/jmu201521121021/article/details/78654037
版权声明:本文为博主原创文章,转载请附上博文链接!