首页/新闻资讯/正文详情

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

发布时间:2026/9/26 15:45:39 来源:云帆数科 栏目:资讯中心
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),仅供参考

相关推荐

STM32+Air780E实现中文短信发送与OLED状态同步
STM32+Air780E实现中文短信发送与OLED状态同步

1. 项目概述:为什么这个组合值得深挖STM32 Air780E OLED 实现按键发送中文短信,表面看是个“功能拼凑”,但实际是嵌入式物联网终端开发中一个极具代表性的闭环能力验证——它同时考验了MCU的外设调度能力、4G模组的协议解析深度、字符编码与… · 2026/9/26 15:45:39

Goose 下载安装与使用教程:用 TaoToken 统一 Key 打通 AI 工具链
Goose 下载安装与使用教程:用 TaoToken 统一 Key 打通 AI 工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:45:39

Puppeteer浏览器自动化接入MCP工具:TaoToken统一Key配置与settings.json骨架
Puppeteer浏览器自动化接入MCP工具:TaoToken统一Key配置与settings.json骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:45:33

【电机滤波代码3】新息协方差自适应扩展卡尔曼滤波(EKF)原理与MATLAB例程:PMSM电流测量噪声在线调整。订阅专栏后可查看完整代码,包运行成功
【电机滤波代码3】新息协方差自适应扩展卡尔曼滤波(EKF)原理与MATLAB例程:PMSM电流测量噪声在线调整。订阅专栏后可查看完整代码,包运行成功

如需帮助,或有滤波相关的MATLAB代码定制需求,可从个人主页左侧联系我 订阅专栏后,可直接查看源代码,粘贴到MATLAB空脚本中即可直接运行、得到结果 文章目录 运行结果 MATLAB源代码 程序详解 算法原理 核心公式 实现流程 参数说明 输出说明 运行结果 转速与位置估计图:对比… · 2026/9/26 16:25:21

从医疗到电商,AI 搜索如何重构产业价值?附真实案例与数据
从医疗到电商,AI 搜索如何重构产业价值?附真实案例与数据

在数字信息呈指数级增长、用户注意力成为稀缺资源的当下,AI搜索已完成从辅助工具到产业变革核心动力的蜕变。相较于传统搜索依赖“关键词匹配”的浅层逻辑,新一代AI搜索依托深度学习驱动的语义理解、多维度知识图谱构建等核心技术,实现了从“… · 2026/9/26 16:25:21

Java程序员轻松转型AI Agent:收藏这份保姆级学习路线,稳拿高薪Offer!
Java程序员轻松转型AI Agent:收藏这份保姆级学习路线,稳拿高薪Offer!

本文详细介绍了Java程序员如何顺利转型AI Agent开发。作者从自身经验出发,提供了从认知阶段到工程化落地的完整学习路线,包括打通认知、Prompt工程、RAG技术、Agent核心能力及工程化部署等五个阶段,帮助读者系统学习并掌握AI Agent开发技能。… · 2026/9/26 16:25:21

橡胶软接头厂家怎么选:先核对生产、检验和交付资料!
橡胶软接头厂家怎么选:先核对生产、检验和交付资料!

选橡胶软接头厂家,先看它能不能把生产、检验、交付三类资料对应到你要的这一批产品,而不是先听宣传。可以优先把"能给出目标型号规格表、能把检验记录落到批次、能把交期与随货文件写进合同"的供应方纳入候选;前提是你已经明确介质、温度、压力、口径和接口这几项工况… · 2026/9/26 16:25:21

杭州广受信赖的职务犯罪辩护律所,维格律师团队实力与用户口碑
杭州广受信赖的职务犯罪辩护律所,维格律师团队实力与用户口碑

职务犯罪辩护的核心逻辑与合规边界不少企业或公职人员在面临职务类案件咨询时,常会混淆刑事犯罪认定与日常经营、履职行为的边界。从法律本质来说,职务类刑事案件的核心在于主体身份适格性、行为是否便利、主观是否存在故意或过失、涉案金额与情节是否达… · 2026/9/26 16:25:21

用 AI 把 Swagger 接口自动生成前端 TypeScript 类型:TaoToken 配置与验证全流程
用 AI 把 Swagger 接口自动生成前端 TypeScript 类型:TaoToken 配置与验证全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 16:25:15

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码