(本文大部分为别人整理的摘录,其中加入少许个人安装时候的补充)
由于TX1是ARM架构,其编译与下载与PC上的ubuntu系统有些许不同。以下进行归纳整理:
环境配置
编译环境配置
安装必要的caffe环境
1  | sudo add-apt-repository universe  | 
在apt安装时,上面有个openCV库通常在刷板子时就自动装进去了(OpenCV4Tegra),所以可以不用管
Caffe下载
1  | git clone https://github.com/BVLC/caffe.git  | 
编译caffe
所有环境都安装好之后,我们可以caffe的编译了。
首先需要对caffe的配置文件进行修改。使用cuDNN。
1  | cd caffe  | 
修改配置文件,或使用
1  | sed -i 's/# USE_CUDNN/USE_CUDNN/g' Makefile.config  | 
另外要注意的是,查看自己cuda版本,需要继续修改Makefile.config使兼容
1  | \# CUDA architecture setting: going with all of them.  | 
TX1装的cuda版本为7.0,按照文件中的提示,注释相应行。
另外,TX1对这个选项设置还需要作如下改动:
1  | CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \  | 
添加 -gencode arch=compute_53,code=sm_53 一行
参考:
编译caffe
1  | make -j 3 all  | 
关于使用make all -j 3 源于以下一段摘录
1  | now compile caffe, remember Do NOT use all the cores by make all -j, or it hangs the system. Instead use the following  | 
参考:
http://qinhongwei.com/2016/05/08/how-to-install-caffe-on-NVIDIA-TX1/
测试MNIST
我们使用caffe自带的mnist例子来测试caffe是否编译成功。
1  | $ bash ./date/mnist/get_mnist.sh  | 
如果caffe编译成功,则上面的程序不会报错。
使用g++编译caffe中的classification.cpp文件
使用g++指令编译classification.cpp文件,需要注意一些链接库的位置。
1  | $ g++ classification.cpp `pkg-config –libs –cflags opencv` -I /home/ubuntu/caffe/include -I /home/ubuntu/caffe/build/src -I /usr/local/cuda/include/ -L /home/ubuntu/caffe/build/lib/ -lcaffe -lprotobuf -lhdf5 -lhdf5_cpp -lhdf5_hl -lhdf5_hl_cpp -lleveldb -llmdb -lgflags -lglog -lboost_system -lboost_thread  | 
编译成功之后,运行生成的a.out文件测试效果。
1  | $ sudo ./a.out deploy.prototxt vgg\_iter\_3600.caffemodel mean.binaryproto label.txt 1.jpg  | 
注意自己文件的路径,不能照抄

