網站首頁 編程語言 正文
nvidia jetson設備(Jetson Nano, TX1/TX2,Xavier NX/AGX, AGX Orin )以及樹莓派如何安裝cpu/cuda版的pytorch和torchvision
作者:別出BUG求求了 更新時間: 2023-11-16 編程語言nvidia jetson設備(Jetson Nano, TX1/TX2,Xavier NX/AGX, AGX Orin )以及樹莓派如何安裝cpu/cuda版的pytorch和torchvision
- 0. 前言
- 1. 安裝步驟
- 2. 面向nano和樹莓派
- 3. 面向所有jetson設備
- 3.1 參照
- 3.2 按版本安裝torch
- 3.3 驗證是否安裝成功
- 3.3 安裝torchvision
- 4. 注意事項
- 5. 常見問題
- 6. 安裝完畢的檢驗
0. 前言
以下安裝以Jetson Nano為例
如果你的nano是python3.6.9(對應jetpack 4.6),千萬不要嘗試升級python版本。nano最高只支持jetpack4.6。
其余的拓展到其他的jetson設備以及其他的微型電腦如樹莓派
1. 安裝步驟
環境:jetson nano ubuntu18.04,已經刷好了jetpack4.6,python3是3.6.9
想安裝cpu版的torch很簡單,直接輸pytorch上的官網命令就行。
但如果想用cuda,也就是gpu版本的torch,只有兩種方法:
- 自己編譯pytorch的源碼。
- 下載英偉達官方或者別人預編譯好的pytorch的輪子。
這邊我們只說第二種方法:
2. 面向nano和樹莓派
這里參照以下開源網站進行安裝即可。包含torch和torchvision
https://github.com/Qengineering/PyTorch-Jetson-Nano
在此處按步驟進行安裝
https://qengineering.eu/install-pytorch-on-jetson-nano.html
3. 面向所有jetson設備
(包含torch,不包含torchvision)
進入英偉達網站:https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
3.1 參照
按照jetpack版本以及python版本進行安裝即可
3.2 按版本安裝torch
這里需要特別注意的一個問題就是你需要選擇與你機器上jetpack相匹配的版本,千萬別下錯了,比如我這里用的是jetpack4.6,那我安裝的pytorch就是V1.10.0版本。
下載完pytorch的whl文件后,首先apt-get install一些環境必須的前置程序,然后進入到你創建的conda環境下,使用pip命令安裝Cython和pytorch。
sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
pip install Cython
pip install numpy xxx.whl
3.3 驗證是否安裝成功
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))
若上述程序執行無誤,證明pytorch安裝成功,并且可以調用jetson的GPU來進行運算。
3.3 安裝torchvision
這里要注意torchvision的版本和pytorch是嚴格對應的。
比如我們的1.10 對應的就是v0.11.1,那么在拉取代碼倉和install環節都需要制定版本。以下命令包含了代碼拉取及安裝,install過程時間很長,耐心等待
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.11.1 https://github.com/pytorch/vision torchvision # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.11.1 # where 0.x.0 is the torchvision version
python3 setup.py install --user
驗證torchvision
import torchvision
print(torchvision.__version__)
4. 注意事項
版本一定要對應。以nano為例,下載的時候注意,jetson nano只能下3.6python支持的,也就是最高支持pytorch的1.10.0版本,對應torchvision的版本是0.11.0。為什么呢?是因為
Hi @m.ahmad4984, JetPack 5.0.2 is in the final preparations to be
released, so it should be posted in the next few days pending any
unforeseen delays or blockers. As per the Jetson Software Roadmap 52,
JetPack 4.6 was the last major release for Nano/TX1/TX2 and JetPack
5.x supports Xavier and Orin devices.
官方原話,意思是nano最高支持的jetpack版本就是4.6,也就是python3.6.9,torch最后一個支持3.6的版本就是1.10.0。如果你不是nano是xavier或者更高級的型號,那就選python3.8的版本。
5. 常見問題
1. 下載完輪子后用pip3安裝,如果提示:
“error:torch is not a supported wheel on this platform”
如果你下載的是預編譯好的,出現了這個問題,實際上是你的pip3版本和你的python3.6不兼容,我這邊之前嘗試更新python和pip的時候遺留下來了這種問題。
解決辦法
wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
即重新安裝對應版本的pip。
2. 進入python3環境,嘗試import torch時出現:
numpy.core.multiarray failed to import
或者
numpy illegal instruction (core dumped) jetson
意思就是你的numpy版本有問題,和torch不兼容!
解決方法:
首先卸載所有的numpy,再重新安裝低版本numpy:
#1.19.5出錯
pip3 install numpy==1.19.4
3. git clone安裝torchvision時候出現網絡錯誤
Fatal: Unable To Access ‘Https://Github.Com/…‘
解決辦法:
要么是修復這個git的網絡問題或者等待(有時會恢復正常)
要么使用輪子安裝:
https://github.com/KumaTea/pytorch-aarch64/releases
電腦中下載后再放到jetson上
6. 安裝完畢的檢驗
輸入以下命令查看:
import numpy
import torch
torch.__version__
torch.cuda.is_available()
如果沒報異常且torch.cuda.is_available顯示True,說明安裝正常完成了,如下圖所示:
原文鏈接:https://blog.csdn.net/weixin_39589455/article/details/128212329
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-05-24 用BAT創建文件夾文件及回顯環境變量的問題_DOS/BAT
- 2022-09-22 Linux 內存和SWAP使用
- 2022-08-25 .NET6環境下實現MQTT通信及詳細代碼演示_實用技巧
- 2022-11-19 Python+random模塊實現隨機抽樣_python
- 2022-05-25 Python可變參數*args和**kwargs_python
- 2023-10-11 nginx:connect() failed (111: Connection refused) w
- 2022-09-29 React?Native?中處理?Android?手機吞字的解決方案_React
- 2022-07-13 RedisTemplate無法根據key 獲取值的問題
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支