开发板官网教程
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro
查看 ubuntu 版本
lsb_release -a
查看 cuda 版本
nvcc -V
如果找不到 nvcc,则
sudo vim ~/.bashrc # 在文件末尾添加环境变量 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda # wq! 保存退出 # 更新配置文件 source ~/.bashrc1、准备SD卡
格式化一张 sd 卡,sd卡需保证32g以上。
2、下载镜像https://developer.nvidia.com/jetson-nano-sd-card-image
3、烧录使用 balenaEtcher 烧录镜像
4、启动将 sd 卡插入 jetson-nano 开发板,接通显示器,接上电源自动启动,一路下一步到桌面
5、联网插上网线
可选5.x、通过其他主机来下载不易下载的文件,再远程给开发板
5.1、(可用可不用)远程ssh文件传输
sudo apt install openssh-server
5.2、启动ssh服务器
sudo service ssh restart
5.3、客户端通过filezilla连接服务器
IP: sftp://192.168.3.8
用户名: admin
密码: xxx
sudo apt install python3-pip
如果遇到pip3无法安装(可能是环境变量的原因)
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
我下载的最新当前最新1.9.0版本:
https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048
下载后安装(torch 这里采用的是离线安装包):
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev pip3 install Cython pip3 install numpy pip3 install torch-1.9.0-cp36-cp36m-linux_aarch64.whl
#测试是否安装成功
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print(torch.randn((2,2)))
8、安装 torchvison
说明地址:https://github.com/pytorch/vision
注意 torch 和 torchvision 的版本有对应关系,1.9.0的pytorch对应0.10.0的torchvision,所以如下安装
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev pip3 install torchvision==0.10.0
手动去这个地址 https://github.com/pytorch/vision
找到 0.10.0 版本下载,解压后,进入文件夹
export BUILD_VERSION=0.10.0 sudo python3 setup.py install
#测试是否安装成功
import torchvision print(torchvision.__version__)9、下载并安装 torch2trt
下载地址:https://github.com/NVIDIA-AI-IOT/torch2trt
python3 setup.py install
补充:windows上8.0.2后不支持 python版本的tensorRT,torch2trt 依赖 tensorRT,所以windows上不需要考虑安装 torch2trt。
下载tensorRT(看看就好,非主干)补充:windows上8.0.2后不支持 python版本的tensorRT,只有 C++ 版本的tensorRT。
jetson-nano开发板中默认安装了tensorrt,所以不用在安装了。
但是在使用 torch2trt 的时候可能会遇到如下报错:
AttributeError: ‘tensorrt.tensorrt.Builder‘ object has no attribute ‘max_workspace_size‘
原因是:
Got the same error when running using TensorRT Python 8.0.0.3 and 8.0.1.6
With nvidia-tensorrt-7.2.3.4 it works fine.
pip3 uninstall tensorrt #卸载当前版本 pip3 install nvidia-tensorrt==7.2.* --index-url https://pypi.ngc.nvidia.com
注意:以上命令在 jetson-nano中是无法使用的,官网只提供了 x86-64 cpu架构的包。
如果是jetson-nano中卸载了tensorrt那么在没有找到其他办法的情况下还是重新烧录系统吧。于是我有全部重来了一次。所以上述 关于 没有属性max_workspace_size 的问题还是再找其他办法解决的好。不要轻易删除 jetson-nano 自带 tensorrt 。
尝试: JetPack 之 NVIDIA SDK Manager 法
在这里下载 NVIDIA SDK Manager
https://developer.nvidia.com/zh-cn/embedded/jetpack
下载后丢到 nano 中
sudo dpkg -i sdkmanager-1.6.1-8175_amd64.deb
结果报错:软件包体系架构amd64与本机系统体系结构amd64不符
于是:
sudo dpkg --add architecture amd64
sudo dpkg -i sdkmanager-1.6.1-8175_amd64.deb
又有了其他错误,放弃折腾,重新烧录系统。
未尝试:可能可行方案,AArch64用户交叉编译样本,有兴趣可以尝试
https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide/index.html#cross-compiling
总结:tensorRT 是默认装好的,不要去折腾它!!!遇到问题,尽量不要通过卸载解决问题。
10、tensorrt的使用C++版:
https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide/index.html#c_samples_section
python版:
https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide/index.html#python_samples_section
因为是部署 jetson-nano 板卡,这里使用 python版
没有搞完:暂时说遇到的问题
1、安装onnx包报错:not build wheels for onnx which use PEP 517 and cannot be installed directly。
解决方案:onnx 1.8.0 和 1.7.0 都会报这个错,安装 1.6.0就可以了。
pip3 install numpy pip3 install protobuf sudo apt-get install protobuf-compiler libprotoc-dev pip3 install onnx=="1.6.0"
2、Sorry,the application python3.6 has stopped unexpectedly。python3.6执行报错。
解决方案:没有,是否要升级成 3.8??卸载系统python3.6之后会不会又面临重装风险??所以这里暂时不敢尝试。
3、/usr/src/tensorrt/samples/python/onnx_packnet 目录下,根据 README 的说法:
python3 convert_to_onnx.py --output model.onnx 报错:Illegal instruction(core dumped)
4、/usr/src/tensorrt/samples/python/network_api_pytorch_minist 目录下,根据 README 的说法:
python3 sample.py 报错:Illegal instruction(core dumped)
目前在原因不明, 是否是因为 onnx 版本被手动降为 1.6.0, 而文档中需要的是 1.8.0??
好吧,接下来我用 python3 运行了一个简单的程序,于是它
报错:Illegal instruction(core dumped)
明白了,系统的python3,不知在什么时候坏掉了,于是又一次重新烧录!!!
体验图极差。



