英伟达在2017年3月发布了全新嵌入式计算平台TX2,从网上的介绍来看,TX2延续了小体积、高度集成的特性,整合了 4 核 ARM A57 CPU、Pascal 架构 GPU(16 纳米工艺)、最高 8G 内存、32G 固态存储器等组件。标准功耗为 7.5W。另外,TX2 也可以将功率提高到 15W,从而提升计算能力。
看到如此诱人的配置,笔者入手了一块TX2,见下图
TX2自带的系统为Ubuntu16.04,笔者迫不及待地开始在TX2上配置caffe,下面记录了笔者的配置过程。
配置caffe一共分为两大步骤,第一大步是进行JetPack3.0安装,这一步由笔者的同事luval完成,在此对他的贡献表示感谢。JetPack3.0中包含了cuda8.0,是caffe运行必不可少的组件,首先附上JetPack的下载链接https://developer.nvidia.com/embedded/jetpack点击打开链接,在下载时可能需要登录nvidia账户。
然后再附上JetPack的安装指南http://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/jetpack/l4t/3.0/jetpack_l4t_install.htm点击打开链接
请大家安装的时候一定要跟随官网的安装指南,下面记录一下JetPack3.0的安装过程:
首先准备一台宿主机,luval用的是一个ubuntu14.04的虚拟机,将下载的JetPack-L4T-3.0-linux-x64.run放到相应的文件夹下,并在文件夹下执行:
sudo ./JetPack-L4T-3.0-linux-x64.run
在进入图形界面之后,一路next到如下界面:
如果需要刷机的话,就勾选蓝框中的东西,如果不需要刷机,只需要安装JetPack组件的话,可以在下面选择,上图显示了luval的选择,然后再经过以下两步:
到了下面这一步:
此时TX2应该是开机状态,而且宿主机应该与TX2在同一个网络里,luval的做法是将TX2与宿主机分别用网线连接到同一个路由器。IP行填TX2的ip地址,user name行填TX2的登录用户名,password填TX2的对应的账户密码(TX2自带nvidia/nvidia),点next,如果IP和用户名以及密码正确,进入到安装功能包的界面,这是自动进行的,保持网络连接即可,直到完成。
在程序安装完毕后,在TX2上设置环境变量
nvcc -V
查看一下cuda版本
那么,我们再查看一下其他安装或者自带组件的版本
然后我们开始进行第二大步,配置caffe:
首先安装一般依赖项
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
在Makefile文件中,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
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