英偉達在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