准备工作
首先是决定是否刷机,这一步要看最开始的使用环境来决定。一般出厂做的是ubuntu16.04,已经安装好JetPack3.3,我们不需要进行基础的安装。如果想要升级ubuntu18的建议先查好安装的软件框架各种依赖的版本是否兼容,版本问题一定要先确定再安装,否则出现卸载不干净再安装会引起各种连锁反应。
如果是刷机的同学,jetpack安装会需要下载不少东西,这时候可以先安装caffe或者其他框架,完全没有必要等jetpack安装好再操作,两者没有影响。
#感受:caffe并不费劲,安装opencv和配置相关的环境才是最费劲的,有些内容我没有写,需要自己查,比如刷机后装pip,装cmake,cmake-gui等等,缺啥补啥就好。只要操作的对,tx2还算给力。
安装步骤
- 一,各种依赖
udo 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
以及安装pip和python需要的依赖包
sudo apt-get install python-pip
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
opencv有自带的3.3版本,如果不是特殊情况可以略过(注意这里自带的是python2.7版本使用的,python3.5貌似使用不了,我是自己装了一遍)
查看opencv的版本
pkg-config --modversion opencv
同样,cuda也是自带的,查看版本
cat /usr/local/cuda/version.txt
- 安装cudnn
确定已经安装的Cuda版本,再搜一下cuda对应的cudnn版本,到官网https://developer.nvidia.com/rdp/cudnn-download下载相应的安装包(下载前需要登录网站,没注册的注册)
这里不要找啥子网盘或者小站的链接,一个是不安全,另一个是版本可能不是最新导致掉链子。
具体安装步骤我就不写了,网上很多。我记着我当时是没有装,后来才补的。
安装caffe
先去下载一个
cd /home/nvidia #这玩意自己找个路径保存,记得放哪了
git clone https://github.com/BVLC/caffe.git //从github上git caffe
开始安装啦!
cd caffe #打开到刚刚git下来的caffe
cp 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中的注释语句会告诉你该怎么操作,或者按照网上的方式自己修改。
#若使用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的位置,所以需要更改
然后给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
下面两句根据情况执行,反正没啥影响,就执行一下
sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
make安装了
进入caffe文件夹下
make all -j4#j6,j8应该也可以,都能执行,效果貌似一样
安装好后,那再测试一下呗
make test -j4
make runtest -j4
#这两句后面的-j4要和上面的对应上,如果是执行的make all -j8那就执行sudo make test -j8和sudo make runtest -j8。执行完就可以了,说明安装完成
make pycaffe #最好执行一下,这个是对python的接口
make distribute
我是没有遇到使用问题,但是看到别人说有可能遇到
no module named caffe
这个报错,可以试下配置环境变量,在~/.bashrc文件中写入caffe的路径:
export PYTHONPATH=~/caffe/python:$PYTHONPATH
然后使用source ~/.bashrc,或者关闭所有终端使环境变量生效即可。