跨模态检索:给定一个文本和图片,给出图文相似度分数。需要模型具备多模态理解的能力,目前主流的方法大多是基于多模态预训练,最为知名的跨模态检索数据集包括:Flickr30K,COCO等。 本任务是mPLUG,在英文Flickr30k数据集进行fietue的跨模态检索下游任务。mPLUG模型是统一理解和生成的多模态基础模型,该模型提出了基于skip-coectios的高效跨模态融合框架。其中,mPLUG在Flickr30k上取得SOTA,详见:mPLUG: Effective ad Efficiet Visio-Laguage Learig by Cross-modal Skip-coectios 本模型主要用于给文本和图片生成相似度分数。用户可以自行尝试各种输入文档。具体调用方式请参考代码示例。 在安装完成MaaS-lib之后即可使用cross-modal-retrieval的能力 (注意:模型运行约需占用 9G 内存) 模型在数据集上训练,有可能产生一些偏差,请用户自行评测后决定如何使用。 本模型训练数据集是Flickr30k,数据集包含30k图片, 具体数据可以下载 mPLUG在Flickr30k数据集,同等规模和预训练数据的模型中取得SOTA 如果我们的模型对您有帮助,请您引入我们的文章:跨模态检索介绍
模型描述
期望模型使用方式以及适用范围
如何使用
推理代码范例
from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
model = 'damo/mplug_image-text-retrieval_flickr30k_large_e'
pipelie_retrieval = pipelie(Tasks.image_text_retrieval, model=model)
image = 'https://alice-ope.oss-c-zhagjiakou.aliyucs.com/mPLUG/image-text-retrieval.jpg'
questio = 'Two youg guys with shaggy hair look at their hads while hagig out i the yard.'
iput = {'image': image, 'questio': questio}
result = pipelie_retrieval(iput)
prit(result)
模型局限性以及可能的偏差
训练数据介绍
模型训练流程
微调代码范例
import tempfile
from modelscope.msdatasets import MsDataset
from modelscope.metaifo import Traiers
from modelscope.traiers import build_traier
datadict = MsDataset.load('coco_captios_small_slice')
trai_dataset = MsDataset(
datadict['trai'].remap_colums({
'image:FILE': 'image',
'aswer:Value': 'aswer'
}).map(lambda _: {'questio': 'what the picture describes?'}))
test_dataset = MsDataset(
datadict['test'].remap_colums({
'image:FILE': 'image',
'aswer:Value': 'aswer'
}).map(lambda _: {'questio': 'what the picture describes?'}))
# 可以在代码修改 cofiguratio 的配置
def cfg_modify_f(cfg):
cfg.trai.hooks = [{
'type': 'CheckpoitHook',
'iterval': 2
}, {
'type': 'TextLoggerHook',
'iterval': 1
}, {
'type': 'IterTimerHook'
}]
retur cfg
kwargs = dict(
model='damo/mplug_image-text-retrieval_flickr30k_large_e',
trai_dataset=trai_dataset,
eval_dataset=test_dataset,
max_epochs=2,
cfg_modify_f=cfg_modify_f,
work_dir=tempfile.TemporaryDirectory().ame)
traier = build_traier(
ame=Traiers.lp_base_traier, default_args=kwargs)
traier.trai()
数据评估及结果
相关论文以及引用信息
@iproceedigs{li2022mplug,
title={mPLUG: Effective ad Efficiet Visio-Laguage Learig by Cross-modal Skip-coectios},
author={Li, Cheliag ad Xu, Haiyag ad Tia, Jufeg ad Wag, Wei ad Ya, Mig ad Bi, Bi ad Ye, Jiabo ad Che, Hehog ad Xu, Guohai ad Cao, Zheg ad Zhag, Ji ad Huag, Sogfag ad Huag, Fei ad Zhou, Jigre ad Luo Si},
year={2022},
joural={arXiv}
}
点击空白处退出提示
评论