完整指南:使用vit_base_patch32_clip_384.openai_ft_in12k_in1k生成图像嵌入向量的3种方法
完整指南使用vit_base_patch32_clip_384.openai_ft_in12k_in1k生成图像嵌入向量的3种方法【免费下载链接】vit_base_patch32_clip_384.openai_ft_in12k_in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1kvit_base_patch32_clip_384.openai_ft_in12k_in1k是一个基于Vision TransformerViT架构的图像分类模型由OpenAI使用CLIP在WIT-400M图像文本对上预训练然后在ImageNet-12k和ImageNet-1k数据集上进行微调。该模型不仅可用于图像分类还能高效生成图像嵌入向量助力各种计算机视觉任务。模型基础信息核心参数模型类型图像分类/特征骨干网络参数量88.3M图像尺寸384×384特征维度768通过config.json可知num_features为768预训练数据集WIT-400M、ImageNet-12k方法一移除分类头获取嵌入向量这种方法通过设置num_classes0来移除模型的分类层直接输出特征向量。from urllib.request import urlopen from PIL import Image import timm # 加载图像 img Image.open(urlopen( https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png )) # 创建模型设置num_classes0移除分类器 model timm.create_model( vit_base_patch32_clip_384.openai_ft_in12k_in1k, pretrainedTrue, num_classes0, # 关键参数移除分类头 ) model model.eval() # 获取模型特定的图像变换 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 生成嵌入向量 output model(transforms(img).unsqueeze(0)) # 输出形状为 (batch_size, num_features) print(f嵌入向量维度: {output.shape}) # 应输出 (1, 768)方法二使用forward_features获取中间特征通过调用模型的forward_features方法可以获取未经池化的中间特征适用于需要更细粒度特征的场景。from urllib.request import urlopen from PIL import Image import timm # 加载图像 img Image.open(urlopen( https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png )) # 创建模型无需移除分类头 model timm.create_model( vit_base_patch32_clip_384.openai_ft_in12k_in1k, pretrainedTrue, ) model model.eval() # 获取图像变换 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 获取中间特征未池化 output model.forward_features(transforms(img).unsqueeze(0)) print(f未池化特征维度: {output.shape}) # 输出 (1, 145, 768) # 进一步处理为最终嵌入向量 output model.forward_head(output, pre_logitsTrue) print(f最终嵌入向量维度: {output.shape}) # 输出 (1, 768)方法三结合Hugging Face Transformers库使用如果你熟悉Transformers库也可以通过该库加载模型并生成嵌入向量需确保已安装transformers库。from urllib.request import urlopen from PIL import Image from transformers import ViTImageProcessor, ViTModel # 加载图像处理器和模型 processor ViTImageProcessor.from_pretrained(hf_mirrors/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1k) model ViTModel.from_pretrained(hf_mirrors/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1k) # 加载并预处理图像 img Image.open(urlopen( https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png )) inputs processor(imagesimg, return_tensorspt) # 生成嵌入向量 with torch.no_grad(): outputs model(**inputs) # 获取[CLS] token对应的特征作为嵌入向量 embedding outputs.last_hidden_state[:, 0, :] print(f嵌入向量维度: {embedding.shape}) # 输出 (1, 768)模型应用场景生成的图像嵌入向量可广泛应用于图像检索通过比较嵌入向量相似度实现相似图像搜索零样本分类结合文本嵌入进行跨模态分类特征提取作为其他下游任务的输入特征迁移学习在小数据集上进行微调以提高性能注意事项图像预处理必须使用模型特定的预处理参数可通过data_config获取包括归一化均值[0.48145466, 0.4578275, 0.40821073]和标准差[0.26862954, 0.26130258, 0.27577711]模型加载确保使用pretrainedTrue加载预训练权重性能优化推理时使用model.eval()和torch.no_grad()提高速度并减少内存占用总结vit_base_patch32_clip_384.openai_ft_in12k_in1k提供了灵活多样的图像嵌入向量生成方法无论是通过timm库的简洁API还是结合Transformers库的丰富功能都能轻松获取高质量的图像特征。这些嵌入向量为计算机视觉任务提供了强大的基础帮助开发者快速构建各类应用。要开始使用该模型可通过以下命令克隆仓库git clone https://gitcode.com/hf_mirrors/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1k【免费下载链接】vit_base_patch32_clip_384.openai_ft_in12k_in1k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_base_patch32_clip_384.openai_ft_in12k_in1k创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

合伙做生意没签书面协议,散伙时谁说了算?

合伙做生意没签书面协议,散伙时谁说了算?

一、合伙的起点,往往是风险的起点 不少人合伙做生意,出于情面只做口头约定:谁出多少钱、谁管什么事、赚了怎么分、亏了谁担,全凭一句"放心,我心里有数"。刚开始都好说,一旦经营波动、利益分配不均…

2026/11/11 23:01:17 阅读更多 →
从口头约定到电子签约,股权转让协议这样签才稳

从口头约定到电子签约,股权转让协议这样签才稳

一、股权转让,最怕"说好了又不认" 很多中小企业做股权转让,习惯先口头谈、微信聊,等到要办工商变更才补一份纸面协议。但股权交易金额大、责任重,口头约定一旦翻脸,谁先付钱、谁先过户、违约怎么赔&#xff…

2026/11/8 8:47:33 阅读更多 →
CSSG多语言格式输出:C/C++/F/UUID shellcode转换技巧

CSSG多语言格式输出:C/C++/F/UUID shellcode转换技巧

CSSG多语言格式输出:C#/C/F#/UUID shellcode转换技巧 【免费下载链接】CSSG Cobalt Strike Shellcode Generator 项目地址: https://gitcode.com/gh_mirrors/cs/CSSG CSSG(Cobalt Strike Shellcode Generator)是一款强大的shellcode生…

2026/11/8 22:59:31 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻