安裝和使用NVIDIA Jetson AGX Xavier

      對近幾個月在Nvidia Jetson AGX Xavier上的工作做一下記錄備忘,Xavier是NVIDIA的邊緣計算板子的最新版本也是最高配的序列,NVIDIA Jetson序列板子的具體配置可參見下圖:

      

      因機器人上需要部署網絡層次深體量大的高精度AI圖像識別物體檢測模型,一般的邊緣計算板子扛不住,於是讓公司購買了NVIDIA Jetson AGX Xavier 16G內存配置的版本用於實驗模型部署和調用測試(後面會寫Xavier上docker鏡像的製作和模型部署環境的安裝的實驗過程),Xavier跟一臺低檔PC電腦的配置差不多了,另外內置有32G的eMMC存儲,裏面安裝了裁剪到最小化的Ubuntun18.04。

開箱後加電啓動後進入個文本命令行界面,裏面有下一步安裝的說明:

      這種最小化版本是爲了在做產品化部署時使用節省內存和存儲空間(是否支持dokcer和GPU的使用待以後實驗),在上面做實驗的話幹不了什麼活根本不夠用,所以決定安裝帶圖形化界面的Ubuntu,最簡單的辦法是按照上面的說明執行在$HOME目錄(也就是默認安裝好了的/home/nvidia/)下執行:

    cd NVIDIA-INSTALLER

    sudo ./installer.sh

    reboot

然後待登錄界面出現後使用用戶/密碼nvidia/nvidia登錄進入Ubuntu即可開始使用。

      由於考慮到這種方式安裝的系統,可能裏面很多NVIDIA的其他jetson序列功能軟件沒有安裝,比如說deepstream,不利於後面的多種實驗,所以決定不使用上面這種方式安裝,而是使用jetpack重裝整個Ubuntu系統以及安裝NVIDIA的jetson全部功能套件。

     首先打開https://developer.nvidia.com/embedded/jetpack,點擊下載NVIDIA SDK Manager(跟Nano的安裝方式完全不一樣,Nano是點左邊下載的SD Card Image,下載後用usbtool之類的工具解壓到一個sd卡里面插到Nano板子上即可以使用,裏面該有的NVIDIA的軟件都有了,包括GPU驅動和OpenCV都安裝好了的,而Xavier需要安裝SDK Manager後使用它來安裝NVIDIA的軟件套件):

目前最新的JetPack版本是4.3,這裏一會叫JetPack,一會叫SDK Manager,一會叫JetPack Installer,感覺NVIDIA說的亂七八糟的沒說清楚,感覺NVIDIA的本意是JetPack包含了Jetson Nano的SD Card Image和TX1/TX2 XAvier序列的SDK Manager,JetPack Installer也就是SDK Manager,下面把用於Xavier的JetPack叫SDK Manager好了。然後,在安裝有Ubuntu18.04或者16.04的PC上安裝SDK Manager,安裝完後,先把Xavier連接上,用一根至少一端是HDMI接口的線把顯示器連到Xavier上,然後使用一個USB hub插到Xavier的USB端口,USB hub接上USB鍵盤和鼠標,皆可以把Xavier當臺PC使用了,如果只是重裝Jetson SDK Componnets,只需要把網上插上,啓動Xavier查看ip地址是什麼並記錄下(後面安裝Jetson SDK Components時需要使用這個地址登錄),如果你重裝時還需要flash Jetson OS,也就是把OS也全部重裝,那麼還需要用隨Xavier帶的Type-C轉USB線把Xavier連接到你安裝了SDK Manager的Linux PC主機上,USB端接PC的USB口,Type-C端插到Xavier的前面的面板(旁邊有led燈和兩排擴展接口針)上的Type-C接口上,注意不要插到後面的Type-C口上(這面有電源接口和網口、USB口以及HDMI口),否則連不上,後面用SDK Manager安裝軟件時總是報無法檢測到target。

正確連接後,在Linux PC機上執行lsusb可以看到多了個NVIDIA Corp的設備:

      在terminal裏執行 sdkmanager 命令即可啓動一個窗口界面,需要輸入你在NVIDIA Developer註冊賬號時使用的郵箱地址和Developer賬號對應的密碼以登錄到developer.nvidia.com,它這裏實際上是讓sdk manager作爲客戶端軟件連到NVIDIA的雲服務器上去,爲後面的下載安裝軟件做準備,NVIDIA這個登錄的地方做得差勁,輸入的郵箱地址和密碼都分明是對的,有時登錄很慢,有時就是乾脆登錄不上,說你輸入的用戶或密碼有誤,其實根本沒錯,有時就是要點擊登錄十多次才連上去,真是讓人想網上伸手過去揍它:

登錄成功後進入到主界面:

 STEP 01窗口的第二行有Host Machine和Target Hardware,默認都勾選了,在兩者上面都要安裝相應的軟件,Host Machine就是安裝和運行SDK Manager的PC,後面的Target Hardware當然就是TX1/2或Xavier這樣的板子了,如果不需要在PC上跑NVIDIA的什麼軟件或者更新GPU的驅動或者開發代碼或者容器做針對ARM64的交叉編譯,那麼就可以把Host Machine的勾選去掉。

STEP 02窗口裏設置下載的路徑,可以勾選 Download now Install later,這樣先只把所有選擇的軟件下載到本地,後面可以需要時重新執行SDK Manager進來後單獨安裝,這樣特別適合晚上讓它下載,第二天再安裝,下載和安裝都是個有點漫長的過程(全部下載成功後,下次再啓動SDK Manager時在登錄窗口點那個OFFLINE from local folder 頁面進來即可,不用再登錄到雲端了):

STEP 03 窗口點右下方的大按鈕開始下載,下載過程中如果網絡不好,可能經常出錯,遇到出錯就點RETRY按鈕重新下載就是,反正不斷的這樣直到所有的需要安裝的軟件套件全部下載成功:

 

全部下載成功後開始安裝,如果你是上次全部下載成功了,從OFFLINE from local folder方式進來的,直接點按鈕安裝就行了。

 STEP 04窗口是Summary和開始下載/安裝的地方:

     安裝的過程中也可能會出錯,可能是需要安裝一些依賴包,但是當時網絡不行導致安裝不了,重新下載或者點RETRY按鈕多試幾次即可:

      如果選擇了Flash Jetson OS,會重裝Ubuntu操作系統,按照平時安裝完Ubuntu18.04後的配置步驟一步一步往下創建你需要的用戶(例如robot)和口令以及時區和語言等配置即可,記下用戶和密碼別忘了。

      後面安裝Jetson SDK Components時PC上會彈出窗口需要指定Xavier的IP地址和登錄Ubuntu的用戶和口令,輸入前面記錄的IP和用戶/密碼後點Install按鈕,在Xavier上彈出窗口中accept license後即可開始安裝:

安裝完畢:

 

     上面可以看到,我們一般需要使用的CUDA、cuDNN、GPU Driver、OpenCV、NVIDIA Container Runtime with Docker Integration都已安裝了,這點非常好, NVIDIA Container Runtime with Docker Integration安裝了就意味着docker sevice和NVIDIA Container Runtime都已經安裝了,無需我們自己再安裝docker和NVIDIA docker,可以直接創建可使用GPU的docker image並運行container了。 關於Xavier上的環境配置修改在下一篇文章裏再說。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章