新闻详情

新闻详情

首页 / 资讯中心 / 详情

三步跑通 OpenCLIP:零样本图文模型怎么装、怎么用、怎么选

发布时间:2026/9/12 8:08:30来源:尧图网络
三步跑通 OpenCLIP:零样本图文模型怎么装、怎么用、怎么选
三步跑通 OpenCLIP零样本图文模型怎么装、怎么用、怎么选【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip你需要让程序看懂一批没有标注的图片或者给图片库加一个语义搜索。传统路线是收集标签、训练分类器、部署。OpenCLIP 作为 OpenAI CLIP 的开源实现让你跳过前两步——加载预训练权重写几句文字描述就能开始分类和检索。OpenCLIP 是什么和其他实现差在哪OpenCLIP 是 OpenAI CLIP 的开源实现一个图文对比模型加载预训练权重后不做任何训练就能做零样本分类和图文检索。关键差异全部可验证内置 191 个模型配置覆盖 ViT、ConvNeXt、SigLIP、CoCa、音频 CLAP预训练权重来自 LAION-400M、LAION-2B、DataComp-1B 等大规模数据集38 个数据集的零样本成绩以 CSV 公开可直接对比最好的开源权重在 ImageNet-1k 零样本达 85.4%PE-Core-bigG-14-448推理和训练同仓库分布式训练实测到 1024 张 A100十五行跑通第一个 OpenCLIP 零样本推理先安装pip install open_clip_torch。需要自己训练时改为pip install open_clip_torch[training]。下面是最小示例对应官方 README 的快速开始加载 1.5 亿参数的 ViT-B-32LAION-2B 训练pretrained 标签laion2b_s34b_b79k把一张图在 3 个候选描述里分类。README 原版用的是仓库自带的架构图docs/CLIP.png你换成自己的图片即可。import torch, open_clip from PIL import Image model, _, preprocess open_clip.create_model_and_transforms( ViT-B-32, pretrainedlaion2b_s34b_b79k) model.eval() tokenizer open_clip.get_tokenizer(ViT-B-32) image preprocess(Image.open(your_image.png)).unsqueeze(0) text tokenizer([a diagram, a dog, a cat]) with torch.no_grad(): img model.encode_image(image) txt model.encode_text(text) img img / img.norm(dim-1, keepdimTrue) txt txt / txt.norm(dim-1, keepdimTrue) print((100.0 * img txt.T).softmax(-1))预期输出是 3 个概率。README 对架构图那张图的输出为[[1., 0., 0.]]即几乎 100% 判定它是 a diagram换成你自己的图三项概率会重新分配。两个容易踩的坑加载后记得model.eval()否则 BatchNorm、随机深度等训练态行为会生效加载 OpenAI 原始权重时模型名要带-quickgelu后缀因为那些权重用的是 QuickGELU 激活和现在的默认 GELU 不一致。三个常见场景检索、生成描述、自己训练搭一个图文搜索场景给图片库加语义搜索用文字查图。 做法把全部候选文本用model.encode_text编码一次存成索引查询时只编码查询文本或图片做一次矩阵乘取前几名。 效果不用为搜索任务单独训练模型一个模型同时支持文查图、图查文。README 提到大规模算 embedding 时可搭配 clip-retrieval 这类生态工具。一句话生成图片描述场景给一批图自动写出整句描述而不是分类标签。 做法CoCa 是CLIP 描述生成的混合架构仓库里coca_ViT-L-14权重在 COCO 描述上做过微调直接调model.generateimport open_clip, torch from PIL import Image model, _, transform open_clip.create_model_and_transforms( coca_ViT-L-14, pretrainedmscoco_finetuned_laion2B-s13B-b90k) im transform(Image.open(cat.jpg).convert(RGB)).unsqueeze(0) with torch.no_grad(): caption model.generate(im) print(open_clip.decode(caption[0]).split(end_of_text)[0].replace(start_of_text, ))预期输出是cat.jpg的一句英文描述。换pretrained标签可以换不同风格/规模的 CoCa 权重。预训练权重不匹配时用 OpenCLIP 训练自己的场景你的数据在垂直领域预训练权重效果不够或者你想训练更小的模型适配显存。 做法用仓库自带的训练入口open_clip_train.main数据支持 CSV 或 WebDataset.tar分片。多卡用 torchrun 启动卡数多时加上--local-loss和--gather-with-gradtorchrun --nproc_per_node 4 -m open_clip_train.main \ --train-data /data/cc12m/cc12m-train-{0000..2175}.tar \ --model ViT-B-32 \ --batch-size 320 \ --local-loss \ --gather-with-grad这两个参数把批内对比损失拆成各卡本地计算logit 矩阵显存从随卡数平方增长降到近似线性且结果与朴素 all-gather 数值一致。整套脚本实测到 1024 张 A100。训练效果可量化官方 8 卡跑 Conceptual Captions 的实验里零样本准确率随训练步数持续爬升OpenCLIP 零样本原理一句描述为什么能当分类器核心机制只有一个图像和文本各过一个编码器得到同一空间里的两个等长向量。训练目标是纯对比学习一个 batch 里每张图把配对的文本拉近、把其他图的文本推远同 batch 的其余样本充当负例。示例里的100.0不是魔法数字而是可学习温度参数logit_scale初始值 ln(1/0.07)≈100作用是把相似度分布拉尖、变成可比的概率。这就是零样本的来源分类器不是网络头而是一堆文本。换类别就是换描述模型本身不用重训。分类、检索、匹配共用这同一个向量空间CoCa 生成、CLAP 音频、蒸馏、int8 推理都是在它之上的扩展。模型定义和 191 个配置统一收在 src/open_clip/create_model_and_transforms一个入口全部加载。OpenCLIP 模型怎么选按任务和显存对号入座你的情况推荐起点依据初次体验 / 显存紧张ViT-B-32 laion2b_s34b_b79k151M 参数官方快速开始即用它精度与推理成本平衡ViT-L-14DataComp-1B 版427M 参数ImageNet 零样本 79.2%精度优先、显存充足PE-Core-bigG-14-448ImageNet 零样本 85.4%86B 样本、448px 训练多语言场景ViT-SO400M-16-SigLIP2-38484.1%多语言 WebLI 数据训练移动端部署MobileCLIP 系列仓库内置多个尺寸配置显存受限部署int8 量化bitsandbytes实测 CIFAR-10 88.76%→88.83%量化层显存约省一半音频任务CLAP-HTSAT 系列支持零样本音频分类评估选型前先跑一次open_clip.list_pretrained()它会列出全部可用权重和对应的 pretrained 标签。文档与源码入口docs/PRETRAINED.md各预训练模型的训练数据、算力与成绩细节docs/openclip_results.csv每个模型在 38 个数据集上的零样本分数docs/Interacting_with_open_clip.ipynb官方交互式教程逐段可跑下一步动作装好环境照十五行示例验证能打印出概率向量再按显存从上面的表里换更大的模型。【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

Zettlr 拼写检查完全指南:三步配置多语言词典,告别误报红波浪线 2026/9/12 8:53:36

Zettlr 拼写检查完全指南:三步配置多语言词典,告别误报红波浪线

Zettlr 拼写检查完全指南:三步配置多语言词典,告别误报红波浪线 【免费下载链接】Zettlr Your One-Stop Publication Workbench 项目地址: https://gitcode.com/GitHub_Trending/ze/Zettlr 用 Zettlr 写一份德语和英语混排的文档,很多…

阅读更多 →
Sunshine 游戏串流主机教程:30 分钟免费把主机画面串到任意设备 2026/9/12 8:53:36

Sunshine 游戏串流主机教程:30 分钟免费把主机画面串到任意设备

Sunshine 游戏串流主机教程:30 分钟免费把主机画面串到任意设备 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 是一款自托管游戏串流服务端,装在…

阅读更多 →
Polars 内存装不下时如何用 streaming 引擎执行查询并查看哪些算子落回内存? 2026/9/12 8:53:36

Polars 内存装不下时如何用 streaming 引擎执行查询并查看哪些算子落回内存?

Polars 内存装不下时如何用 streaming 引擎执行查询并查看哪些算子落回内存? 【免费下载链接】polars Extremely fast Query Engine for DataFrames, written in Rust 项目地址: https://gitcode.com/GitHub_Trending/po/polars 数据集大到超出可用内存时&am…

阅读更多 →
从 CRITICAL 到 SAFE:scientific-agent-skills 中 peer-review Skill 的安全加固与验证实录 2026/9/12 8:53:36

从 CRITICAL 到 SAFE:scientific-agent-skills 中 peer-review Skill 的安全加固与验证实录

从 CRITICAL 到 SAFE:scientific-agent-skills 中 peer-review Skill 的安全加固与验证实录 【免费下载链接】scientific-agent-skills Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. …

阅读更多 →
Hive数据仓库部署与优化实践指南 2026/9/12 8:53:36

Hive数据仓库部署与优化实践指南

1. Hadoop生态与Hive组件概述在大数据技术栈中,Apache Hadoop作为分布式系统基础架构,其生态体系已经发展出多个核心组件。Hive作为其中重要的数据仓库工具,通过将结构化数据文件映射为数据库表,并提供类SQL查询功能(HiveQL)&…

阅读更多 →
Windows 上部署 vLLM 实战:WSL2 + Docker 跑通 Qwen3-8B-FP8 2026/9/12 8:50:36

Windows 上部署 vLLM 实战:WSL2 + Docker 跑通 Qwen3-8B-FP8

Windows 上部署 vLLM,这件事一开始我是拒绝的。vLLM 这个推理引擎本身是为 Linux 设计的,官方文档第一行就写着推荐用 Ubuntu 22.04;Windows 用户想把它跑起来,等于是在别人没铺好的路上硬开。但架不住需求真实存在——很多人手里…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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