Jetson Nano日記4:Achiconda和PyTorch安裝配置

2021-02-21 開州行腳僧

被JHU Data Science課虐的頭昏腦漲,決定換換腦子,回頭玩Jetson Nano,再向前推進一步。核心思路是,在Nano板子上配置好python,Anaconda和PyTorch環境。

如無特別指明,以下命令都是在ssh登錄到jetson nano後遠程執行。


1. oh-my-zsh (optional)
用zsh替代默認的bash,並安裝oh-my-zsh$ apt install curl$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"python$ sudo apt install python3-pip python3-dev libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev$ pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

首先將pip版本從9.0.1升級到最新的20.2.2,升級之後可以更換為清華源,提高訪問速度 https://mirrors.tuna.tsinghua.edu.cn/help/pypi/


$ python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple $ pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 

2. Anaconda

Anaconda安裝比較簡單,不贅述了。以下簡要記述安裝過程。

需要注意的是,Jetson Nano的CPU是aarch64架構,對應地,Anaconda有針對aarch64架構的發行版,叫做Archiconda,這是github上的Archiconda主頁,網址在https://github.com/Archiconda/build-tools,感興趣的不妨上去看看。

下載
$ mkdir ~/Soft$ cd ~/Soft$ wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh$ chmod +x ./Archiconda3-0.2.3-Linux-aarch64.sh$ sh ./Archiconda3-0.2.3-Linux-aarch64.sh

安裝

$ sudo ./Archiconda3-0.2.3-Linux-aarch64.sh

改成清華源,提高訪問速度

$ touch ~/.condarc$ vim ~/.condarc

填入如下內容(來自https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)

channels:  - defaultsshow_channel_urls: truechannel_alias: https:default_channels:  - https:  - https:  - https:  - https:  - https:custom_channels:  conda-forge: https:  msys2: https:  bioconda: https:  menpo: https:  pytorch: https:  simpleitk: https:

清除索引緩存,確保清華源生效

然後就是建立一個名為work的虛擬環境,可以在裡面隨意折騰了

$ conda update -n base conda $ conda create -n work python=3.6 $ conda activate work

3. PyTorch & torchvision

Jetson Nano在官方image中已經預集成了GPU驅動,不需要額外下載nvidia-driver-430等PCIe驅動,可見https://forums.developer.nvidia.com/t/nvidia-driver-not-included-in-the-image-for-jetson-nano/76795

NVIDIA官方提供了Jetson Nano的PyTorch 1.6.0和torchvision的下載,照著操作就行了,見https://forums.developer.nvidia.com/t/pytorch-for-jetson-nano-version-1-6-0-now-available/72048。注意:JetPack 4.4 (L4T R32.4.3)只支持PyTorch 1.6.0 or newer (due to updates in cuDNN).

首先是pytorch

$ cd ~/Soft$ wget https://nvidia.box.com/shared/static/9eptse6jyly1ggt9axbja2yrmj6pbarc.whl -O torch-1.6.0-cp36-cp36m-linux_aarch64.whl$ sudo apt-get install python3-pip libopenblas-base libopenmpi-dev$ conda install Cython$ conda install numpy$ pip3 install ./torch-1.6.0-cp36-cp36m-linux_aarch64.whl

然後是torchvision。注意:與PyTorch 1.6.0對應的torchvision版本是0.8.0

$ sudo apt install libjpeg-dev zlib1g-dev$ git clone --branch 0.8.0 https://github.com/pytorch/vision torchvision$ cd torchvision$ export BUILD_VERSION=0.8.0 $ sudo python3 setup.py install

測試一下吧

$ python3.6Python 3.6.9 (default, Jul 17 2020, 12:50:27)[GCC 8.4.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import torch>>> print(torch.__version__)1.6.0>>> print('CUDA available: ' + str(torch.cuda.is_available()))CUDA available: True>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))cuDNN version: 8000>>> a = torch.cuda.FloatTensor(2).zero_()>>> print('Tensor a = ' + str(a))Tensor a = tensor([0., 0.], device='cuda:0')>>> b = torch.randn(2).cuda()>>> print('Tensor b = ' + str(b))Tensor b = tensor([-1.3437,  0.1451], device='cuda:0')>>> c = a + b>>> print('Tensor c = ' + str(c))Tensor c = tensor([-1.3437,  0.1451], device='cuda:0')$ python3.6>>> import torchvision>>> print(torchvision.__version__)0.8.0a0+5f616a2

4. Next Steps

組裝jetbot小車的硬體

配置,讓nano能夠指揮jetbot小車動起來

相關焦點

  • jetson nano -燒錄系統,從頭配置
    貼網址:系統鏡像地址https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write安裝參考資料http://spotpear.cn/public/index/study/detail/id/172.html
  • Jetson-inference的安裝
    2021-01-22   15:56前日給jetson nano安裝jetson-inference
  • 如何使用 NVIDIA Jetson 和 Amazon SageMaker 結合打造智能邊緣
    鏡像燒錄參考:https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#writeNIVIDA JetPack 可以實現在 Jetson 平臺上快速構建機器學習環境,JetPack 包括系統鏡像、TensorRT、CUDA、各種庫和 API、開發工具
  • NVIDIA Jetson Nano 2GB 系列文章(2):安裝系統
    記住位置如下:Jetson Nano 2GB:https://developer.nvidia.com/jetson-nano-2gb-sd-card-image下載會消耗較多時間,需要一些耐性。點選上圖「Flash from files」後,選擇要安裝的鏡像文件,這裡選擇 Jetson Nano 2GB 的鏡像文件「jetson-nano-jp441-2gb-sd-card-image.zip」,然後選項的圖標會產生變化(如下圖)。其中「sd-blod.img」是 jetson-nano-jp441-2gb-sd-card-image.zip 解壓縮之後的文件。
  • 15分鐘連接Jetson Nano與K8S,輕鬆搭建機器學習集群
    你可以查看我們的往期文章,了解更多關於K3s的教程和生態。在K3s生態中,有一款不得不提的開源工具K3sup,這是由Alex Ellis開發的,用於簡化K3s集群安裝。你可以訪問Github了解這款工具:https://github.com/alexellis/k3sup一個K3s集群——只需要一個正確配置的主節點即可NVIDIA Jetson Nano開發板,並安裝好開發者套件如果你想了解如何在開發板上安裝開發者套件,你可以查看以下文檔:https://developer.nvidia.com
  • Jetson Nano 夜用超長評測
    測試軟體:系統鏡像:jetson-nano-sd-r32.1-2019-03-18.zip (你猜哪裡下載?不知道?那你一定沒好好讀說明書:https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit)其他軟體:https://github.com/dusty-nv/jetson-inference很幸運的是,由於Jetson Nano出生比較晚,所以JetPack是預裝在系統裡面了.但是,系統也真的大
  • 用Jetson NANO做一個防疲勞駕駛的神器
    該系統的功能分為嗜睡檢測,情緒檢測和行車監控(使用Yolov3)模塊。睡意和情感模塊使用OpenCV的Haar Cascades方法進行面部檢測。一旦檢測到駕駛員的面部,這些模塊就會使用內置在PyTorch中並在Jetson Nano上運行的卷積神經網絡來檢測駕駛員的眼睛狀態(張開/閉合)和駕駛員的情緒。
  • 英偉達NVIDIA Jetson Nano 2GB點亮篇
    考試前的最後一篇文章https://developer.download.nvidia.com/assets/embedded/downloads/jetson-nano-2gb-jp441-sd-card-image/jetson-nano-2gb-jp441-sd-card-image.zip?
  • 極客小電腦Jetson Nano評測
    Ubuntu安裝軟體的命令是apt。ARM64和ARMhf架構使用的是Ubuntu Ports源,正好國內有Ubuntu-ports的源且速度較快,小編推薦使用中科大的源替換原apt配置文檔裡的ubuntu海外源。劃重點,替換源地址前記得先以默認源把apt-transport-https包裝上解決現有雞還是先有蛋的問題(別改完https源以後發現無法下載)。
  • Jetson nano - USB攝像頭使用
    jetson nano官方資料顯示,支持CSI攝像頭、USB攝像頭、網絡攝像頭當然了英偉達官方頁推薦了一些攝像頭型號https://link.zhihu.com/?target=https%3A//www.elinux.org/Jetson_Nano%23Cameras正好我手裡面有一個usb和一個網絡攝像頭,正好可以進行測試1、安裝檢測攝像頭#插入usb攝像頭ls /dev/video*   #列出攝像頭的數量
  • 在Jetson Nano上使用LiDAR和ROS Melodic構建地圖
    本教程來自:原文轉自:https://www.hackster.io/shahizat005/building-a-map-using-lidar-with-ros-melodic-on-jetson-nano
  • 這是 Jetson Nano 2GB的入門指南,請查收
    2.選擇卡驅動器3.選擇「快速格式化」4.將「卷標」留空5.單擊「格式化」開始格式化,然後在警告對話框上單擊「是」使用Etcher將Jetson Nano Developer Kit SD卡映像寫入microSD卡1.下載,安裝並啟動Etcher。
  • 乾貨 | NVIDIA Jetson NANO詳解
    該Tegra X1 SoC具有四核Cortex-A57處理器和128核NVIDIA Maxwell GPU,使用Tegra X1設計的一個好處是,開源Linux內核支持比剛剛發布的soc更好,甚至在新驅動程序棧中還有開源的Tegra Maxwell圖形支持。Jetson Nano還提供4GB的LPDDR4內存、千兆乙太網、12條MIPI通道、4個USB埠,最多可以同時驅動兩個顯示器。
  • Jetson Nano 2GB 評測
    除了2GB開發板,還需要USB-C電源5V 3A(兼容樹莓派4電源)和micro-SD卡(推薦64G)。首先,硬體上的差異:Jetson Nano 2GB具有2 GB主內存,而當前的Jetson Nano具有4 GB。Jetson Nano 2GB具有1個CSI攝像頭接口,而Jetson Nano 4GB具有2個CSI攝像頭接口。
  • 在Jetson產品上裝ROS遇到的坑
    昨天有個用戶在我們VIP技術群裡求救:求助一下,我刷了impack4.2.3,然後安裝ros-kinetic-desktop-full
  • Nvidia推出史上最小計算機Jetson Nano
    Nano,TX2和AGX Xavier可用於創建機器人,比如配備了Isaac機器人引擎和Isaac Gym機器人模擬器的KAYA,CARTER和LINK機器人。 Nvidia於1月份在西雅圖開設了機器人研究實驗室。
  • 菜鳥手冊(4):在Jetson NANO上使用GPIO
    主要:除了電源引腳、地引腳、IIC和UART的引腳外,其他的所有插針引腳,在默認的Jetson配置下,都是GPIO。插針引腳邊上的其他名字,則對應了當用戶對設備樹做出更改和重新映射引腳後,各自的推薦(特殊功能)用途。
  • 樹莓派4代PI4B相關資料連結
    樹莓派4B 3.5寸屏一體機驅動安裝方法:在樹莓派Raspbian &Ubuntu Mate系統中使用步驟1,安裝Raspbian或LCD,將 USB 觸摸接口線連接樹莓派的 4 個 USB 口任意一個, USB 線另一端連接到 LCD 的 USB 口ctouch接口,然後給樹莓派上電,如顯示和觸摸均正常則驅動成功(如果顯示不正常, 請使用足 2A 電源供電獨立供電)ReSpeaker 4-Mics Pi HAThttps://wiki.seeedstudio.com
  • JetRacer (Jetson構建的AI賽車)+安裝源碼分析
    我們稱之為inetwlan0jetson_ip_addressifconfig以上內容是打開nano連接WiFi。接著轉移到下載的庫內,執行python的安裝腳本接著把Nano的功率鎖定在5W的水平上面,畢竟是個充電寶驅動東西,活力全開受不了~
  • 又多了一個墊桌角的玩具——Jetson Nano 初體驗1
    )開機時由於需要在圖形界面上對系統進行設置,需要保證顯示設備(HDMI連到顯示器上)和控制設備(鍵盤和滑鼠)都連接上。1.5.6 調整Swap設置(1)調整Swappiness參數該swappiness參數主要配置系統將數據從RAM交換到交換空間的頻率。該參數的值是介於0和100之間的百分比。當值接近於零時,除非絕對必要,否則內核不會將數據交換到磁碟。請記住,與swap文件的交互是「費時的」,因為它們比與RAM的交互花費更長的時間,並且它們可能導致性能的顯著降低。