新闻详情

新闻详情

首页 / 资讯中心 / 详情

Chinese-CLIP 部署完整实战:ONNX 与 TensorRT 转换加速指南

发布时间:2026/9/26 15:45:36来源:尧图网络
Chinese-CLIP 部署完整实战:ONNX 与 TensorRT 转换加速指南
Chinese-CLIP 部署完整实战ONNX 与 TensorRT 转换加速指南【免费下载链接】Chinese-CLIPChinese version of CLIP which achieves Chinese cross-modal retrieval and representation generation.项目地址: https://gitcode.com/GitHub_Trending/ch/Chinese-CLIP本文以 Chinese-CLIP ViT-B-16 为例走通 Chinese-CLIP 部署全流程环境速配、PyTorch → ONNX → TensorRT 两级模型转换、最小推理代码以及实测推理时延与零样本精度对比面向生产级图文检索落地。选型先行什么场景用 ONNX什么场景用 TensorRT先给结论。需要跨平台CPU 或多厂商 GPU交付、快速上线的选 ONNXONNX Runtime 生态成熟、模型可携带FP16 版本开箱即用。固定 NVIDIA GPU 上追求 Chinese-CLIP TensorRT 推理加速、把时延压到最低的选 TensorRT实测 ViT-B/16 文本侧时延从 12.47ms 降到 1.54ms约 8 倍提速。两者 FP16 下与 PyTorch 的 zero-shot 图文检索精度差距在 ±0.1 以内生产可用。Chinese-CLIP 部署环境速配两条命令装齐全部依赖硬件与软件要求合并在一张表里注意版本匹配链TensorRT 8.5.x ↔ cuDNN 8.6.0 ↔ CUDA 11.6任何一环不匹配都会出现晦涩的加载报错。项目推荐版本 / 配置说明GPUNVIDIA Volta 架构及以上需配备 FP16 Tensor Core显存16GB 及以上本文测速环境为 T416GBCUDA11.6核心计算平台cuDNN8.6.0必须与 TensorRT 版本匹配TensorRT8.5.x本文 8.5.2.2高性能推理引擎ONNX / onnxruntime-gpu1.13.0 / 1.13.1中间格式与推理运行时PyTorch1.12.1直接安装 cu116 版本代码不在本地可先克隆git clone https://gitcode.com/GitHub_Trending/ch/Chinese-CLIP然后一条命令装齐核心依赖pip install tensorrt8.5.2.2 onnx1.13.0 onnxruntime-gpu1.13.1 pip install torch1.12.1cu116 torchvision0.13.1cu116Chinese-CLIP 模型转换两级流水线PyTorch → ONNX → TensorRT TensorRT 不直接读 PyTorch checkpoint唯一路径是先转 ONNX 再建引擎。仓库 cn_clip/deploy/ 内置两个转换脚本按顺序跑完两级即可。第一步PyTorch → ONNXChinese-CLIP ONNX 转换以 ViT-B-16 为例一次导出文本侧与图像侧各得 FP32/FP16 两份文件python cn_clip/deploy/pytorch_to_onnx.py \ --model-arch ViT-B-16 \ --pytorch-ckpt-path pretrained_weights/clip_cn_vit-b-16.pt \ --save-onnx-path deploy/vit-b-16 \ --convert-text --convert-vision参数说明--model-arch模型规模可选RN50、ViT-B-16、ViT-L-14、ViT-L-14-336、ViT-H-14--pytorch-ckpt-pathPyTorch checkpoint 路径预训练或微调均可须与规模对应--save-onnx-path输出路径前缀实际生成.txt/.img×.fp32/.fp16共 4 个.onnx--convert-text/--convert-vision指定导出文本侧 / 图像侧编码器--context-length可选文本序列长度默认 52注意 FP16 文件附带一个.extra_file外置权重它与.onnx必须同目录且不可改名。第二步ONNX → TensorRTChinese-CLIP TensorRT 引擎构建用第一步的 FP16 ONNX 建引擎单个规模耗时几分钟到十几分钟python cn_clip/deploy/onnx_to_tensorrt.py \ --model-arch ViT-B-16 \ --convert-text --text-onnx-path deploy/vit-b-16.txt.fp16.onnx \ --convert-vision --vision-onnx-path deploy/vit-b-16.img.fp16.onnx \ --save-tensorrt-path deploy/vit-b-16 \ --fp16参数说明--model-arch规模须与 ONNX 输入一致--text-onnx-path/--vision-onnx-path第一步产出的两个 ONNX 文件--save-tensorrt-path输出前缀生成.txt.fp16.trt与.img.fp16.trt--fp16以 FP16 构建要求 Volta 及以上--convert-text/--convert-vision指定构建哪一侧不想自己构建可直接使用官方预转换的 FP16 引擎基于 TensorRT 8.5.2.2下载后放入deploy/即可模型规模图像侧引擎文本侧引擎RN50rn50.img.fp16.trtrn50.txt.fp16.trtViT-B/16vit-b-16.img.fp16.trtvit-b-16.txt.fp16.trtViT-L/14vit-l-14.img.fp16.trtvit-l-14.txt.fp16.trtViT-L/14336pxvit-l-14-336.img.fp16.trtvit-l-14-336.txt.fp16.trtViT-H/14vit-h-14.img.fp16.trtvit-h-14.txt.fp16.trt最小可运行示例5 行代码跑通 Chinese-CLIP TensorRT 推理转换出的引擎固定 batch1一次处理一张图或一条文本图像输入为[1,3,分辨率,分辨率]文本侧先用clip.tokenize分词、序列长度 52 与转换时--context-length保持一致。TensorRT 侧写法如下ONNX 侧同理用 onnxruntime 载入.fp16.onnx传 CPU 张量输入名image/text输出名unnorm_image_features/unnorm_text_featuresfrom cn_clip.deploy.tensorrt_utils import TensorRTModel img_engine TensorRTModel(deploy/vit-b-16.img.fp16.trt) image preprocess(Image.open(examples/pokemon.jpeg)).unsqueeze(0).cuda() feats img_engine(inputs{image: image})[unnorm_image_features] feats feats / feats.norm(dim-1, keepdimTrue) # 归一化图像特征其中preprocess由clip.utils.image_transform按模型输入分辨率生成。特征算出后图文特征内积乘以logit_scale.exp()官方预训练值为 4.6052即乘 100再 softmax即得相似概率。Chinese-CLIP 推理时延与零样本精度验证测试环境单卡 T416GB、Xeon Platinum 8163 2.5GHz16 核、64GB 内存。三种格式模型均 FP16、batch1各执行 100 次特征提取取均值ms/样本模型规模图像 PyTorch图像 ONNX图像 TensorRT文本 PyTorch文本 ONNX文本 TensorRTRN5012.935.041.363.640.950.58ViT-B/1611.124.923.5812.473.421.54ViT-L/1421.1917.1013.0812.453.481.52ViT-L/14336px47.1148.4031.5912.243.251.54ViT-H/1435.1034.0026.9823.986.013.89MUGE 图文检索 zero-shot 精度R1模型格式ViT-B/16 R1ViT-H/14 R1PyTorch52.163.0ONNX52.062.9TensorRT52.062.9结论两种格式与 PyTorch 仅差 ±0.1精度基本无损而 TensorRT 对小规模模型的提速尤为显著。Chinese-CLIP 部署常见坑位与 FAQ ⚠️cuDNN 与 TensorRT 版本不匹配TensorRT 8.5.x 必须搭配 cuDNN 8.6.0。建议随 torch cu116 轮子一并处理 cuDNN不要用 conda 安装 cudatoolkitcuDNN 版本漂移会直接导致 TRT 构建失败。FP16 建不出来Volta 之前的 GPU如 Pascal 一代没有 FP16 Tensor Core此时改用--fp32构建或升级显卡。显存不足ViT-H/14 等大规模引擎构建期显存占用较高建议 16GB 以上OOM 时换大显存机器构建一次产物可复用。extra_file 丢失ONNX FP16 权重存于外置.extra_file.onnx内记录其路径重命名或移动文件会加载失败转换时输出前缀尽量用相对路径。TRT 版本漂移.trt引擎不保证跨版本加载运行环境的 TensorRT 版本必须与构建时一致8.5.2.2。输入形状写死引擎按 batch1、文本序列 52 构建运行时要改这两个参数必须重新构建。一句话总结ONNX 负责跨平台交付TensorRT 负责极致 GPU 时延两级流水线跑完Chinese-CLIP 部署即可投产。相关资源cn_clip/deploy/转换与推理加速脚本、cn_clip/eval/ONNX/TensorRT 特征提取与评测脚本、deployment.md官方部署文档、speed_benchmark.py时延测试脚本。【免费下载链接】Chinese-CLIPChinese version of CLIP which achieves Chinese cross-modal retrieval and representation generation.项目地址: https://gitcode.com/GitHub_Trending/ch/Chinese-CLIP创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Web集群与云电脑:AI Agent时代的架构重心迁移 2026/9/26 18:43:55

Web集群与云电脑:AI Agent时代的架构重心迁移

说实话,第一次在架构会上听到"每人一台不关机的云电脑"这个方案时,我差点以为团队打算退回九十年代的胖客户端时代。我们好不容易把单体应用拆成 Web 集群,搞无状态、搞负载均衡、搞会话外置,怎么 AI 一来,反…

阅读更多 →
前端人的拼夕夕:零成本资源、学习路线与面试进阶实战 2026/9/26 18:43:55

前端人的拼夕夕:零成本资源、学习路线与面试进阶实战

别管,咱们前端人有自己的拼夕夕~“别管,咱们前端人有自己的拼夕夕~”这句话最近在技术社区里刷屏,其实它说的根本不是购物,而是前端生态里那种“想要啥都能拼一份”的白嫖文化。仔细想想,这话真…

阅读更多 →
机器学习驱动的借贷需求预测:从样本定义到特征工程的完整实践 2026/9/26 18:43:55

机器学习驱动的借贷需求预测:从样本定义到特征工程的完整实践

简介:面向机器学习学习者和金融风控从业者,这份资料围绕京东平台借贷需求预测任务,完整展示了从数据预处理、特征工程、模型选择到评估优化的实践流程。压缩包共8个文件,以5个Python脚本为主,覆盖LightGBM建模、特征生…

阅读更多 →
新手采集数据总被403?10种常见反爬策略及Python解决方案全解 2026/9/26 18:43:55

新手采集数据总被403?10种常见反爬策略及Python解决方案全解

很多刚接触工业数据采集的新手,最常遇到的问题就是:代码逻辑看起来没问题,跑起来却要么返回403,要么IP直接被临时封禁,换个浏览器手动访问又一切正常。本质上是对目标站点的反爬防护机制没有概念,踩了最基础…

阅读更多 →
从零搭建Claude Code模板体系:解决AI编程上下文一致性 2026/9/26 18:43:48

从零搭建Claude Code模板体系:解决AI编程上下文一致性

如果你用 Claude Code 写过代码,大概率体会过这种别扭:模型本身很强,但每次开新会话,都得把项目背景、目录结构、编码规范、禁止事项重新念叨一遍。说少了它自由发挥,说多了对话还没开始,上下文已经被背景说…

阅读更多 →
Jev模型TypeSafe AI实战:结构化输出与SDK接入全指南 2026/9/26 18:43:48

Jev模型TypeSafe AI实战:结构化输出与SDK接入全指南

1. 这个模型到底是个什么东西Jev 模型这两天在圈子里刷屏刷得厉害,我第一时间拿到密钥跑了一轮完整测评,从注册、拿 Key、调 API 到实际业务场景压测,前后折腾了差不多两天。先说结论:它不是那种“又一个套壳聊天机器人”&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉