EasyNLP带你阿凡达CLIP图文检索
发布时间:2025年09月11日 12:18
self.text_projection = nn.Linear(self.text_embed_dim, self.projection_dim, bias=False
其当中,CLIPTextTransformer和CLIPVisionTransformer分别是基于BERT和VIT的形态浓缩器。前向传播的过程也相当简洁:
vision_outputs = self.vision_model(...)
text_outputs = self.text_model(...)
image_embeds = vision_outputs[1]
image_embeds = self.visual_projection(image_embeds)
image_embeds = image_embeds / image_embeds.norm(dim=-1, keepdim=True)
text_embeds = text_outputs[1]
text_embeds = self.text_projection(text_embeds)
text_embeds = text_embeds / text_embeds.norm(dim=-1, keepdim=True)
logit_scale = self.logit_scale.exp()
logits_per_text = torch.matmul(text_embeds, image_embeds.t()) * logit_scale
loss = clip_loss(logits_per_text)
此外,由于CLIP数学模型本身具备句法和缩放的编解码器,我们反之亦然初始化他们的前向推理变量就可以发挥作用形态的浓缩。对于句法我们有:
text_outputs = self.text_model(...)
pooled_output = text_outputs[1]
text_features = self.text_projection(pooled_output)
对缩放的可用也与句法类似:
vision_outputs = self.vision_model(...)
pooled_output = vision_outputs[1]
image_features = self.visual_projection(pooled_output)
此外,我们在多个未公开资料集上正确性了EasyNLP必需概念当中CLIP数学模型在各种侦查上的准确性。以零样本深造为例,我们用到EasyNLP加载了开源的openai/clip-vit-large-patch14数学模型,对比了Top-1准确性和CLIP官方论文的结果,如下示意图:
资料集
Top-1 Accuracy (复现结果)
CLIP 论文汇报结果
Food101
90.9
92.9
CIFAR100
78.6
77.9
EuroSAT
60.1
59.9
Oxford Pets
93.0
93.5
Fllickr30k-TR
85.3
88.0
Fllickr30k-IR
65.0
68.7
我们的实验也解释,如果选用特定资料集的资料对CLIP进行时全面Fine-tune,CLIP能取得来得快的效果。以Fllickr30k资料集为例,CLIP数学模型在零样本深造和Fine-tune对比结果如下:
img2txt
(r1/r5/r10)
img2txt mean
txt2img
(r1/r5/r10)
txt2img mean
CLIP Fine-tune
91.0/99.0/99.7
95.57
76.38/94.06/97.28
89.24
CLIP Zero-shot
85.3/97.40/99.2
94.0
65.02/87.2/92.0
81.41
我们也在当简体中文资料集上进行时了先于体能训练,并且评测了数学模型在COCO-CN和Fllickr30k-CN资料集上的效果。数学模型的设立与WukongViT对齐(详见请注意),进行时了复现,结果如下示意图:
资料集
数学模型
img2txt mean
txt2img mean
COCO-CN
WukongViT
96.4
89.8
CLIP
96.1
88.4
Fllickr30k-CN
WukongViT
85.9
87.8
CLIP
86.0
86.1
由上述结果可见,EasyNLP必需概念体能训练的CLIP数学模型在河段侦查的Finetune结果与WukongViT必需对齐。结果少量相似性的原因在于:1. MindSpore与PyTorch的实际上发挥作用相似性(WukongViT所作选用MindSpore发挥作用)以及2. 超参数和随机种子的选项。
为了方便使用客户端的用到,EasyNLP全面提供了AppZoo各个领域的接口,使得客户端可以在不发挥作用任何字符的只能初始化CLIP数学模型,这一部分内容在下一节详述。
CLIP数学模型用到引论
所列摘要详述在EasyNLP必需概念用到CLIP数学模型。由于客户端资料一般于CLIP先于体能训练资料在产于上存在差距。我们提供CLIP数学模型的体能训练和矢量浓缩功能
安装EasyNLP
客户端可以反之亦然概述链接的解释安装EasyNLP方法必需概念。
资料等待
首先等待体能训练资料与正确性资料,为tsv邮件。这一邮件包含以制表符 分隔的两列,第一列名句法,第二列名由此可知片的编码。会用浓缩矢量接入矢量查找系统的转换成邮件为单列,均包含句法或由此可知片的编码。
为了方便使用研发者,我们也提供了转换由此可知片到编码的示例字符:
import
from io import BytesIO
from PIL import Image
img = Image.open(fn)
img_buffer = BytesIO()
img.save(img_buffer, format=img.format)
byte_data = img_buffer.getvalue()
_str = .b64encode(byte_data) # bytes
下列邮件并未启动先于处理,可会用测试:
# train
_MR_train脚注part.tsv
# valid
_MR_valid脚注part.tsv
# text
_MR_test脚注part_text.tsv
# image
_MR_test脚注part_image.tsv
数学模型体能训练和评测
我们选用所列命令对CLIP数学模型进行时fine-tune:
easynlp
----mode train
----worker_gpu=1
----tables=./MUGE_MR_train脚注part.tsv,./MUGE_MR_valid脚注part.tsv
----input_schema=text:str:1,image:str:1
----first_sequence=text
----second_sequence=image
----checkpoint_dir=./clip_model/
----learning_rate=1e-4
----epoch_num=1
----random_seed=42
----logging_steps=100
----save_checkpoint_steps 200
----sequence_length=32
----micro_batch_size=32
----app_name=clip
----save_all_checkpoints
----user_defined_parameters='pretrain_model_name_or_path=clip_chinese_roberta_large_with_vit_large fix_vision=True mode=finetune'
体能训练启动后数学模型被保存到./clip_model/。体能训练结束后,我们可以对数学模型进行时评估:
easynlp
----mode evaluate
----worker_gpu=1
----tables=./MUGE_MR_valid脚注part.tsv
----input_schema=text:str:1,image:str:1
----first_sequence=text
----second_sequence=image
----checkpoint_dir=./clip_model/
----random_seed=42
----logging_steps=100
----save_checkpoint_steps=500
----sequence_length=32
----micro_batch_size=32
----app_name=clip
句法或由此可知片形态浓缩
数学模型体能训练完毕后,我们可以将其会用句法或由此可知片的形态浓缩,示例如下:
浓缩句法形态easynlp
----mode predict
----worker_gpu=1
----tables=./MUGE_MR_test脚注part_text.tsv
----input_schema=text:str:1
----output_schema=text_feat
----outputs=./text_feat.tsv
----first_sequence=text
----checkpoint_dir=./clip_model/
----random_seed=42
----logging_steps=100
----save_checkpoint_steps=500
----sequence_length=32
----micro_batch_size=2
----app_name=clip
浓缩由此可知片形态easynlp
----mode predict
----worker_gpu=1
----tables=./MUGE_MR_test脚注part_image.tsv
----input_schema=image:str:1
----output_schema=image_feat
----outputs=./image_feat.tsv
----first_sequence=image
----checkpoint_dir=./clip_model/
----random_seed=42
----logging_steps=100
----save_checkpoint_steps=500
----sequence_length=32
----micro_batch_size=2
----app_name=clip
浓缩借助于的形态存储在一个tsv邮件当中,每行对应转换成当中的一个句法或一个由此可知片,维度之间选用制表符 分隔。
愿景展望
在愿景,我们计划在EasyNLP必需概念当中未公开以PyTorch发挥作用的CLIP数学模型,布满各个常见当简体中文领域,敬请期待。我们也将在EasyNLP必需概念当中集成来得多SOTA数学模型(特别是当简体中文数学模型),来全力支持各种NLP和多一般性侦查。此外,阿里云机器深造PAI结构设计团队也在接下来推进当简体中文多一般性数学模型的自研社会活动,欢迎客户端接下来高度重视我们,也欢迎加入我们的开源社区,综合性当简体中文NLP和多一般性方法奎!
Github地址:
Reference
Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger. Ilya Sutskever. Learning transferable visual models from natural language supervision. arXiv Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. arXiv Jiaxi Gu, Xiaojun Meng, Guansong Lu, Lu Hou, Minzhe Niu, Xiaodan Liang, Lewei Yao, Runhui Huang, Wei Zhang, Xin Jiang, Chunjing Xu, Hang Xu. Wukong: 100 Million Large-scale Chinese Cross-modal Pre-training Dataset and A Foundation Framework. arXiv阿里灵杰回顾
阿里灵杰:阿里云机器深造PAI开源当简体中文NLP方法必需概念EasyNLP,助力NLP大数学模型放开 阿里灵杰:先于体能训练学问给定先于赛夺冠!阿里云PAI发布学问先于体能训练工具原文链接:
本文为阿里云原创内容,未经允许不得登载。
。天津哪个妇科医院最好辽宁哪家医院做人流最好
成都妇科检查哪些项目
治疗膝关节炎的好药
新乡看白癜风去哪个医院好
健康资讯
新冠药
健康警示
感冒咳嗽怎么缓解
咳嗽黄痰可以喝太极急支糖浆吗
- 私募股权投资回报接近历史记录高位
- 罗永浩退出交个朋友高层
- 哔哩哔哩-SW涨超12%!恒生科技指标ETF(159742)涨超3.5%势头强劲
- 异动电视新闻:争光股份(301092)6月8日10点33分封涨停板
- 外面10几度的天,市场依然冷清,服务生冬款春款夏款都有却还是没生意,服务生除了老顾客很难接到新客,我都不知道要卖啥
- 凯大催化北交所IPO获受理,存获利波动等风险
- 我已经不期望有什么惊喜了!只要不是惊吓就行!其实很想做的好一点!问题是都不给我机会?消费者呢?努力的服装人 批发市场 批发拿货
- 公园内张玉良:狠抓现金流,保障债务顺利偿还
- 湖南这么热的天,还不降点温,不究竟这个生意是乱套了,厂家出厚外套了,我家顾客都是在补薄款衬衣裤子批发市场 女装拿货
- 消费者违规:倍思充电宝质量问题导致手机损坏,客服拒不解决问题
- 没有随随便便的成功!没有不劳而获!所有的得到都是要付出努力?如果不是你想要的结果!你肯定偷懒了批发拿货 女装清货如出一辙福利价 努力的服装人 女装
- 个股期权的前项怎么算?
- 再见啦我的本年,好或不好的都已经过去!愿今年旗开得胜,顺顺利利同城热门 批发拿货 努力的服装人 女装清货秒杀福利价
- 浓度在回升,补单的顾客也在增加!坚持自己的原则和风格,不随便跟风,慢慢来,生活不会亏待一个努力的人,加油,同行的小伙伴们!