最近的项目需要在英伟达的盒子上部署目标跟踪算法,配环境踩了不少坑,做一个简单的记录。

拿到盒子之后需要注意jetpack的版本,还有是不是已经装好了cuda,这关系到后续安装pytorch和torchvision,我的盒子最开始的jetpack版本是4.3,并且没有cuda,配了几天环境一直会有报错,后来发现是重新装的cuda版本、torch版本还有jetpack版本这三个不匹配。刷机之后很快就把环境配好了,如果一开始盒子没有配套的环境,强烈建议刷机,后续可以省很多麻烦,而且刷机其实很容易。

图片里我的jetpack、L4T还有cuda版本都是刷机之后的

查看Jetpack版本以及CUDA版本

查看jetpack的方法有三种:

1.使用命令查看

sudo apt-cache show nvidia-jetpack

会出现下图这样的信息,我的jetpack的版本是5.02

2.通过代码查询L4T的版本,在官网找到与L4T版本对应的jetpack版本

代码如下:

cat /etc/nv_tegra_release

我的L4T的版本是35.1.0

3.使用Jtop查看

网上安装Jtop的方法一般如下:

sudo apt install python3-pip   #首先安装pip3
pip3 install jetson-stats
###或者 sudo -H pip3 install -U jetson-statssudo systemctl restart jetson_stats.service  #首次使用需要激活

但是我这样装会出现如下的报错,应该是pip和setuptools的版本问题

最后通过下面的代码成功安装

sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1
sudo -H pip install -U jetson-stats

在终端输入代码打开Jtop

jtop

界面如下图所示,正常来说最上面的Jetpack后面会跟着版本号,括号里是L4T的版本

查看cuda的版本:

nvcc -V

我的cuda版本是11.4

刷机

相较于自己去再配置cuda、tensorRT,直接刷机来的更加简单粗暴,而且不会出现版本上的错误

材料准备:

Jetson AGX Xavier一台(英伟达盒子)
装有ubuntu系统的电脑一台(宿主电脑)
USB转TYPE-C数据线一条
电源线、网线、键盘、鼠标、显示屏

注意:宿主电脑的home剩余空间不能太小,因为后续在刷机的step 3时,下载的默认路径在home下面,我的home空间比较小,一开始把两个下载路径都改到了挂载的硬盘上,在烧录的时候出现了报错,可能是跟分区的格式有关系,后面换了一台电脑,直接采用默认路径,刷机一气呵成。很多帖子都要求至少有80G,具体需要多少我没做测试,如果空间不够会弹出提示。

下载SDK Manager

从英伟达官网下载SDK Manager

地址:NVIDIA SDK Manager | NVIDIA Developer

下载deb后缀的文件

可以直接双击安装或者使用sudo apt install指令

打开SDK Manager

装好以后,输入指令就可以打开SDK Manager

sdkmanager

打开之后需要登录英伟达的账号,如果没有的话注册一个就行

不需要勾选Host Machine,Target Hardware里面显示的是你盒子的型号,我这里没有连接盒子,所以显示“No board connected”,你可以选择在这一步就把盒子和主机连接起来,很多教程在烧录的时候才连接。第三行可以选择要安装的JetPack版本,我的主机Ubuntu版本是20.04,只能装最新的几个JetPack版本,如果要装低版本的可以用18.04的Ubuntu主机。

连接的注意事项:

1.使用USB转TYPE-C线将盒子与主机相连,要插在盒子有电源指示灯的那边

2.找到盒子一排的三个按钮,先按住中间的强制恢复键,再按旁边的电源键,等待2秒后同时放开

3.连接成功的话此时会跳出一个界面让你选择型号

直接选择默认的路径下载,勾选左边的框,随后就进入了下载和烧录的阶段

烧录的过程中会弹出这样的界面

选择手动安装(Manual Setup)输入想要给盒子系统设置的用户名和密码,其他不用管

选择USB,盒子没有连接网络也可以安装,只需要主机有网络就可以,能够通过USB分享给盒子

装到一定的过程,盒子会自动开机,如果有显示屏的话,与盒子连接,会看到此时进入了系统的设置界面,连接上鼠标键盘进行系统设置,可以在这步就进行换源(我是后面再换的)。此时已经刷得差不多了,后续继续等待,主机会接着给盒子安装组件和软件,直到安装结束。

换源

1.更换软件源

为了加快后续下载软件的速度,需要对盒子进行换源,首先备份原来的软件源,后续出问题了也可以恢复

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑sources.list文件,进行换源

sudo gedit /etc/apt/sources.list

把原来的内容全部用下面的内容替换,我用的是清华源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted

更新软件源

sudo apt update

2.更换pip源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装深度学习环境

Jetson AGX xavier是aarch64的架构,不能直接通过pytorch官网安装pytorch,也不能(不确定)使用anaconda,我看anaconda的官网现在也有aarch64的包,下载安装之后,终端也会出现base,但是是在刷机之前装的,那时候import torch会出现非常难解决的错误,刷完机之后我装的是miniforge,跟anaconda的用法相同

1.下载安装miniforge

网址:Releases · conda-forge/miniforge · GitHub

选择对应的版本,我选的版本是‘miniforge-pypy3-4.14.0-0-linux-aarch64.sh’

下好后使用sh指令安装,安装过程跟anaconda相同,重新打开终端会看到前面出现了(base)

2.创建环境

创建环境与anaconda相同,注意python版本会影响到后面安装的torch版本,我要用到的torch版本是1.11,安装的是python3.8

conda create -n py38 python=3.8

后续torch和torchvision的安装都是在这个环境下

3.下载安装torch

虽然不能从pytorch官网安装torch,但是英伟达提供了编译好的torch文件

网址:PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums

!!!注意:选择与自己jetpack版本相兼容的torch文件

我的JetPack版本是5.0.2,所以我装的是v1.11.0,装错版本后续可能会报错

下载好以后,进入自己刚才创建的环境,使用pip install 指令安装

4.安装torchvision

直接复制了英伟达官网的教程

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision   #选择对应版本进行修改
###例如 git clone --branch v0.12.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.x.0  # 0.x.0 要填对应的torchvision的版本
###例如 export BUILD_VERSION=0.12.0
python3 setup.py install --user
cd ../  # attempting to load torchvision from build dir will result in import error
pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

我在装的过程中报了个错:

ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

使用下面的代码解决:

sudo apt-get install libopenblas-dev

安装好torchvision之后,测试一下import torch会不会报错,再试试torch.cuda.is_available()会不会返回True,如果可以的话,大功告成!

Jetson AGX Xavier部署深度学习环境相关推荐

  1. Nvidia Jetson AGX Orin 64G深度学习环境配置的超详细教程

    新手小白环境配置成功!特此开贴记录~~~ 我接下来的写的内容基本上都是参考的该博客:Jetson AGX Orin安装Anaconda.Cuda.Cudnn.Pytorch.Tensorrt最全教程 ...

  2. docker 利用docker拉取Nvidia/cuda官方镜像,部署深度学习环境

    利用docker拉取Nvidia/cuda官方镜像,部署深度学习环境 1.拉取Nvidia/cuda官方镜像 2.生成容器 3.在容器内安装深度学习环境 看完这篇博文,可以查看我总结的另一篇博文教程: ...

  3. Jetson AGX Xavier刷机及环境配置

    写在前面:近期打算做一下视觉算法部署的内容,正好实验室有几个Xavier控制器,于是拿来用了一下,从零接触开始nvidia的硬件,以此记录学习过程. 一.Jetson AGX Xavier刷机 网上教 ...

  4. Centos8安装英伟达显卡驱动并通过docker部署深度学习环境

    20201107 - 每个人的机器和实际需要的环境都不一样,本文只是提供了在自己实验室centos8上的部署过程,部署过程中,没有什么问题.请谨慎参考本篇文章,以免浪费宝贵时间. 0. 引言 之前的时 ...

  5. Windows Server 2019服务器远程桌面服务部署+深度学习环境配置教程

    文章目录 1.安装Windows Server 2019 2.开启WLAN服务 3.固定IP地址 4.开启远程桌面服务 4.1 添加远程桌面服务 4.2 激活服务器 4.3 安装许可证 5.配置远程桌 ...

  6. 使用TensorRT和Jetson TX1 / TX2部署深度学习推理网络和深度视觉原语的指南 学习五

    通过SegNet 来实现图片的分割 TensorRT下载地址:https://developer.nvidia.com/nvidia-tensorrt-download  TesnsoRT介绍文档:h ...

  7. 新手神器!不用部署深度学习环境、上传数据集!(附代码视频教程)

    来源:大数据文摘 作者:Emil Wallnér 本文长度为4600字,建议阅读7分钟 本文带你快速创建神经网络,开启深度学习之旅. 前言 深度学习的浪潮在五年前开始兴起.随着计算能力的爆炸型增长和几 ...

  8. 使用TensorRT和Jetson TX1 / TX2部署深度学习推理网络和深度视觉原语的指南 学习二

    通过 digest  来做分类 TensorRT下载地址:https://developer.nvidia.com/nvidia-tensorrt-download  TesnsoRT介绍文档:htt ...

  9. Jetson AGX Xavier配置cuDNN流程

    Jetson AGX Xavier配置cuDNN流程 环境:Jetson AGX Xavier,CUDA 10.2,cuDNN 8.0.0 1 软件版本查询 CUDA版本查询: nvcc -V 或者, ...

最新文章

  1. PLT、POT、延迟绑定
  2. exist后select加数字的理解
  3. nagios2------添加监控对象
  4. react 中子组件调用父组件的方法
  5. 计算机组成原理手动在线模式,实验四计算机组成原理 运算器手动实验
  6. NOSQL 之 cassadra 安装与集群配置
  7. linux默认的https端口,如何在Ubuntu 18.04 Bionic Beaver Linux上拒绝除HTTP端口80和HTTPS端口443之外的所有传入端口...
  8. java 双分派_双分派 和 访问者模式详解 | 学步园
  9. 系统学习机器学习之神经网络(五) --ART
  10. [转]通过崩溃地址找错误行数之Delphi版
  11. 信息安全等级保护一到三级涉及到的网络安全设备
  12. 使用IBM ServerGuide安装操作系统
  13. 华为鸿蒙智慧屏和手机,【荣耀智慧屏评测】鸿蒙初体验:荣耀智慧屏跨系统交互构建新生态(全文)_荣耀 智慧屏_手机评测-中关村在线...
  14. jena 查询 java_Java调用Jena写SPARQL查询
  15. imagebutton图片缩放
  16. 2023USNews美国加州系大学排名
  17. 抖音视频链接数据分析
  18. FCOS—分割思想做目标检测
  19. 中小企业RBM结合VRRP组网
  20. 贴息政策打出“组合拳”,院校实验室建设攻略来了(二)!

热门文章

  1. Salesforce业务分析师(BA)认证—备考指南
  2. bzoj 4338: BJOI2015 糖果
  3. 关于VS中的sln文件
  4. 云模型小结(非完整)
  5. vs2010打开vs2017的.sln文件
  6. android 模拟点击第三方app,Android实现打开第三方app
  7. 健身房管理系统八大标准——健身房老板必看
  8. 【物理应用】Matlab模拟人行走的微多普勒效应
  9. 恒压供水一对一变频一拖二 两台变频器ABB 恒压供水一对一变频 一拖二
  10. 用Keras LSTM构建编码器-解码器模型