安装CaffeOnSpark过程中遇到的问题及解决方案
安装教程来自 http://blog.csdn.net/sadonmyown/article/details/72781393
首先,我使用的节点环境是ubuntu 16.04.1,事先 成功安装了spark和hadoop,版本分别为spark-2.11和hadoop-2.7.3
问题 1:按照教程一步步进行到编译Caffe步骤时,出现如下错误:
Step 1
在Makefile.config文件的第95行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Step 2
在Makefile文件的第181行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
1 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
2 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
问题 2:编译CaffeOnSpark时,出现如下错误:
同问题1解决方式相同,不同的是修改的文件是CaffeOnSpark/caffe-public下面的Makefile.config和Makefile文件,此处无须赘述!
继续编译,仍有错误出现,最终导致编译失败,部分截图如下所示:
根据错误发现是节点缺少Protobuf依赖,因此需要安装对应hadoop版本的Protobuf,安装过程我参考了 http://blog.csdn.net/blue_it/article/details/53996216 的安装教程,安装过程中主要注意有两点:
1.版本号必须对应,否则很可能出现不可预料的错误
2.编译过程中需要使用sudo权限,以免出现权限不够的情况
其他相关问题教程中也会有提及。
此处问题我上网搜了很多问题,最终是把Caffe目录下的Makefile.config 文件拷贝到了CaffeOnSpark/caffe-public目录下,执行
make clean make build
再重新编译,最终成功了。
希望对遇见相同问题的你有所帮助!