about
参考
cdw_FstLst的 Ubuntu配置Caffeonspark教程
Note
安装的总体流程请看cdw_FstLst同学的 Ubuntu配置Caffeonspark教程
在这里说明几点注意的,结合之一起看。
0 在装CaffeOnSpark之前,请先确保已安装了Caffe, Hadoop, Spark, JDK,maven,其中需要安装maven的同学可以看过来ubuntu下安装maven
1 在配置环境变量那里:
export HADOOP_HOME=/path/to/hadoop #此处别瞎搬,为你自己的spark路径
export PATH=${HADOOP_HOME}/bin:${PATH}
export SPARK_HOME=/path/to/spark #此处别瞎搬,为你自己的spark路径
export PATH=${SPARK_HOME}/bin:${PATH}
export MAVEN_HOME=/path/to//maven #此处别瞎搬,为你自己的spark路径
export PATH=${MAVEN_HOME}/bin:${PATH}
前面的
不知是什么鬼,所幸我直接删掉了,省事(然而后面也并没报错,反而加上去时在source ~/.bashrc时出了毛病)
- 2 编译CaffeOnSpark
make build
同理,删掉
直接
$ make build
在编译时报错了,大概是这样的
error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (proto) on project caffe-distri: An Ant BuildException has occured: exec returned: 2
[ERROR] around Ant part ...... @ 5:91 in /home/hadoop/CaffeOnSpark/caffe-distri/target/antrun/build-protoc.xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :caffe-distri
make: *** [build] Error 1
简而言之,就是一堆关于maven这东东的错误,
楼上cdw_FstLst博主说是网络问题,我也不清楚是不是,直接
$ make build
还是报错。
后来自行百度必应谷歌了一堆,最后发现StackOverflow这里有个不错的方法
简单说来,我只是把Caffe目录下的Makefile.config 文件拷贝到了CaffeOnSpark/caffe-public目录下,
然后执行
$ make clean make build # make clear 清除上次编译失败的
然后郁闷地去洗了个澡,没报希望的点亮屏幕,竟然Build success了[不解][不解]
所以到最后,我也不知道是因为网络问题,还是那个Makefile.config问题,不过,照这个流程跑一遍,应该是可以okay的。
- 4 测试
在Running CaffeOnSpark in Standalone Spark Clusters测试的时候,出现了一先问题。下面的多少会和上面的步骤有些重叠,请愉快地略过吧。
按照流程来,第一步是:
1) Clone CaffeOnSpark code.
由于我已经安装了CaffeOnSpark,所以就没用git下载了,意思就是跳过这步
git clone https://github.com/yahoo/CaffeOnSpark.git --recursive
直接终端执行
~$ export CAFFE_ON_SPARK=$(pwd)/CaffeOnSpark #~表示当前的工作目录为**home**
2) Install hadoop, spark
由于之前已经安装,并配好了环境变量,故此步跳过
3) Install caffe
由于之前装过,所以也时跳过
4) Create a CaffeOnSpark/caffe-public/Makefile.config
也可以直接像前面的做法那样,单独把Caffe目录下的Makefile.config文件拉进去,在Makefile.config里文件头加上
INCLUDE_DIRS += ${JAVA_HOME}/include
5) Build CaffeOnSpark
之前已经build success,不再解释。
6) Install mnist dataset
此处坑了我一下午。。。。
如果你在终端直接运行
${CAFFE_ON_SPARK}/scripts/setup-mnist.sh
那么可能出现以下错误
Downloading...
mv: target ‘data/mnist/’ is not a directory
/home/hadoop/CaffeOnSpark/scripts/setup-mnist.sh: line 13: examples/mnist/create_mnist.sh: No such file or directory
mv: cannot stat ‘examples/mnist/mnist_train_lmdb’: No such file or directory
mv: cannot stat ‘examples/mnist/mnist_test_lmdb’: No such file or directory
问题就是,我们忘了一个软连接!多么痛的领悟啊啊啊!!!
- 待我喝口水,细细道来。
首先,打开https://github.com/yahoo/CaffeOnSpark网页,是不是看到了这个:
- 注意到caffe-public@fc0a02e没?,就是这里,看看便察觉到和其他的文件夹不同,其实,这里是一个链接文件夹。一点进去,发现:
- 它调到caffe那个目录去了!!!
但是接着看看我们自己下的CaffeOnSpark文件夹,点开caffe-publc,里面竟是什么都没有!!!(当然,如果有的话,那也只是刚刚我们自己添加了的Makefile.config文件。这不算数哈!)
所以说,我们需要把caffe-public变为一个链接文件夹,链接到caffe那个文件目录。解决方法看看下面,上面一段其实就是简单的水了一下哈
解决方法:
$ cd CaffeOnSpark
$ rm -R caffe-public #删掉原先的caffe-public
$ ln -s /home/alpha/caffe caffe-public #建立新的caffe-public链接文件夹,链接到caffe
!Note:
- 1 ,注意,/home/alpha应改成你自己的caffe目录
- 2 这样一来,也便删除了原先的Makefile.config文件,记得再在Caffe目录下的Makefile.config修改一下哈(直接点击caffe-public就可以进去了,不用再把Makefile.config复制到caffe-public下了,现在它们本来就是在的啊)
再执行一遍
$ ${CAFFE_ON_SPARK}/scripts/setup-mnist.sh #第一个$为终端Shell标识符,不用输入哈
后面的说什么需要两台机子一起搞Spark计算,我还没看懂,况且目前自己就一台笔记本,所以,有待日后更新,后会有期。