开发者社区> xrfr22zbcy4rw> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【ModelScope】5分钟让你在大火的多模态领域权威榜单VQA上超越人类

简介: ModelScope上开源了达摩院众多业界最强多模态模型,其中就有首超人类的多模态视觉问答模型mPLUG,小编从页面体验(一探)、开发体验(二探)、开放测试(三探)来探究多模态预训练模型能力。
+关注继续查看

ModelScope上开源了达摩院众多业界最强多模态模型,其中就有首超人类的多模态预训练视觉问答模型mPLUG,小编激动的搓搓小手,迫不及待的体验了一下。


一探:浅草才能没马蹄

市面上有好多号称“用户上手简单”,“一步到位”,“傻瓜式”,但是真的,如果不懂两三行代码,没有一些机器学习基础,不趟几次浑水,是真的没办法上手的。浅草才能没马蹄,ModelScope真的做到了,一步即可体验,所见即所得,没有任何的冗余,如丝般顺滑的的在线体验。


一步,点击「执行测试」,有手就行!

1.png


那么这个号称超人类的模型怎么样呢?小编马上开始测试模型!就拿小编最近去西双版纳的图片来测试!!!西双版纳是中国热带生态系统保存最完整的地区,素有“植物王国”、“动物王国”、“生物基因库”、“植物王国桂冠上的一颗绿宝石”等美称。同时西双版纳还有好多好吃的,舂鸡脚、泰国菜、孔雀宴、老挝冰咖啡、小菠萝、傣式烧烤等等。


测完之后,真服了,真的是全知全能的问答模型,无论问物种、问数量、问位置,模型都能回答出来。图中小编刚认识的睡莲(lily pads)--泰国的国花都是精准无比,还有图4也能把背景中大象也能识别出来,实在太厉害了!

2.png3.png4.png5.png

6.png7.png8.png9.png


小编又想了个办法,我要测试孔雀&孔雀舞,这下终于难倒了模型!

10.png11.png


二探:觉知此事要躬行

遇到这么强的模型,小编当然想深刻了解一下,觉知此事要躬行嘛!其实是想自己拥有一个,将来出去玩的时候可以把导游费给省了。ModelScope也为我考虑到了,右上角「在Notebook中打开」,点它!这里有CPU环境和GPU环境,看到GPU,小编眼睛都直了,这不就是和3090Ti齐名的V100,如此高性能的GPU,羊毛党果断薅一下。

12.png13.png


测试过程非常流程,只需要会import就能实现整体流程,小编也整理了相关代码放出来可以使用!

###
!pwd
!mkdir data
!wget http://xingchen-data.oss-cn-zhangjiakou.aliyuncs.com/maas/visual-question-answering/visual_question_answering.png -O data/visual_question_answering.png

###
from PIL import Image
image = Image.open('data/visual_question_answering.png')
image.show()

###
from PIL import Image
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

model_id = 'damo/mplug_visual-question-answering_coco_large_en'
input_vqa = {
    'image': Image.open('data/visual_question_answering.png'),
    'question': 'What is grown on the plant?',
}

pipeline_vqa = pipeline(Tasks.visual_question_answering, model=model_id)
print(pipeline_vqa(input_vqa))

为了方便大家,小编也把运行中间步骤展示出来,这样无论是小白还是新手,都可以玩起来了。

14.png15.png16.png17.png18.png


离部署只差最后一步了,用gradio就可以满足你,按照文档提示即可完成。

27.png


三探:无招胜有招

多模态预训练模型mPLUG是建立在千万图文数据预训练的基础上,小编就想探究下模型是不是真的都学会了吗?最近文本生成图像模型DALLE和扩散模型开始如火如荼根据文本生成各种想象的图片,小编就想对于这些生成出来的图片,视觉问答模型mPLUG还可以正确回答吗?会不会因为没见过类似的样本就没有办法回答呀?


小编先尝试了对大名鼎鼎的DALLE生成的图像进行问答,DALLE是OpenAI放出的文本生成图像模型,取名DALL-E,是为了向艺术家萨尔瓦多-达利(Salvador Dali )和皮克斯的机器人WALL-E致敬。测试之后,看看下面的结果,连艺术家dali都能识别出来,不愧是见多识广,知识也太渊博了!

19.png20.png21.png22.png

### 
from modelscope.msdatasets import MsDataset
# from icecream import ic
dataset = MsDataset.load('vqa_trial', subset_name='vqa_trial', split="test")
print(dataset[0])

def resize_img(img):
    # set the base width of the result
    basewidth = 300
    # determining the height ratio
    wpercent = (basewidth/float(img.size[0]))
    hsize = int((float(img.size[1])*float(wpercent)))
    # resize image and save
    img = img.resize((basewidth,hsize), Image.ANTIALIAS)
    return img
    
resize_img(dataset[0]['image']).show()


### 
from PIL import Image
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

model_id = 'damo/mplug_visual-question-answering_coco_large_en'
pipeline_vqa = pipeline(Tasks.visual_question_answering, model=model_id)

for item in dataset:
    input_vqa = {
        'image': item['image'],
        'question': item['question'],
    }
    answer = pipeline_vqa(input_vqa)
    resize_img(item['image']).show()
    print('Q: ' + item['question'])
    print('A: ' + answer['text'])


同时小编也拿了ModelScope上的文生图模型进行测试,测试结果如下:

23.png

24.png25.png26.png

可以看到视觉问答模型mPLUG具有非常强的泛化能力,针对各种生成的图片,各个不同领域的来源,都能回答正确。这就是训练了千万次,理解了视觉特征之后,达到了“无招胜有招”,实际测试中就可以融会贯通!


结语

到这里就结束了,赶紧上ModelScope一键体验超人类的视觉问答模型,一键直达:https://www.modelscope.cn/models/damo/mplug_visual-question-answering_coco_large_en/summary

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
leetcode【数组—中等】59.螺旋矩阵
leetcode【数组—中等】59.螺旋矩阵
15 0
LeetCode打卡 52八皇后Ⅱ&53最大子序和&54螺旋矩阵
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
8 0
LeetCode 38外观数列&39组合总和
给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。
16 0
从 Map -> HashMap 的一步步实现,各位请随便问(1)
从 Map -> HashMap 的一步步实现,各位请随便问(1)
19 0
阿里云微服务引擎 MSE 5 月产品动态
阿里云微服务引擎 MSE 5 月产品动态来啦!
420 0
从 LeetCode 的题目再看 MySQL Explain(上)
Hello 大家好,我是阿粉,作为 Java 工程师,数据库用的最多的肯定是 MySQL,而对于 MySQL 公号前面也发过很多文章,感兴趣的可以去翻翻。今天阿粉主要是想通过 LeetCode 上面的一个题目来再带大家看看 MySQL 的变量使用以及通过 Explain 的解析看看SQL 的执行过程。虽然平时在工作中对于 MySQL 使用的很多,但是相对于 MySQL 的变量使用相对还是较少的,所以阿粉在刚看到的时候还是有点懵的,不过我相信大家肯定不会像阿粉一样,毕竟能关注我们公众号的读者都是优秀的。
34 0
从 LeetCode 的题目再看 MySQL Explain(下)
Hello 大家好,我是阿粉,作为 Java 工程师,数据库用的最多的肯定是 MySQL,而对于 MySQL 公号前面也发过很多文章,感兴趣的可以去翻翻。今天阿粉主要是想通过 LeetCode 上面的一个题目来再带大家看看 MySQL 的变量使用以及通过 Explain 的解析看看SQL 的执行过程。虽然平时在工作中对于 MySQL 使用的很多,但是相对于 MySQL 的变量使用相对还是较少的,所以阿粉在刚看到的时候还是有点懵的,不过我相信大家肯定不会像阿粉一样,毕竟能关注我们公众号的读者都是优秀的。
50 0
领域建模:分清问题域和问题解决域(下)
领域建模:分清问题域和问题解决域(下)
243 0
java-基础-TreeMap和HashMap
HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。
1026 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
艺术与人工智能的明天——人机信任合作
立即下载
人工智能技术与艺术的鉴赏创作
立即下载
人工智能参与下的视觉创作
立即下载
http://www.vxiaotou.com