tf_trt_models
tf_trt_models 是一个专为 NVIDIA Jetson 边缘计算设备打造的开源项目,旨在让开发者能够轻松部署经过加速的 TensorFlow 图像分类与物体检测模型。它主要解决了深度学习模型在资源受限的边缘设备上推理速度慢、实时性差的痛点。通过集成 NVIDIA TensorRT 技术,该项目将标准的 TensorFlow 模型转化为高度优化的推理引擎,在保持精度的同时显著降低延迟。
数据显示,在 Jetson TX2 平台上,经 tf_trt_models 优化后的模型(如 Inception、ResNet、MobileNet 系列)推理速度相比原生 TensorFlow 提升了数倍,部分场景下耗时从上百毫秒降至几十毫秒甚至几毫秒,极大地释放了硬件潜能。
该工具特别适合嵌入式 AI 开发者、研究人员以及需要在边缘端实现实时视觉应用的工程师使用。其独特亮点在于提供了一套完整的自动化流程脚本,涵盖预训练模型下载、图构建、TensorRT 量化优化及 Jupyter Notebook 示例,让用户无需深入底层细节即可快速完成模型部署。此外,它还支持针对自定义任务进行训练和适配,是连接云端训练与边缘高效推理的理想桥梁。
使用场景
某农业科技公司正在 NVIDIA Jetson TX2 边缘设备上部署实时作物病害检测系统,需要在田间地头快速识别叶片异常。
没有 tf_trt_models 时
- 推理延迟过高:直接运行原生 TensorFlow 模型(如 Inception V2),单张图片处理耗时约 31.8ms,导致视频流卡顿,无法达到实时交互标准。
- 硬件性能浪费:Jetson 板载的 TensorRT 加速引擎未被调用,GPU 算力闲置,设备长期处于高负载低效状态。
- 部署流程繁琐:开发人员需手动编写复杂的图转换脚本,将预训练模型转换为兼容格式,极易因版本不匹配导致报错。
- 能耗与发热严重:由于计算效率低下,设备为维持帧率不得不全速运转,导致电池续航骤减且机身过热。
使用 tf_trt_models 后
- 推理速度倍增:通过内置脚本一键构建并优化模型,Inception V2 的推理时间从 31.8ms 骤降至 9.08ms,轻松实现流畅的实时检测。
- 自动底层优化:tf_trt_models 自动将浮点运算转换为 FP16 精度并融合算子,无需人工干预即可榨干 Jetson 硬件性能。
- 开发门槛降低:提供标准的下载、构建和优化 API,开发者仅需几行代码即可完成从预训练模型到边缘部署的全流程。
- 能效显著提升:更快的推理意味着 CPU/GPU 能更快进入空闲状态,大幅降低了系统功耗和发热量,延长户外作业时间。
tf_trt_models 通过自动化集成 TensorRT 加速技术,将边缘端的 AI 推理性能提升了 3 倍以上,让高精度模型在低功耗设备上真正落地。
运行环境要求
- Linux (NVIDIA Jetson TX2)
必需,仅限 NVIDIA Jetson TX2 嵌入式平台(需配合 TensorRT),未提及独立显卡显存大小
未说明

快速开始
Jetson 上的 TensorFlow/TensorRT 模型
此仓库包含用于在 NVIDIA Jetson 上使用 TensorFlow 图像分类和目标检测模型的脚本及文档。这些模型来源于 TensorFlow 模型仓库,并使用 TensorRT 进行优化。
设置
使用 JetPack 3.2(包含 TensorRT)为您的 Jetson TX2 刷机。
在 Jetson 上安装其他依赖项:
sudo apt-get install python-pip python-matplotlib python-pil安装 TensorFlow 1.7+(支持 TensorRT)。下载 预编译的 pip 轮子 并使用 pip 安装。
pip install tensorflow-1.8.0-cp27-cp27mu-linux_aarch64.whl --user或者如果您使用的是 Python 3:
pip3 install tensorflow-1.8.0-cp35-cp35m-linux_aarch64.whl --user克隆此仓库:
git clone --recursive https://github.com/NVIDIA-Jetson/tf_trt_models.git cd tf_trt_models运行安装脚本:
./install.sh或者如果您想指定 Python 解释器:
./install.sh python3
图像分类
模型
| 模型 | 输入尺寸 | TF-TRT TX2 | TF TX2 |
|---|---|---|---|
| inception_v1 | 224x224 | 7.36ms | 22.9ms |
| inception_v2 | 224x224 | 9.08ms | 31.8ms |
| inception_v3 | 299x299 | 20.7ms | 74.3ms |
| inception_v4 | 299x299 | 38.5ms | 129ms |
| inception_resnet_v2 | 299x299 | 158ms | |
| resnet_v1_50 | 224x224 | 12.5ms | 55.1ms |
| resnet_v1_101 | 224x224 | 20.6ms | 91.0ms |
| resnet_v1_152 | 224x224 | 28.9ms | 124ms |
| resnet_v2_50 | 299x299 | 26.5ms | 73.4ms |
| resnet_v2_101 | 299x299 | 46.9ms | |
| resnet_v2_152 | 299x299 | 69.0ms | |
| mobilenet_v1_0p25_128 | 128x128 | 3.72ms | 7.99ms |
| mobilenet_v1_0p5_160 | 160x160 | 4.47ms | 8.69ms |
| mobilenet_v1_1p0_224 | 224x224 | 11.1ms | 17.3ms |
TF - 原始 TensorFlow 图(FP32)
TF-TRT - TensorRT 优化后的图(FP16)
以上基准测试时间是在将 Jetson TX2 设置为 MAX-N 模式后收集的。为此,请在终端中运行以下命令:
sudo nvpmodel -m 0
sudo ~/jetson_clocks.sh
下载预训练模型
为了方便起见,我们提供了一个脚本,用于从 TensorFlow 模型仓库下载预训练模型。
from tf_trt_models.classification import download_classification_checkpoint
checkpoint_path = download_classification_checkpoint('inception_v2')
要手动下载预训练模型,请按照 此处 的链接操作。
构建 TensorRT / Jetson 兼容图
from tf_trt_models.classification import build_classification_graph
frozen_graph, input_names, output_names = build_classification_graph(
model='inception_v2',
checkpoint=checkpoint_path,
num_classes=1001
)
使用 TensorRT 优化
import tensorflow.contrib.tensorrt as trt
trt_graph = trt.create_inference_graph(
input_graph_def=frozen_graph,
outputs=output_names,
max_batch_size=1,
max_workspace_size_bytes=1 << 25,
precision_mode='FP16',
minimum_segment_size=50
)
Jupyter Notebook 示例
有关执行上述步骤并在实际图像上运行的完整示例,请参阅 jupyter notebook 示例。
针对自定义任务进行训练
请遵循 TensorFlow 模型仓库 中的文档。获得检查点后,按照上述方法构建图并使用 TensorRT 进行优化。
目标检测
模型
| 模型 | 输入尺寸 | TF-TRT TX2 | TF TX2 |
|---|---|---|---|
| ssd_mobilenet_v1_coco | 300x300 | 50.5ms | 72.9ms |
| ssd_inception_v2_coco | 300x300 | 54.4ms | 132ms |
TF - 原始 TensorFlow 图(FP32)
TF-TRT - TensorRT 优化后的图(FP16)
以上基准测试时间是在将 Jetson TX2 设置为 MAX-N 模式后收集的。为此,请在终端中运行以下命令:
sudo nvpmodel -m 0
sudo ~/jetson_clocks.sh
下载预训练模型
为了方便起见,我们提供了一个脚本,用于从 TensorFlow 模型仓库下载预训练模型权重和配置文件。
from tf_trt_models.detection import download_detection_model
config_path, checkpoint_path = download_detection_model('ssd_inception_v2_coco')
要手动下载预训练模型,请按照 此处 的链接操作。
重要提示: 一些目标检测配置文件具有非常低的非极大值抑制阈值(例如 1e-8)。这可能会导致不必要的大量 CPU 后处理负载。根据您的应用,建议将此值提高到更大的数值(如 0.3),以提升性能。我们在上述基准测试中就是这么做的。您可以在调用 build_detection_graph 之前直接修改配置文件来实现这一点。该参数例如可在这一 行 找到。
构建 TensorRT / Jetson 兼容图
from tf_trt_models.detection import build_detection_graph
frozen_graph, input_names, output_names = build_detection_graph(
config=config_path,
checkpoint=checkpoint_path
)
使用 TensorRT 进行优化
import tensorflow.contrib.tensorrt as trt
trt_graph = trt.create_inference_graph(
input_graph_def=frozen_graph,
outputs=output_names,
max_batch_size=1,
max_workspace_size_bytes=1 << 25,
precision_mode='FP16',
minimum_segment_size=50
)
Jupyter Notebook 示例
有关执行上述步骤并在实际图像上运行的完整示例,请参阅 Jupyter Notebook 示例。
针对自定义任务进行训练
请按照 TensorFlow 模型仓库 中的文档操作。在获得检查点后,按照上述方法构建图并使用 TensorRT 进行优化。请注意,并非所有模型都经过测试,因此在训练时应使用与 ssd_mobilenet_v1_coco 或 ssd_inception_v2_coco 模型类似的物体检测配置文件。部分配置参数(如类别数、图像尺寸、非极大值抑制参数等)可以修改,但性能可能会有所不同。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器