jetson agx xavier:从亮机到yolov5下tensorrt加速
重要的下载资源链接放在前面:
jetpack4.5资源
主要内容记录在了自己的石墨文档里,自己习惯性地修改起来比较快,可能后续小修小改在那边更新。这里就做一个csdn的拷贝造福各位。
https://shimo.im/docs/R13j8xWzZ5h4NVk5/《xavier配置环境流程记录》
目录
重要:
流程:
亮机:
硬盘挂载(非必需):
apt换源:
语言环境:
安装nomachine:
安装jtop:
安装cuda/cudnn/tensorrt:
安装archiconda:
安装numpy/cv2/matplotlib库:
安装torch/torchvision:
pycuda:
tensorrt和yolov5的模型转换(onnx):
最终效果:
参考文章:
重要:
- 系统自带的python不要删,图形界面依赖自带的python运作
- 基础配置的32g硬盘不够配置gpu版本模型,需要加硬盘【实际上本次配置的xavier版带有128g固态,但是看起来没有挂载所以没显示,自己检查一下】
- pytorch和torchvision使用普通方法只能装cpu版本,装不了gpu版本
- 下载什么什么特殊文件,一般用自己机子带vpn的下载起来比较快,然后远程传给xavier。【特别是git!】
- sudo用户和普通用户拥有不同的~/.bashrc(本身~的位置就不同),保险起见可以都修改
流程:
亮机:
连网线、电源线。显示屏通过hdmi线连接(双typec线无法显示)。鼠标键盘的usb接口通过自带的typec-usb拓展槽连接。
除了大块的xavier本体,小块的是摄像机配件。找本体和摄像机配件的相应圆圈和槽可以确定位置,然后装上。
按电源键即可点亮。
硬盘挂载(非必需):
这部分不是我操作的,给个参考链接吧
NVIDIA Xavier AGX固态硬盘的安装以及/home的扩展挂载_啊哈ㄚ的博客-CSDN博客
apt换源:
xavier自带系统为ubuntu18,源中相应代号为bionic(例,ubuntu 20代号为focal)
通常情况清华源效果最好。
换源方法ubuntu通用,网上找,不赘述。
内容:
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进行名单更新(可以upgrade一次,但不必要)
推荐关掉自动upgrade,否则每次开机都会尝试软件更新(unattend upgrade),耗费时间【通过图形界面的“软件与更新”,设置相应更新选项/或者参考中级篇——ubuntu系统关闭unattended upgrades无人值守更新功能_玩转智能机器人的博客-CSDN博客_unattended upgrade,进入终端,sudo dpkg-reconfigure unattended-upgrades,选择 否-keep*****,然后reboot重启】
pip/pip3同样换清华源,网上自行搜寻。
语言环境:
点击图形界面中的语言支持,将菜单和窗口的语言设置为中文。设置完毕后,默认文件夹名称为中文,如“下载”代替“download”,终端操作不方便,推荐按照Ubuntu更改主目录文件名为英文 - 知乎进行修改。
默认输入法只有纯英文,在图形界面中寻找语言支持界面并修改(由于我的亮机途中重装了图形界面,和原始界面用的可能不是同一个,不一定有参考价值。我是在图形页面的输入法页面直接安装了pinyin输入法使用,网上看到的大多数是安装谷歌拼音输入法)
安装nomachine:
直接前往nomachine官网,选择download for arm。下载之后,进入终端,找到文件所在位置,sudo dpkg -i nomachine_[version]_arm64.deb进行安装。
安装成功之后,xavier本体的键鼠就可以不再使用了,通过远程操作即可(远程机也需要同样安装nomachine)。
nomachine操作和直接操作仍然有部分区别,如ctrl+alt+t不能唤出新终端,会进入nomachine自己的界面,但总体来说够用。
安装jtop:
终端输入jtop,看是否安装。
无,则使用pip安装:sudo pip install jetson-stats【如无法安装,应该是系统只带了python2,先apt install python3.6,然后pip改pip3】
安装之后,输入jtop进入界面,选择左下方5号ctrl页面,将boot选项调为e(enable),将jetson_clocks调整为running,控制开机后风扇启动
注:jetson_clocks为强制性能最大化选项,会提高耗电,不过装机过程没必要省电。
在jetson页面中选择左下方6号info界面,查看cuda与cudnn、tensortrt是否安装,有则跳过下一步。
安装cuda/cudnn/tensorrt:
官方方法是通过Jetson 下载中心 | NVIDIA Developer下载sdkmanager,装在一台ubuntu机上,然后连接ubuntu机与xavier,使用sdkmanager下载相应文件。实际操作中又要装win-ubuntu虚拟机,装完了usb-typec线连接xavier和机子还没识别出来。
网上的一种错误方法是apt-get install cuda-toolkit,实际上无论哪一个apt源都会显示此软件包不存在
实际解决方法是直接去网上找百度网盘里别人从adkmanager下载好的资源(找到的是jetpack4.5的,实际机子是jetpack4.6的,但是可以用)(已保存到自己的百度云账号链接:百度网盘 请输入提取码,此外也上传了torch和torchvision的两个whl文件,是python3.6的)参考xavier nx 安裝cuda, cudnn, tensorrt, opencv, 中文輸入法 - wangaolin - 博客园,选择文件下载(cuda一个,cudnn三个,tensortrt一个)、远程传输至xavier、进行安装、移动和添加path。
然后回到jtop查看info页面,检查是否安装并检测到。
安装archiconda:
去github搜索archiconda,选择Archiconda3-0.2.3-Linux-aarch64.sh下载,远程传输到xavier,然后sh Archiconda3-0.2.3-Linux-aarch64.sh安装(后续可以把这个文件删掉)(安装时好像会修改~/.bashrc文件,可以在普通用户和root用户下都跑一次,保险起见)。
创建conda环境:
conda create -n six python==3.6【先apt装python3.6,3.7、3.8的应该也可以,不推荐3.9往上】
首次激活conda时,如conda activate six失败,使用source activate six【应该是路径没有设置进去,需要重启或者source指令,或者先source ~/.bashrc】
后续所有文件在conda环境下安装,不影响原有环境。
conda不需要换源。【尝试换清华源时反而影响使用。conda-forge可以考虑】
(更新)conda实在链接不上还原,选择北外源成功
conda config --add channels Index of /anaconda/pkgs/free/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror
conda config --add channels Index of /anaconda/pkgs/main/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror
conda config --add channels Error
conda config --add channels Index of /anaconda/cloud/msys2/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror
conda config --set show_channel_urls yes
conda config --add channels Index of /anaconda/cloud/pytorch/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror
另外在channels下面加一个remote_read_timeout_secs: 2000能加长超时时间,注意taml格式
- 其他源:
- 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
- NJU Mirror
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/
安装numpy/cv2/matplotlib库:
正常pip install opencv_python(或者下一步安装torch/torchvision中,使用参考2中指令,也有),然后
gedit ~/.bashrc
底部加入如下语句:export OPENBLAS_CORETYPE=ARMV8
点击保存
source ~/.bashrc
之后测试import numpy(不加这一句,会在import numpy时出现非法指令,核心已转储语句)
matplotlib(3.3.4)可能跳一堆红字,要求你下载Download The FreeType Project from SourceForge.net,照做就是,然后在/home/new/archiconda3/envs/six下面建一个build文件夹,把freetype解压进去,再重新运行一次
安装torch/torchvision:
参考1:Installing PyTorch for Jetson Platform :: NVIDIA Deep Learning Frameworks Documentation【nvidia官方,但是使用torch==1.12.0,在cpu版torch==1.12.0测试yolov5时出现了兼容问题,不如参考2中选择多样】
参考2:xavier安装torch-gpu_这个名字真好听的博客-CSDN博客_安装torch-gpu【其中的文件可以靠自己的机子下载,也可以在xavier上下载(修改参考1中export TORCH_INSTALL为新的下载网址)】
参考3:Jetson AGX Xavier安装torch、torchvision且成功运行yolov5算法_围白的尾巴的博客-CSDN博客_jetson xavier安装torchvision【详细,torch==1.7.1】
torchvision建议直接去github下载,pytorch/vision库,使用git clone太慢了
在进行torchvision编译时可能遇到报错Command '['which', 'x86_64-conda_cos6-linux-gnu-c++']' returned non-zero exit status 1,解决方法是:conda install gxx_linux-64
pycuda:
pip 安装
大片红字报错xlocale.h不存在
参考在jetson上安装pycuda时可能遇见的报错及解决方案 - 知乎 (zhihu.com)
把pycuda降级到2019.1.2使用
tensorrt和yolov5的模型转换(onnx):
tensorrt相应文件也在百度网盘链接里(见安装cuda/cudnn那一块儿),在直接装那个名字以tensorrt开头的deb包之前还需要装依赖,一起下下来然后dkpg安装就行。文件和安装顺序参考NX边缘盒环境安装 - 知乎 (zhihu.com)
使用yolov5自带的模型转换需要装onnx作为tensorrt模型转换的中介,直接装onnx的时候可能红字报错,这个时候尝试
sudo apt-get install libprotobuf-dev protobuf-compiler
pip install pybind11
根据onnx官方建议,从源码编译protobuf吧onnx/onnx:机器学习互操作性的开放标准 (github.com),也可以apt安装protobuf,但是怎么加cmake参数我不会使用
装完onnx【onnx-simplifier没装,有个metadata名称对不上的问题,后面看可能也不是必要的】直接跑yolov5的export,会提示ONNX: export failure: cannot import name 'builder'。这个时候参考python - 导入错误:无法从“google.protobuf.internal”导入名称“生成器” - 堆栈溢出 (stackoverflow.com)
sudo find ~/environment -name builder.py找出builder文件在哪里【我的在/home/new/environment/protobuf-21.9/python/google/protobuf/internal/builder.py】,搬到/home/new/archiconda3/envs/six/lib/python3.6/site-packages/google/protobuf【和参考文章不同的是,这里是conda six环境下面的lib】,然后在跑export就没问题了!
最终效果:
export.py转换yolov5s.pt
cpu跑yolov5s.pt
gpu跑yolov5s.pt
gpu跑yolov5s.engine【tensorrt加速】
参考文章:
胎儿式保姆级教程:Jetson Xavier NX镜像烧录、开机配置、中文配置、风扇设置、远程桌面配置、文件传输配置、pycharm安装环境配置、QQ安装:胎儿式保姆级教程:Jetson Xavier NX镜像烧录、开机配置、中文配置、风扇设置、远程桌面、文件传输配置、pycharm安装环境配置,QQ,opencv(cuda编译),torch(GPU)._Wanto-Fly的博客-CSDN博客
xavier安装torch-gpu:xavier安装torch-gpu_这个名字真好听的博客-CSDN博客_安装torch-gpu
Jetson AGX Xavier系列:https://blog.csdn.net/qq_40691868/category_11366043.html
Jetson AGX Xavier刷机+安装opencv+使用TensorRT加速推理yolo全过程+心路历程:Jetson AGX Xavier刷机+安装opencv+使用TensorRT加速推理yolo全过程+心路历程_SoulGuide的博客-CSDN博客_xavier 推理
jetson agx xavier:从亮机到yolov5下tensorrt加速相关推荐
- Jetson AGX Xavier/Nano刷机指南(无需踩坑版)
文章目录 准备清单 刷机步骤 下载jetpack SDK 刷机 问题汇总 虚拟机USB版本兼容问题 Your system is not ready for install 连接AGX,虚拟机死机 准 ...
- 基于NVIDIA Jetson AGX Xavier的移动机器人开发(1)——Xavier刷机、风扇配置、ROS安装
实验室有一台2020年购入的AGX Xavier计算平台,由于实车开发作实验较为麻烦,打算基于这台Xavier从头搭建一套缩小版的自动驾驶系统用于算法验证以及实验,同时锻炼从头搭建系统的能力.平台基于 ...
- 玩转NVIDIA Jetson AGX Xavier
最近项目应用需要部署到边缘模块,所以就玩起了Xavier.感觉网上的资料不多,所以从头记录一下笔记,方便大家一起学习应用. 玩转NVIDIA Jetson AGX Xavier 1.刷机(安装sdkm ...
- Jetson AGX Xavier刷机及环境配置
写在前面:近期打算做一下视觉算法部署的内容,正好实验室有几个Xavier控制器,于是拿来用了一下,从零接触开始nvidia的硬件,以此记录学习过程. 一.Jetson AGX Xavier刷机 网上教 ...
- Jetson AGX Xavier 刷机教程
Jetson AGX Xavier 刷机教程 前言 step1:安装sdkmanager step2:用sdkmanager刷机 前言 首先,我们需要知道刷机的大致流程:先用一个带ubuntu系统的主 ...
- Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测
上一篇:Jetson AGX Xavier安装torch.torchvision且成功运行yolov5算法 下一篇:Jetson AGX Xavier测试YOLOv4 一.前言 由于YOLOv5在Xa ...
- NVIDIA Jetson AGX Xavier 自研刷机
目录 1. 前期准备 1.1 Xavier配件 1.2 其他配件 2. 刷机过程 2.1 提前了解 2.2 主机下载 NVIDIA SDK Manager 2.3 安装 sdkmanager 2.4 ...
- NVIDIA Jetson AGX Xavier主机刷机与SSD安装
任务逻辑 当有个新的AGX主机到手上后,主机是启动的是eMMC,大约30G存储 这个安装了系统后到后面随便弄一下就不够存储了,所以我是想要在主机上安装一个SSD,然后将系统直接放到SSD上,这种操作就 ...
- NVIDIA Jetson AGX Xavier冰壶的跟踪与识别
NVIDIA Jetson AGX Xavier冰壶的跟踪与识别 一.项目简介 二.硬件平台的选取 2.1为什么选择NVIDIA Jetson AGX Xavier 三.识别环境配置 3.1 下载py ...
最新文章
- 【javascript系列】字符串:字符串单个字符访问
- python怎么导入时间-Python,模块导入方式和time模块的使用
- 【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 | 在白噪声中检测正弦信号 )
- 高并发编程-02-创建多线程的7种方式
- datax 模板_dataX3.0安装使用手册.docx
- 巴川数据科学炼成记_【脑王直通车】小小记忆高手炼成记
- ARM处理器之MMU和Cache
- float的比较要慎重
- Atitit管理学课程表 管理学体系
- vs2012安装出错解决方案
- 一个抄底指标(52周新低的股票占比)
- java ico图片转png_Java图片处理:ico格式转 PNG/JPG等格式
- web服务器超过访问上限显示,当Web服务器访问人数超过了设计访问人数上限,将可能出现的HTTP状态...
- 自动驾驶路径规划——A*(Astar)算法
- 西藏自治区市谷歌高清卫星地图下载
- 一锁知千秋,再和腾讯大佬的技术对话,我还是小看锁了!面试加分的答案都已安排
- android相片拼板源码,实现仿微信拍照和选取相片(转自网络)
- 电脑连上网却无法使用浏览器,显示远程计算机或设备将不接受连接的解决办法
- 用户调查显示,Rust语言很难学习和使用
- 深信服三面/hr面 总结
热门文章
- 软件架构--《系统架构:复杂系统的产品设计与开发》笔记
- 【Ubuntu】Ubuntu Desktop与Ubuntu Server:有什么不同?
- linux+sh+路径拼接,Shell字符串拼接(连接、合并)
- 【Unity Shader】Unity中阴影映射标准制作流程
- 人脸识别中的机器学习
- 零基础也能懂的python办公自动化教程,从此上班摸鱼轻轻松松
- 华硕飞行堡垒FX80GM安装Ubuntu16.04教程(亲测可用)
- 【调剂】中国计量科学研究院,电气、电子、测量、仪器、自动化、计算机类研究生调剂信息...
- php71u配置,IIS+php+mysql+Rewrite+navicat+Serv-u服务器环境配置(365专用)
- java-php-net-python-绿色果蔬网 计算机毕业设计程序