TX2 配置caffe-经验版

本帖只适合刷机完后的TX2,这意味你的TX2已经装好了opencv,cuda,cudnn等软件包。

TX2配置caffe是我踩过的最深的坑,惨不忍睹,下面放出自己的配置过程。

一、安装依赖项

1.1一般依赖项

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

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

(提醒:如果发生找不到package的情况,就换源,记得换的是ARM源)

1.2.安装BLAS依赖项

sudo apt-get install libatlas-base-dev

1.3.安装python和其余依赖项,安装python及其头文件

sudo apt-get install python

sudo apt-get install python-dev

1.4.安装python的其他依赖

sudo apt-get install python-numpy

sudo apt-get install ipython

sudo apt-get install ipython-notebook

sudo apt-get install python-sklearn

sudo apt-get install python-skimage

sudo apt-get install python-protobuf

1.5谷歌glog和gflags和lmdb依赖项

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

二、下载caffe

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

然后进入到caffe的目录

cd caffe

三、编译Caffe

编译caffe是最容易掉坑的操作,我之前就是自己单独下的cudnn然后安装的,结果在编译阶段无限次报cudnn.so不兼容,找不到-lcudnn.h,逼得没办法只得通过刷机的方式装上了cudnn。

如果是自己下的cudnn然后安装的,是需要软连接的,我这里只考虑通过刷机方式装上的cudnn,这种是不需要软链接的,也不需要为hdf5创建链接。

3.1 修改Makefile.config

cp Makefile.config.example Makefile.config

(1)使用CuDNN(取消USE_CUDNN := 1前的‘#’)
(2)使用OpenCV v3(取消OPENCV_VERSION := 3前的‘#’)
(3)由于本人使用的是CUDA9.0版本,按删除了CUDA_ARCH变量的前两行。
(4)使用python接口(取消WITH_PYTHON_LAYER := 1变量前的’#’) 

(5)将

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

(此处注意网上大部分帖子都写的x86_64-linux-gnu,然而压根就找不到这个文件夹)

3.2修改Makefile

(1)将:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

(2)网上绝大部分的帖子都是这样写

将:LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 改为:

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

然而这一句我压根找不到,如下图所示,我的直接是LIBRARIES += glog gflags protobuf boost_system boost_filesystem m,我是将下图最后一句改为了LIBRARIES += hdf5_serial_hl hdf5_serial。

3.3编译

make all -j4

如果没报错就运行测试:

sudo make test -j4

sudo make runtest -j4

如果都没报错,那就恭喜你装成功了。但由于没安装pycaffe接口,依然无法在python中导入caffe。需要编译caffe的python接口pycaffe,运行sudo make pycaffe命令,然后在~/.bashrc文件中写入caffe的路径,在文件下方写入(遗漏这步可能导致no module named caffe)

export PYTHONPATH=~/caffe/python:$PYTHONPAT,然后source ~/.bashrc使得修改后的环境变量生效,该部分具体来自

https://blog.csdn.net/u012614287/article/details/81537743

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值