开机设置
AGX Orin提供了丰富的接口但是只有DP接口可以连接显示器,type-c只能用来传输信号和供电。对硬件组成感兴趣的可以观看以下视频。https://www.bilibili.com/video/BV1a34y1v792/?spm_id_from=333.337.search-card.all.clickhttps://www.bilibili.com/video/BV1a34y1v792/?spm_id_from=333.337.search-card.all.click
首次开机后会默认进入Ubuntu安装界面,和其他系统安装Linux无异,一路默认yes就好。
安装成功之后可以用命令浅查一下内存情况
free -h
新orin需要先安装软件包管理工具
官方教程How to Install JetPack :: NVIDIA JetPack Documentation
简而言之:
sudo apt install nvidia-jetpack
安装好后,在正式安装conda和torch之前需要查看安装的版本信息,网上推荐采用jtop命令,可以查看版本信息和运行状态信息。
sudo apt update
sudo apt install python3
sudo apt install python3-pip
sudo apt install jetson-stats
然后运行
jtop
很好的工具,推荐安装,第一行就显示了我们安装的是Jetpack 5.1.2。
但是首次安装完成需要重启,如果嫌麻烦或者赶时间还可以用这条命令。
sudo jetson_release
同样能看到版本信息,甚至更全面一些,但是这里写道CUDA:11.4,千万不要按着这个cuda去装torch,原因之后再说。
Anaconda安装
如果板子是专用的可以直接装torch等,但是普通用途最好还是先装一个版本管理工具
其实功能上都差不多,如果是orin nano要考虑内存问题, AGX直接冲Anaconda。
进入Anaconda下载中心
Index of /archivehttps://repo.anaconda.com/archive/选择相应的版本,需要注意的orin采用的是aarch64架构和普通的服务器不一样。
进入下好的文件夹,在终端打开,运行脚本安装,将安装包名换成自己的版本。
bash Anaconda3-2024.06-1-Linux-arrch64.sh
一路yes,检验安装是否成功
conda --version
虚拟环境配置(python 版本最好是 3.8 !!!)
conda create -n your_env_name pyhton=3.8
conda activate your_env_name
pytorch安装
进入nvidia官网,根据刚刚获得的JetPack版本下载对应的安装包。(这里点开后可以看到,jetpack大多数只支持python3.8,所以虚拟环境最好是3.8)
PyTorch for Jetson - Announcements - NVIDIA Developer Forums
在终端移动到下载目录,执行
pip install torch-xxxxxxxx.whl
安装成功后在虚拟环境中查看是否正确安装.
conda list
或者在命令行依次输入
python
import torch
print(torch.__version__)
print(torch.cuda.is_available())
torchvision安装
首先进入官网寻找与安装的pytorch对应的vision版本
注意:Orin的torchvision不能直接通过网页中的pip命令安装,这样会显示版本不兼容,并将装好的pytorch卸载重装。
进入torchvision的官网在tag中找到对应的版本并下载到本地。https://github.com/pytorch/visionhttps://github.com/pytorch/vision可能会需要以下依赖
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
执行安装
cd torchvision
export BUILD_VERSION=xx.xx.xx
python3 setup.py install
安装的过程中会有警告产生warning,经验是不用管
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
安装过程可能或比较慢,过程中可能会报很多warning,但是不要急请耐心等待。
安装完成验证先
conda list
正常是有的,但是有的博文写的方法有问题会出现conda list没有,但是pip list有,这样无法使用,建议按照我的顺序卸载重装。
代码验证:
python
import torch
import torchvision
torch.__version__
torchvision.__version__
我的在import torchvision时报错
UserWarning: Failed to load image Python extension: ''If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?
warn(
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/iimorin/torch21/vision-0.15.1/torchvision/__init__.py", line 6, in <module>
from torchvision import datasets, io, models, ops, transforms, utils
File "/home/iimorin/torch21/vision-0.15.1/torchvision/datasets/__init__.py", line 1, in <module>
from ._optical_flow import FlyingChairs, FlyingThings3D, HD1K, KittiFlow, Sintel
File "/home/iimorin/torch21/vision-0.15.1/torchvision/datasets/_optical_flow.py", line 13, in <module>
from .utils import _read_pfm, verify_str_arg
File "/home/iimorin/torch21/vision-0.15.1/torchvision/datasets/utils.py", line 22, in <module>
import requests
File "/home/iimorin/.local/lib/python3.8/site-packages/requests-2.32.3-py3.8.egg/requests/__init__.py", line 43, in <module>
import urllib3
File "/home/iimorin/.local/lib/python3.8/site-packages/urllib3-2.4.0-py3.8.egg/urllib3/__init__.py", line 14, in <module>
from . import exceptions
File "/home/iimorin/.local/lib/python3.8/site-packages/urllib3-2.4.0-py3.8.egg/urllib3/exceptions.py", line 26, in <module>
_TYPE_REDUCE_RESULT = tuple[typing.Callable[..., object], tuple[object, ...]]
TypeError: 'type' object is not subscriptable
报错来源
1. 图像库依赖缺失`libjpeg` or `libpng` ,重新安装了一遍
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev zlib1g-dev
2. urllib3.exceptions 出现 TypeError: 'type' object is not subscriptable。主要原因是urllib3太新了,不适配python3.8,需要进行降级处理。
pip install "urllib3<2"
3. 如果依旧存在TypeError,可以安装typing_extensions
pip install typing_extension