jetson-inference 项目介绍
jetson-inference 项目是一个旨在利用 NVIDIA Jetson 设备进行深度学习推理和实时视觉任务的解决方案。该项目通过使用 TensorRT 进行网络优化,可以在 C++ 或 Python 环境中运行经过优化的神经网络,并借助 PyTorch 进行模型训练。
支持的 DNN 视觉功能
项目支持多种视觉任务,包括:
- imageNet:用于图像分类。
- detectNet:用于物体检测。
- segNet:用于语义分割。
- poseNet:用于姿势估计。
- actionNet:用于动作识别。
同时,提供了从实时摄像头获取流媒体、使用 WebRTC 创建 Web 应用程序,以及对 ROS/ROS2 的支持等示例。
Hello AI World 教程
"Hello AI World" 是项目中的一部分教程,指导用户在 Jetson 上进行推理和迁移学习。用户可以收集数据集、使用 PyTorch 训练模型并通过 TensorRT 部署这些模型。
系统设置
- 设置 Jetson 使用 JetPack
- 运行 Docker 容器
- 从源代码构建项目
推理与训练
包括图像分类、物体检测、语义分割、姿势估计、动作识别、背景移除、单目深度等多项技术的实现细节。
Web 应用框架
项目也支持 Web 应用开发,例如 WebRTC 服务器、HTML/JavaScript、Flask + REST 框架及 Plotly 仪表板等。
Jetson AI Lab
Jetson AI Lab 是项目中包含的一个额外资源中心,提供关于大型语言模型(LLM)、视觉变压器(ViT)及视觉语言模型(VLM)的额外教程。这些实例能够在 Orin 或 Xavier 设备上运行。
视频教程
项目还提供了一系列视频演示,帮助用户快速上手,从基本设置、图像分类推理到对象检测模型的训练,都有详细说明。
API 参考
项目的 API 文档包含 C++ 和 Python 的详细说明,可以帮助用户更好地在项目中进行深度学习开发。
代码示例
项目提供了多种 C++ 和 Python 代码示例,以便用户更好地理解和使用库进行网络推理,包括图像识别、物体检测、语义分割、姿态估计和动作识别等。
预训练模型
项目中提供了一系列预训练模型,涵盖了图像识别、物体检测、语义分割、姿态估计及动作识别等任务。用户可以下载并使用这些模型进行进一步开发。
推荐的系统要求
为获得最佳性能,推荐使用 Jetson Nano、Jetson Xavier NX、Jetson AGX Xavier 或 Jetson Orin 等开发套件,搭配最新的 JetPack 版本。
额外资源
项目还提供了深度学习的额外资源链接,以及关于 ROS 节点、NVIDIA AI IoT 资源和 Jetson Wiki 的详细信息。
通过 jetson-inference 项目,开发者可以在小巧而强大的 Jetson 平台上高效运行深度学习应用。这是一个开源且面向实践的项目,适合从研究人员到开发人员的不同群体使用。