NVIDIA AGX Xavier环境配置
NVIDIA AGX Xavier環境配置
簡介
最近有在Xavier上部署算法的需求,熟悉了一下基礎環境配置過程,由于踩了不少坑才最后跑出來一個opencv實時跟蹤的demo,故此記錄一下。
Anaconda環境配置
對于深度學習而言,環境的隔離還是很重要的,其中Anaconda是本人最常使用的虛擬環境管理器,由于Xavier是基于ARM架構的,常用的Anaconda方法并不適用,這里參考kev的教程,下面簡述一下安裝過程。
首先,下載安裝shell腳本,使用下述命令。
wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh下載之后,使用下述命令進行Anaconda的安裝,
bash Archiconda3-0.2.3-Linux-aarch64.sh在kev的教程中使用sudo權限進行安裝,這樣后續的環境創建等有關的conda命令都需要sudo權限,所以我這里直接以用戶權限進行安裝。安裝過程主要是協議的接受、安裝目錄的選擇(默認家目錄)、是否建立conda命令的環境變量(更新~/.bashrc文件),都同意即可。
此時輸入conda -V命令查看安裝情況會找不到命令,需要重開終端或者source ~/.bashrc更新環境變量。
關于Anaconda的使用與其他平臺一致(可以參考我的博客),創建環境等命令都是相同的。國內源修改使用下述命令即可,前兩條命令是添加兩個清華源,最后一條命令是設置安裝包時源可見。使用國內源會大大加快環境創建和包安裝的速度。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes常用包安裝
關于包的安裝kev也給出了相關的教程,需要注意的是,由于Xavier基于ARM架構,直接pip安裝的軟件可能下載后無法安裝,參照kev的教程安裝常用包是比較合理的選擇。
下面重點提兩個包的安裝,分別是PyTorch和opencv-python。
PyTorch的安裝就需要手動下載合適的版本的whl文件,如PyTorch1.4(兼容CUDA10.2)的下載地址如下。具體的不同版本下載地址,這里給出鏈接。
https://nvidia.box.com/shared/static/c3d7vm4gcs9m728j6o5vjay2jdedqb55.whl下載后使用pip install *.whl命令安裝即可,*代表文件名。我個人安裝的CUDA10.0所以選擇的torch1.3.0,安裝在虛擬環境下,安裝后測試可用性如下圖。
在Xavier不能通過pip install opencv-python,因為沒有相關的發行版。需要先手動編譯安裝opencv,再在相關的Python環境的site-packages目錄下添加文件。
源碼安裝opencv的參考鏈接如下,該鏈接是一個一鍵安裝的shell腳本,也可以自己按照源碼安裝的思路下載opencv源碼進行安裝。
安裝后默認會建立Python2的opencv-python的鏈接,這其實沒什么用,一方面Python2已經逐漸不被維護,另一方面即使建立了Python3的鏈接也不會建立到虛擬環境的Python環境中,所以這里需要手動操作。
操作代碼如下,其中源文件在系統的Python目錄的dist-packages目錄下(系統Python不同則可能和下述代碼命令不同),目標文件夾為當前Python環境的site-packages目錄下。
sudo cp /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so /home/nvidia/archiconda3/envs/torch/lib/python3.6/site-packages當前虛擬環境的site-packages目錄通過激活環境后which python命令查看,把最后的/bin/python替換為/lib/python3.6/site-packages即可。
使用下述代碼進行測試,結果如下。
import cv2cap = cv2.VideoCapture(0) while True:ret, frame = cap.read()cv2.imshow('cam', frame)if cv2.waitKey(10) == ord("q"):break cap.release() cv2.destroyAllWindows()補充說明
本文主要介紹Xavier上環境的基本配置,關于一些特殊的包的安裝(如scipy)使用pip進行編譯安裝時會失敗,這里直接使用conda安裝對應包即可。
總結
以上是生活随笔為你收集整理的NVIDIA AGX Xavier环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PIP更换国内源
- 下一篇: Markdown-VScode打造Mar