dylanin1999

导航

TX2安装caffe(从头开始,最全教程)

(大二时记录在有道云笔记的记录,现在开始搬运)

准备工作:

1. 刷机。第一次使用TX2,那是需要刷机的。由于TX2自带的ubuntu系统比较老,不适合我们接下来的工作,所以我们需要升级TX2的系统。笔者使用的是ubuntu16.04。简单地说,就是用网线将TX2与一台ubuntu电脑连接,然后下载一大堆更新包。网上刷机的教程很多,这里就不详细说明。附刷机连接:https://www.jianshu.com/p/bb4587014349

2. 了解TX2。在安装caffe之前,我们需要了解TX2是什么,比如它的cpu是什么,gpu是什么(Tegra X2)。最重要的一点是:它用的arm结构,是aarch-linux,不是x86_64-linux,也不是i386-linux。这里附官方简介:

http://www.nvidia.cn/object/embedded-systems-dev-kits-modules-cn.htm

安装过程:

1. 安装各种包以及依赖

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install build-essential cmake git pkg-config

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install libatlas-base-dev

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-de

2. 安装python

sudo apt-get install python-pip

安装pip

这里我们用pip安装一些python需要的依赖包,不过为了避免各种问题,也可以通过apt-get安装,反正我这两种方式都安装了一遍(-.-)

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

3. 安装Opencv(TX2已经自带,检查后可跳过这一步)

查看opencv版本:

pkg-config --modversion opencv

若没有跳出opencv的版本,则需安装opencv:

sudo apt-get install -y libopencv-dev

4. 安装Cuda(TX2已经自带,检查后可跳过这一步)

查看cuda版本:

cat /usr/local/cuda/version.txt

若没有跳出cuda的版本,则需手动安装cuda:

这里附安装连接:https://blog.csdn.net/jonms/article/details/79318566

5. 安装Cudnn(需要手动安装,不可跳过)

A. 确定已经安装的Cuda版本,以Cuda9.0为例,到官网https://developer.nvidia.com/rdp/cudnn-download下载相应的库文件(下载前需要登录网站,因此需要进行注册)PS:一定要去官网下载对应的版本,不要图省事去什么网盘之类的,只有才是最安全的。

B. 进入下载目录并解压

cd /home/nvidia/Downloads

sudo tar xvf cudnn-9.0-linux-x64-v7.1.tgz

C. 复制头文件和动态链接库

cd cuda

sudo cp include/cudnn.h /usr/local/cuda/include/

sudo cp lib64/* /usr/local/cuda/lib64/

cd /usr/local/cuda/lib64/

ls -a#(查看libcudnn版本;很多地方需要根据文件的版本然后操作,后面不再提示)

sudo chmod +r libcudnn.so.7.1.2

后面很多地方需要查看文件名称。学会使用 ls -a(查看当前目录下所有文件)

D. 创建软连接

sudo rm -rf libcudnn.so libcudnn.so.7

sudo ln -s libcudnn.so.7.1.2 libcudnn.so.7

sudo ln -s libcudnn.so.7 libcudnn.so

sudo ldconfig

 

6. 安装Caffe

A. 下载caffe

cd ~

mkdir git #在home下新建一个git文件夹,用来存放那些从github上git下来的文zong件

git clone https://github.com/BVLC/caffe.git //从github上git caffe

B. 开始安装

cd caffe #打开到刚刚git下来的caffecp Makefile.config.example Makefile.config

#将Makefile.config.example的内容复制到Makefile.config

#因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子

gedit Makefile.config //打开Makefile.config文件

#仔细阅读makefile中的注释语句其实就知道该怎么操作了,这里贴出笔者的修改,也是大部分TX2用户的修改。

#若使用cudnn,则将# USE_CUDNN := 1

#修改成:

USE_CUDNN := 1

#若使用的opencv版本是3的,则将# OPENCV_VERSION := 3

修改为:

OPENCV_VERSION := 3

#重要的一项

#将 Whatever else you find you need goes here.下面的

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
#修改为:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu/hdf5/serial

#这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改

C. 为hdf5创建链接

首先执行下面两句话:

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

cd /usr/lib/aarch64-linux-gnu

这里笔者被坑了很多次,网上几乎所有的教程都是x86_64,给出的是cd /usr/lib/x86_64-linux-gnu,然而TX2并没有这个文件,浪费了笔者很多时间;

笔者没有找到用aarch架构的caffe安装文章,故写下了此博客

然后根据情况执行下面两句:

sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so

注意:这里的10.1.0和10.0.2根据不同的系统可能对应的数字会不同,比如在ubuntu15.10中其数字就是8.0.2.

具体的数字可以在打开的文件中查看对应文件后面跟的数字

PS:查看当前目录下文件,用ls -a

D. Make各种文件
 

cd .. #此时位置应该处于caffe文件夹下

make all -j4 

j4代表计算机cpu有4个核,因此可以多线程一起make,这样make的速度会快很多。TX2是4核的,我们就不要学别人用什么j8,j16了,乖乖地敲j4

make test -j4

make runtest -j4

make pycaffe #如果以后用python来开发的话必须执行这一句,一般不管你是否用python,都会执行这一句

make distribute

假如在安装中,遇到什么别的问题,欢迎在评论区留下你的问题,共同讨论一波~

posted on 2022-08-13 16:15  DylanYeung  阅读(61)  评论(0编辑  收藏  举报