NVIDIA Jetson TK1学习与开发——安装cudnn与caffe

注意事项:

1. 一般情况先装 JetPack,之后再配置caffe。

2. 其中编译caffe时可能报链接错误,鄙人认为是boost库不全造成的,建议在教程的基础上安装

sudo apt-get install libboost-all-dev

 3. 由于嵌入式开发板不如桌面级显卡给力,make runtest 这一步十分漫长,可能需要好长一段时间(具体记不清了),但是这一步不是必须的,只是验证而已…

如果前面编译opencv2.4.9时遇到

 opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations

法一http://code.opencv.org/issues/3814  下载 NCVPixelOperations.hpp 替换掉opencv2.4.9内的文件, 重新build。

法二打开

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp

将所有的 template static 去掉static重新build

法三下载2.4.10及以后最新版本即可



首先安装tegra版本的cudnn cuDNN RC1 orcuDNN R2

$ tar -zxvf cudnn-6.5version.tgz
$ cd cudnn-6.5version
# copy the include file
$ sudo cp cudnn.h /usr/local/cuda-6.5/include
$ sudo cp libcudnn* /usr/local/cuda-6.5/lib

(如果编译遇到错误请去nvidia官网下载cuDNN v4 Library for L4T (ARMv7)版cudnn-7.0-linux-ARMv7-v4.0-prod.tgz

 tar -zxvf  cudnn-7.0-linux-ARMv7-v4.0-prod.tgz会产生cuda文件夹,cd ~/cuda/include

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

cd ~/cuda/lib

sudo cp libcudnn* /usr/local/cuda-6.5/lib)

b. 链接cuDNN的库文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4
$ sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v

分析错误原因可能是下载的caffe是最新版本,需要最新的v4版本cudnn支持,由于可能和r1和v2版本部分函数名称改变,如果按照老的安装教程会出现编译caffe错误。

不要想当然的认为jetson tk1必须是cuda6.5加cudnn r1或者v2 for arm,要与时俱进与caffe最新版本匹配,jetson tk1 +cudnn v4 for l4t armv7 (尽管可能上边标着cuda7.0)也是合适的,所以当遇到错误时,尽量多尝试,不要墨守成规。

#查看linux系统版本和位数
如何查看自己的linux是32位还是64位
可以用命令“getconf LONG_BIT”查看,
如果返回的结果是32则说明是32位,返回的结果是64则说明是64位。

此外还可以使用命令“uname -a”查看,
输出的结果中,如果有x86_64就是64位的,没有就是32位的。

#查询opencv版本
$ pkg-config --modversion opencv

开始安装caffe

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install libprotobuf-dev protobuf-compiler gfortran \
libboost-dev cmake libleveldb-dev libsnappy-dev \
libboost-thread-dev libboost-system-dev \
libatlas-base-dev libhdf5-serial-dev libgflags-dev \
libgoogle-glog-dev liblmdb-dev gcc-4.7 g++-4.7
(系统自带4.8,最好降级为4.7,否则后面编译caffe时可能出现错误。)

$ sudo usermod -a -G video $USER

sudo apt-get install -y git
git clone https://github.com/BVLC/caffe.git
cd caffe && git checkout dev
cp Makefile.config.example Makefile.config
sed -i "s/# CUSTOM_CXX := g++/CUSTOM_CXX := g++-4.7/" Makefile.config

$ gedit Makefile.config

修改Makefile.config使能USE_CUDNN := 1

(最好是USE_CUDNN := 1
INCLUDE_DIRS := /usr/local/cuda-6.5/include
   LIBRARY_DIRS := /usr/local/cuda-6.5/lib)

(sudo)make -j 4 all


最后运行caffe,并验证cpu和gpu下运行效率

build/tools/caffe time --model=models/bvlc_alexnet/deploy.prototxt --gpu=0

build/tools/caffe time --model=models/bvlc_alexnet/deploy.prototxt

##caffe图片分类
./build/examples/cpp_classification/classification.bin \
  models/bvlc_reference_caffenet/deploy.prototxt \
  models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \
  data/ilsvrc12/imagenet_mean.binaryproto \
  data/ilsvrc12/synset_words.txt \
  examples/images/cat.jpg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值