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

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

一探:浅草才能没马蹄

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

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

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

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

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

二探:觉知此事要躬行

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

测试过程非常流程,只需要会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))

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

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

三探:无招胜有招

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

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

###
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上的文生图模型进行测试,测试结果如下:

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

结语

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

原文链接:https://click.aliyun.com/m/1000357088/

本文为阿里云原创内容,未经允许不得转载。

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

  1. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板

    本文由  @JustWu 原创发布于社区 为什么写这篇文章? 第一:写PMCAFF的PRD文档,大家都是用户,比较好参考与理解,方便大家来找我写的不好的地方. 第二:我在自学PRD文档的编写过程中,总 ...

  2. 5分钟让你理解K8S必备架构概念,以及网络模型(上)

    写在前面 在这用XMind画了一张导图记录Redis的学习笔记和一些面试解析(源文件对部分节点有详细备注和参考资料,欢迎关注我的公众号:阿风的架构笔记 后台发送[导图]拿下载链接, 已经完善更新): ...

  3. 2018ccpc湖南邀请赛后记

    第一次出省去打邀请赛,赛前给队友定的目标是打个铜,这样奖金就可以报销我们的伙食费了 5.12 热身赛,ak的心态冲进去,爆零逃出来 (为什么热身赛没有签到题啊),出来一度以为这场比赛要打铁,毕竟老远过 ...

  4. 深度视觉盛宴——CVPR 2016

    小编按: 计算机视觉和模式识别领域顶级会议CVPR 2016于六月末在拉斯维加斯举行.微软亚洲研究院在此次大会上共有多达15篇论文入选,这背后也少不了微软亚洲研究院的实习生的贡献.大会结束之后,小编第 ...

  5. 十分钟学会 tmux

    tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理.在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求. 如上图所示,iTerm2 能新建多个标签页(快捷键 ...

  6. Zabbix中获取各用户告警媒介分钟级统计

    任务内容: 获取Zabbix各用户告警媒介分钟级统计,形成趋势图,便于观察各用户在每分钟收到的告警数量,在后续处理中,可以根据用户在某时间段内(例如3分钟内)收到的邮件总数,来判断是否有告警洪水的现象 ...

  7. [转] - spark推荐 - 从50多分钟到3分钟的优化

    原文地址 从50多分钟到3分钟的优化 某推荐系统需要基于Spark用ALS算法对近一天的数据进行实时训练, 然后进行推荐. 输入的数据有114G, 但训练时间加上预测的时间需要50多分钟, 而业务的要 ...

  8. Vue.js 60 分钟快速入门

    Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下 ...

  9. 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门

    Vue.js——60分钟快速入门   Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理 ...

  10. 返回日期格式:2017-12-03T13:58:58.901Z,判断时间间隔 如 “刚刚”,“一分钟前”,“一小时前”等

    后台返回的格式如下: 实现输出如下: 我的处理如下: // 处理数据 2017-11-28T02:41:09.487Z // 请求的时间戳.日期格式按照ISO8601标准表示,并需要使用UTC时间. ...

随机推荐

  1. 三种方式使用纯 CSS 实现星级评分

    本文介绍三种使用纯 CSS 实现星级评分的方式.每种都值得细品一番~ 五角星取自 Element Plus 的 svg 资源 <svg xmlns="http://www.w3.org ...

  2. day11-实现Spring底层机制-01

    实现Spring底层机制-01 主要实现:初始化IOC容器+依赖注入+BeanPostProcessor机制+AOP 前面我们实际上已经使用代码简单实现了: Spring XML 注入 bean (S ...

  3. 精通 Grails: 用 Groovy 服务器页面(GSP)改变视图

    Groovy 服务器页面(Groovy Server Pages,GSP)将 Web 置于 Grails Web 框架之内.在 精通 Grails 系列的第三期中,Scott Davis 介绍了如何使 ...

  4. Android USB开发1—开发环境搭建

    通过Genymotion 与 VirtualBox 可以实现将电脑中的USB设备转接到Android模拟器中进行通信. Genymotion 配置 首先从https://www.genymotion. ...

  5. Miracast技术详解(二):RTSP协议

    目录 RTSP概述 抓包准备 WFD能力协商(Capability Negotiation) RTSP M1 Messages RTSP M2 Messages RTSP M3 Messages RT ...

  6. TP6框架--EasyAdmin学习笔记:excel的数据,图片处理

    这是我写的学习EasyAdmin的第七章,这一章我给大家分享下如何处理excel中的数据,图片 原理就是使用easyadmin中封装好的phpexcel,来进行数据的导入,view层我们需要一个用了导 ...

  7. zynq之TF卡写入常见问题

    zynq之TF卡写入常见问题 1.基本原理 前面做过zynq的TF读写实验,使用串口返回了实验所需的现象.那个时候也没有深究头文件"ff.h"里的几个常用的函数.这次需要使用TF卡 ...

  8. Lab2:System Call

    trace 该系统调用程序,可以跟踪其他的系统调用命令,该系统调用的形参为一个整数掩码.其具体实参为1 << sys_call所得到的整数值,sys_call是一个系统调用指令在内核中定义 ...

  9. 使用sbt对Scala程序进行打包并运行(Spark单机运行)

    十.使用sbt对Scala程序进行打包并运行(Spark单机运行) 在./sparkapp 中新建文件 simple.sbt(vim ./sparkapp/simple.sbt),添加内容如下,声明该 ...

  10. SQLite数据库(来自菜鸟教程)

    SQLite是什么?为什么要用SQLite?SQLite有什么特点? 答:下面请听小猪娓娓道来: ①SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,很适合在移动设备上使用, 不仅支持标 ...