NVIDIA Jetson TX2 使用總結

這裏記錄下TX2的一些操作總結(不定期補充),涉及到一些注意事項,及其一些工具包的安裝

1 刷機部分

1.1刷機到本機系統

關於TX2的刷機部分,其他博客都已經介紹了許多了。這裏主要注意幾點,強烈建議TX2用有線網連接,免得Wifi突然斷掉。

1.2 刷機到SDCard

目前無法刷成功,按照教程都無法實現,等下一批TX2到了再調試

2 安裝TensorFlow

TensorFlow的安裝主要參考JetsonTX2上安裝tensorflow的心酸史,這裏對其進行總結,並使用更加透明的方式進行安裝

2.1 分區

分區是幾乎所有教程都說的一個問題,我這裏也不嘗試不分區會怎樣了,TX2供8G內存,但是考慮到TX2機身僅帶30G存儲,所以我開闢了4G的虛擬空間,按照下面的代碼執行安裝。

注:分區部分僅針對內存較少的設備,如果自身機身內存超過12G,可以直接跳過此步驟,例如深度服務器內存32G,沒必要創建虛擬內存

fallocate -l 4G swapfile # 創建8G大小的swapfile
chmod 600 swapfile # 更改swapfile的權限
mkswap swapfile # 創建swap區
sudo swapon swapfile # 激活swap區
swapon -s # 確認swap區在用

出現下述樣例即創建成功
在這裏插入圖片描述

2.2 安裝依賴

依賴項的安裝許多教程使用的是腳本安裝,爲了方便安裝透明,我這裏將其提取出來,一步步進行安裝。這裏只針對python2進行安裝。

注:這部分安裝無論什麼設備都建議使用apt-get安裝,方便快捷,空間佔用大約200M,對整體系統空間的佔用不大

  • Java依賴安裝
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • 基本庫依賴安裝
sudo apt-get install zip unzip autoconf automake libtool curl zlib1g-dev maven
  • Python 2系列依安裝
sudo apt-get install python-numpy swig python-dev python-pip python-wheel
  • Bazel的安裝

Bazel的安裝時不要嘗試自己編譯源碼進行安裝(感興趣理解其原理除外),因爲編譯時候需要許多附加庫,這裏只是調用,所以按照如下的方式進行下載安裝。或者使用迅雷下載(因爲總下不下來)

注:這裏一定要確定bazel的版本,版本過高會影響TensorFlow的編譯,截止2019-1-22日,針對TX2,使用TensorFlow 1.9.0 版本,對應bazel爲0.10.0,以後在安裝時候可以作爲參考

wget --no-check-certificate https://github.com/bazelbuild/bazel/releases/download/0.10.0/bazel-0.10.0-dist.zip
unzip bazel-0.10.0-dist.zip -d bazel-0.10.0-dist
cd bazel-0.10.0-dist/
./compile.sh 

編譯之後,在output文件夾裏面生成出bazel,112M,因爲TX2空間有限,而且這個是個編譯工具,我將其放在外置SDCard中,並在系統中添加放置的環境變量,在PATH中添加這個bin路徑,在我係統中,放置一些無關的bin文件時都是放在 export PATH="/media/nvidia/SDCard/prefix/bin":$PATH

cp output/bazel ../../prefix/bin/

如果系統空間足夠大,直接放在系統裏面就行。

sudo cp output/bazel /usr/local/bin

至此,所有依賴項安裝完成

2.3 安裝tensorflow

從github上下載TensorFlow 1.9.0版本的代碼。之後,考慮TX2的平臺問題,我們需要對源碼進行修改。(注:TensorFlow版本與CUDN和cuDNN版本有關,後續我會對其進行細緻分析

  • 修改tensorflow/core/kernels/cwise_op_gpu_select.cu.cc文件,按照如下圖片示例修改即可
    在這裏插入圖片描述
    修改之後調用進行環境配置,在配置路徑時候,一定要確定在路徑下有相關文件(cudnn默認就不是在cuda下),別配置錯了,導致編譯失敗
./configure # 根據需求進行配置,一些參數選擇不確定直接參考其他博客,介紹的非常清楚

#配置之後,進行編譯,此步驟編譯出的是Python的TensorFlow安裝包
bazel build -c opt --local_resources 3072,4.0,1.0 --verbose_failures --config=cuda //tensorflow/tools/pip_package:build_pip_package
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章