TSN算是Action Recognition比较经典的方法,之前在刚入门的时候跑过一遍这个代码,当时只用了一块GPU来跑,并没有关注该版本的caffe是使用了openMPI来实现并行运算的.貌似从没有关注过多GPU训练,因为只有一张卡啊~

一开始以为按照通用的设置caffe中多GPU的使用方法,设置完成以后,总是提示数值无效的错误.

Caffe-TSN 多GPU并行运算OpenMPI

然后我又看到解决方案里面有人说需要打开nccl编译的选项,caffe 问题集锦之使用cmake编译多GPU时,更改USE_NCCL=1无效

安装也重新编译了,但还是没有解决上述问题,不知道原因在哪.就当我百思不得其解的时候,挨个浏览issue时发现,该caffe是基于TSN那一版的A fork of Caffe with OpenMPI-based Multi-GPU (mainly data parallel) support for action recognition and more,然后就开始按照Readme.txt中的提示安装OpenMPI,ubuntu安装openMPI教程,安装时需要注意:

Caffe-TSN 多GPU并行运算OpenMPI

这里本人安装的版本是mpirun (Open MPI) 2.0.2,安装的时候可参考build_all.sh文件中的脚本进行安装可参考安装链接

Caffe-TSN 多GPU并行运算OpenMPI

安装完成以后,重新编译caffe即可.