Ubuntu配置Caffeonspark教程
2016-05-26 14:51
381 查看
今年2月,Yahoo 对外发布了 CaffeOnSpark 人工智能的源代码,它被设计成为一个Spark深度学习包。最近因为项目需要,我开始尝试在自己的电脑上配置caffeonspark,打算在单机上配置好后再分布到集群上。然而根据雅虎在github网站上关于配置caffeonspark的教程Running
CaffeOnSpark Locally,我走了很多弯路。因为那个网站上的教程说的比较简略,特别是在配置caffe时只是贴出了caffe官网的配置教程链接,一些注意事项并没有说道;而且有一些prerequisites也没有提出来。后来根据自己的摸索总算把它配好了,这里写出来当做一个总结,方便之后的查阅,也希望能给他人一个借鉴,尽量少走弯路。
1.下载
这里首先把接下来需要直接用到的安装包先列出来,方便提前下载:
1.1 首先是CaffeOnSpark源代码,可以从github上下载zip包,或者使用命令下载:
1.2 spark和haddop,spark不必说肯定要下载,另外根据github网站上的教程,还需要下载hadoop,这个我不知是必须的还是为了方便在hadoop集群上使用,不过这里就先按照它的要求来做,反正不会有坏处。spark和hadoop的下载地址:
Spark:http://spark.apache.org/downloads.html
Hadoop:http://hadoop.apache.org/releases.html
1.3 Apache Maven,这是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。之所以需要用到这个,是在编译CaffeOnSpark时makefile里面的命令用到了mvn,这个在github网站的教程里并没有提到。
1.4 OpenCV,之所以要opencv,是因为在配置caffe时需要的,如果你的电脑上之前安装过opencv的话,这个可以忽略。OpenCV的下载在下面配置caffe的教程里有链接。
2. 环境配置
这里的每一个环境的设置都是单独配置某个应用时需要设置的,包括配spark,caffe,maven等,所以如果你之前在/etc/profile文件里面设置过某一个环境变量,在这里就可以忽略它。打开/etc/profile文件,输入:
以上步骤完成了对spark,hadoop,maven环境的设置(对于spark的设置其实不止这么简单,还需要设置java等环境,可以看我另外一篇博客64位UBUNTU 下安装和配置使用python的spark),接下来就是要配置caffe了。值得注意是,即使你之前在你的电脑上配置过caffe,这里还是需要在CaffeOnSpark/caffe-public路径下再次编译caffe,不过caffe所需要的环境就不需要再次设置了。如果你之前没配置过caffe,可以根据这个教程来,只是注意要在CaffeOnSpark/caffe-public下编译caffe,而且不需要再下载caffe安装包。对于makefile.config和makefile文件的修改,也是在这个路径里面进行,除了caffe配置教程里的修改,这里还需要对makefile.config文件加入这一句:
3. 编译CaffeOnSpark
如果你上面的步骤都完成了,就可以退到/path/to/CaffeOnSpark路径下编译CaffeOnSpark,执行命令:
如果前面的步骤都正确完成,就会开始对CaffeOnSpark进行编译(如下图),过程中需要下载很多东西,所以需要较长时间,请耐心等待。
编译完成后,再执行下面两条命令:
完成以上的工作后,就可以根据github网站上教程的例子进行测试,能正常运行说明配置成功了。
CaffeOnSpark Locally,我走了很多弯路。因为那个网站上的教程说的比较简略,特别是在配置caffe时只是贴出了caffe官网的配置教程链接,一些注意事项并没有说道;而且有一些prerequisites也没有提出来。后来根据自己的摸索总算把它配好了,这里写出来当做一个总结,方便之后的查阅,也希望能给他人一个借鉴,尽量少走弯路。
1.下载
这里首先把接下来需要直接用到的安装包先列出来,方便提前下载:
1.1 首先是CaffeOnSpark源代码,可以从github上下载zip包,或者使用命令下载:
git clone https://github.com/yahoo/CaffeOnSpark.git --recursive这个源代码包里内置了caffe的源代码包,供接下来编译caffe使用。
1.2 spark和haddop,spark不必说肯定要下载,另外根据github网站上的教程,还需要下载hadoop,这个我不知是必须的还是为了方便在hadoop集群上使用,不过这里就先按照它的要求来做,反正不会有坏处。spark和hadoop的下载地址:
Spark:http://spark.apache.org/downloads.html
Hadoop:http://hadoop.apache.org/releases.html
1.3 Apache Maven,这是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。之所以需要用到这个,是在编译CaffeOnSpark时makefile里面的命令用到了mvn,这个在github网站的教程里并没有提到。
1.4 OpenCV,之所以要opencv,是因为在配置caffe时需要的,如果你的电脑上之前安装过opencv的话,这个可以忽略。OpenCV的下载在下面配置caffe的教程里有链接。
2. 环境配置
这里的每一个环境的设置都是单独配置某个应用时需要设置的,包括配spark,caffe,maven等,所以如果你之前在/etc/profile文件里面设置过某一个环境变量,在这里就可以忽略它。打开/etc/profile文件,输入:
<pre name="code" class="html">export HADOOP_HOME=/path/to/hadoop export PATH=${HADOOP_HOME}/bin:${PATH} export SPARK_HOME=/path/to/spark export PATH=${SPARK_HOME}/bin:${PATH} export MAVEN_HOME=/path/to//maven export PATH=${MAVEN_HOME}/bin:${PATH}
以上步骤完成了对spark,hadoop,maven环境的设置(对于spark的设置其实不止这么简单,还需要设置java等环境,可以看我另外一篇博客64位UBUNTU 下安装和配置使用python的spark),接下来就是要配置caffe了。值得注意是,即使你之前在你的电脑上配置过caffe,这里还是需要在CaffeOnSpark/caffe-public路径下再次编译caffe,不过caffe所需要的环境就不需要再次设置了。如果你之前没配置过caffe,可以根据这个教程来,只是注意要在CaffeOnSpark/caffe-public下编译caffe,而且不需要再下载caffe安装包。对于makefile.config和makefile文件的修改,也是在这个路径里面进行,除了caffe配置教程里的修改,这里还需要对makefile.config文件加入这一句:
INCLUDE_DIRS += ${JAVA_HOME}/include这里也用到了java的环境。
3. 编译CaffeOnSpark
如果你上面的步骤都完成了,就可以退到/path/to/CaffeOnSpark路径下编译CaffeOnSpark,执行命令:
<pre name="code" class="html">make build
如果前面的步骤都正确完成,就会开始对CaffeOnSpark进行编译(如下图),过程中需要下载很多东西,所以需要较长时间,请耐心等待。
编译完成后,再执行下面两条命令:
<pre name="code" class="html">export LD_LIBRARY_PATH=${CAFFE_ON_SPARK}/caffe-public/distribute/lib:${CAFFE_ON_SPARK}/caffe-distri/distribute/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-7.0/lib64:/usr/local/mkl/lib/intel64/
完成以上的工作后,就可以根据github网站上教程的例子进行测试,能正常运行说明配置成功了。
相关文章推荐
- web前端性能优化
- AVA实践:面向未来的Node.js测试运行器
- 常用jQuery选择器详解
- Bootstrap自定义文件上传下载样式
- 【jcp jsr】 JCP JSR 认识
- jquery.qrcode 生成二维码带logo
- Jquery实现多级联动
- 安卓常用框架系列之butterknife
- js获取select标签选中的值
- js中几种实用的跨域方法原理详解
- AgularJS中Unknown provider: $routeProvider错误的解决方法
- GitHub上深度学习Caffe开源程序代码
- javascript 导出div为图片PNG,div转svg,svg转canvas
- underscore.js 源码中一些实用的工具方法
- 贾扬清:希望Caffe成为深度学习领域的Hadoop
- fedora 21 aarch64版本pxe安装内核报错问题解决
- js 刷新页面window.location.reload();
- jsp
- Java输入流之BufferReader和Scanner的用法!
- jquery的一个插件scrollable.js做的注册三步骤,只有完成第一个才能进入下一步