【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用

这篇具有很好参考价值的文章主要介绍了【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WHY

在jetson上使用docker跑opencv和pytorch其实主要是要找对镜像,docker官方的hub里并没有适合的能直接跑的镜像,但是nvidia自己提供了L4T的pytorch和ML镜像。

镜像地址

单独pytorch的镜像:
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-pytorch
整合了opencv,pytorch,tensorflow的ML镜像:
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml
如果不是嫌大推荐直接使用ML的镜像,包含了opencv,要在pytorch的镜像中安装编译opencv太慢了,jetson的cpu都不太行,除非对opencv的版本有特殊需求。

如果对opencv的版本有特殊需求,建议还是找一下jetpack有没有对应的版本直接刷机对应的jetpack然后使用对应的docker镜像。

使用方法

先查看当前jetson设备的jetpack版本,例如我的是4.6版本,找到对应的镜像的编号,从tag里找到镜像地址
【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用,docker,pytorch,opencv
【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用,docker,pytorch,opencv
然后pull下来就行了

sudo docker pull nvcr.io/nvidia/l4t-ml:r32.6.1-py3

然后就可以进docker使用了

sudo docker run -it --rm --runtime nvidia --network host nvcr.io/nvidia/l4t-ml:r32.6.1-py3

docker常用命令备忘

sudo docker images #查看现有的镜像
sudo docker ps #查看现在运行的容器
#运行docker并把本地的work目录挂在容器的/workspace目录
sudo docker run -it --gpus all --restart always --name torch1 -p 6013:6013 -w /workspace -v /home/nvidia/work/:/workspace  repo001:pth1.9-cu102-py3.6 /bin/bash 
sudo docker exec -it 1dd3379af334 /bin/bash #进入容器命令交互
sudo docker stop 1dd3379af334 #停止容器

jtop安装

要查看jetson的运行状态,我们可以安装jtop

sudo apt-get update
sudo apt-get install python3-pip
sudo -H pip3 install jetson-stats

然后重启jetson,就可以在命令行里使用jtop命令来查看系统资源使用情况了。

【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用,docker,pytorch,opencv
按7查看具体的jetson的信息和jetpack版本号
【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用,docker,pytorch,opencv

关于保存容器镜像

cuda版本还有pytorch版本的问题可以在上述容器中进行相应的更新和修改,然后把容器保存为离线image供后续使用(不使用dockerfile构建)

先查看一下做过改动的容器的container ID(比如在容器里pip install了或者apt install了其他内容)

sudo docker ps #查看此容器的container ID

假设container id是1dd4687afdr4,然后使用

sudo docker commit 1dd4687afdr4 repo001:pth1.9-cu102-py3.6

这边repo001就是自定的repo名称,pth1.9-cu102-py3.6是自定义的镜像名称
然后就可以使用了,如果要保存为本地文件,

sudo docker save -o repo001.pth1.9.tar repo001:pth1.9-cu102-py3.6

后续到其他的jetson上就可以使用命令来读取镜像直接使用

sudo docker load -i epo001.pth1.9.tar

关于使用dockerfile构建

除了挂载外部文件外,我们可以在打包镜像的时候直接把应用文件打到镜像中,直接运行

Dockerfile

FROM repo001:xxxxx

ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

RUN apt-get update
RUN apt-get install python3-tk
RUN pip3 install --upgrade pip
RUN pip3 install pandas
RUN pip3 install pydantic[dotenv]

RUN mkdir /myworkspace/myapp

# Copy the application files
COPY . /myworkspace/myapp

WORKDIR /myworkspace/myapp

# Run the application
CMD ["python3","myapp.py"]

打完直接build镜像

sudo docker build -t repo001:xxxx -f /xxx/Dockerfile /myapppath

创建容器,运行app

sudo docker run -d --gpus all -p 8001:80001 repo001:xxxx

然后app运行起来以后可以查看运行日志

sudo docker logs -f 1dd3379af334 #查看容器日志

关于映射外部路径让容器访问外部文件

有时候应用也许不是完全无状态的,例如应用需要调取宿主机的文件路径,这时候我们run docker的时候把相关路径挂载进去就行了,和宿主机名称保持一致

sudo docker run -d --gpus all -v /home/nvidia/images:/home/nvidia/images -p 8001:80001 repo001:xxxx

这样如果调用myapp的时候传了一个/home/nvidia/images/1.jpg这样的参数在容器里也能同样访问到

关于性能

使用docker在容器中跑带有yolo和opencv的应用比起直接在原生环境中跑在jetson xavier NX上并不一定能见到明显的性能下降,容器化性能和很多因素有关,特别是应用对于cpu,gpu的使用情况不同,带宽算力使用情况不同,结果可能会不太一样,具体还是得测试,不能一概而论。文章来源地址https://www.toymoban.com/news/detail-653811.html

到了这里,关于【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【NVIDIA JETSON AGX XAVIER】与个人笔记本(win11)建立TCP-IP连接传输数据(含源码)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 NVIDIA JETSON AGX XAVIER当作客户端 个人笔记本(win11)当作服务器 首先要将Xavier与笔记本通过网线连接起来,实现Xavier联网(两者 可以相互ping通 就可以)并且需要知道 笔记本的ip地址 (假如现在是192.16

    2024年03月17日
    浏览(39)
  • 【AI】AI入门之Nvidia Jetson平台(二)- Xavier NX系统烧录

    目录 一. flash.sh 脚本烧录 二. 直接烧录NVME 2.1 SDKManger烧录 三. 系统从固态硬盘启动 ​​​​​​​3.1 设置硬盘格式 ​​​​​​​3.2 设置文件系统从固态硬盘加载 ​​​​​​​四. 文件传输设置 ​​​​​​​五. 远程桌面 六. 系统拷贝克隆 ​​​​​​​​​​

    2024年01月23日
    浏览(35)
  • 【AI】AI入门之Nvidia Jetson平台(四)- Xavier NX软件开发环境安装部署

    目录 一. CUDA安装 二. cuDNN安装 三. TensorRT安装 3.1 Pycuda安装 四. TensorFlow安装 五. PyTorch安装 六. DeepStream安装​​​​​​​ ​​​​​​​6.1 安装依赖软件 ​​​​​​​6.2 安装DeepStream SDK ​​​​​​​6.3 运行DEMO ​​​​​​​七. Multimedia API安装 ​​​​​​

    2024年01月16日
    浏览(36)
  • Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测

    link 上一篇:Jetson AGX Xavier安装torch、torchvision且成功运行yolov5算法 下一篇:Jetson AGX Xavier测试YOLOv4         由于YOLOv5在Xavier上对实时画面的检测速度较慢,需要采用TensorRT对其进行推理加速。接下来记录一下我的实现过程。  如果还没有搭建YOLOv5的python环境,按照下文步骤

    2024年02月10日
    浏览(29)
  • NVIDIA AGX Xavier平台相机嵌入数据采集调试记录

    在本文中,我们将详细介绍如何在NVIDIA AGX Xavier平台上进行相机数据采集并进行嵌入式数据调试。我们将提供相应的源代码,并逐步解释每个步骤。 首先,我们需要确保AGX Xavier平台已正确设置并连接相机。我们假设您已经完成了这一步骤,并已经安装了适当的相机驱动程序。

    2024年02月07日
    浏览(31)
  • Jetson Xavier NX编译OpenCV(with cuda)

    Jetson Xavier NX默认安装的OpenCV 4.5.4(不带cuda),因项目要求OpenCV使用cuda作加速,因此,须重新编译OpenCV。这里为了方便直接在目标机上面编译,避免复杂的环境及依赖。 下载地址: OpenCV · GitHub 我这里下载opencv-4.5.4,opencv_contrib-4.5.4,下载后并解压。 查看是否卸载: libs: versi

    2024年02月11日
    浏览(29)
  • Jetson Xavier NX 备份与烧录固态系统

    目录 1  需要的硬件 2  需要安装在ubuntu上的软件 2.1  安装gparted 2.2  安装nvidia官方烧录包 2.2.1  下载 2.2.2  配置 3  备份系统 4  烧入系统 5  我遇到过的问题 5.1  烧录过程中卡在某个地方不动 5.2  Fail to verify Stage25ignature SHA2 像是 nx,nx附带的固态硬盘,显示器 这些

    2024年02月10日
    浏览(30)
  • Jetson开发实战记录(二):Jetson Xavier NX版本区别以及烧录系统

    同系列链接: Jetson开发实战记录(一):Jetson家族的基本介绍 Jetson开发实战记录(二):Jetson Xavier NX版本区别以及烧录系统 Jetson开发实战记录(三):Jetson Xavier NX具体开发(Ubuntu18.04系统) 在上一篇文章:Jetson开发实战记录(一):Jetson家族的基本介绍中,已经对Jetson家族

    2023年04月08日
    浏览(39)
  • Jetson xavier nx 设置最大 CPU 和 GPU 频率

    查看cpu使用情况,终端输入 然后如果看到有cpu没有打开,根据cpu的序号,终端输入 注意这里的序号是从 0 开始算的。  如果出现报错 Permission denied,则进入超级用户权限,然后再输入上面命令即可,终端输入 进入超级用户权限,然后重复上面的步骤!GPU 调频同理。 Jetson 开

    2024年02月15日
    浏览(33)
  • Jetson NX Xavier 编译opencv4.4(cuda版)

    大部分人在解决问题的时候,百度输入的不够准确,展示出来的页面多数是跟自己用的系统版本不一致,导致安装失败。这点对于新手来说特别要注意,正如,你刚好看到我的文章,我希望你能在搜索时用 硬件 + 系统 + 要解决的问题 格式,说不定能提高你的检索效率

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包