ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

用 open_clip 做以文搜图:零样本分类与多模态检索入门

2026/9/12 17:58:15 拓冰建站 浏览量
用 open_clip 做以文搜图:零样本分类与多模态检索入门 用 open_clip 做以文搜图零样本分类与多模态检索入门【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip想按一句话描述从几万张图里捞出目标但不想标注数据、更不想训练分类器open_clip 就是干这个的它是 CLIP 的开源实现把图像和文本编码进同一个向量空间装好、加载模型、跑一次推理就能用。原理一句话把配对变成距离CLIP 的训练信号只有一个匹配的图文对要在向量空间里靠得近不匹配的推得远。推理时不需要再训练——把图片库离线编码成向量存好查询文本编码后做相似度排序候选就出来了。这就是零样本检索的完整链路也是 CLIP 零样本分类的底层机制类别名只是另一种文本。open_clip 的训练框架图像编码器与文本编码器共享一个对比空间环境怎么配最快第一版推理长什么样安装一步到位open_clip 会带上所需的 torch 依赖pip install open_clip_torch然后是最小可运行片段import torch, open_clip from PIL import Image model, preprocess, _ open_clip.create_model_and_transforms(ViT-B-32) model.eval() tokenizer open_clip.get_tokenizer(ViT-B-32) img preprocess(Image.open(cat.jpg)).unsqueeze(0) text tokenizer([a photo of a cat, a photo of a car]) with torch.no_grad(): logits model(img, text).logits_per_image print(logits.softmax(-1))跑完会看到 cat 的得分明显高于 car第一版就算通了。模型名不确定时用open_clip.list_models()打印可用清单。不同规模模型的 ImageNet 零样本准确率与训练样本数的关系把以文搜图做成能上生产的形态以文搜图是零样本检索最典型的落地用户输入白底黑色运动鞋库内商品图按余弦相似度排出前 10。工程上就三步离线整库过一遍model.encode_image把向量连同图片 id 写进向量库FAISS 或 pgvector 都行在线查询文本过model.encode_text取 top-k调 prompt检索的措辞直接决定召回。类别名套进 a photo of a {} 这类模板比裸名字稳定得多——官方仓库在 src/open_clip/zero_shot_metadata.py 里就维护着几组模板改几个词通常比换模型见效快。内容审核是同一套机制的变体预定义违规描述当查询文本图片分数超阈值就拦下来转人工。阈值要拿自有违规集单独标定不同类别的分数分布差异不小别拿一个数通吃。模型怎么选 踩坑实录选型梯度数字来自仓库首页的 ImageNet 零样本准确率流程验证期用 ViT-B-32最轻单卡显存压力小精度不够上 ViT-L-14DataComp-1B 版本可达 79.2%显存宽裕选 ViT-H-14LAION-2B 版本 78.0%比 B-32 高 15 个点ViT-bigG-14 精度最高80.1%但推理成本高没有专门的 GPU 池别碰。三个高频问题结论先行相似度数值离谱忘了 L2 归一化。编码出来的向量不归一余弦相似度就是错的先查这一项换模型后分数没法比不同模型、不同训练数据的特征不共享空间LAION-400M 的文本向量对不上 DataComp-1B 的图像向量必须整库重算训练显存爆用训练入口的--precision amp降精度或开梯度检查点换时间细节见 docs/script_examples/stability_example.sh。下一步先按上面的两行代码跑通第一版再拿 100 张自有图验证 top-5 排序是否符合直觉排序合格了再按 B-32 → L-14 → H-14 的梯度往生产推。仓库内参考快速上手docs/PRETRAINED.md零样本评测汇总docs/openclip_results.csv模型配置目录src/open_clip/model_configs/训练脚本示例scripts/交互教程docs/Interacting_with_open_clip.ipynb【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考