让手机跑SOTA模型快8倍!Facebook AI开源最强全栈视频库:PyTorchVideo!
点击上方“视学算法”,选择加"星标"或“置顶”
重磅干货,第一时间送达
来源丨新智元
编辑丨极市平台
导读
时隔一年,Facebook AI携PyTorchVideo重回视频理解的战场。其不仅可以「无缝」接入各类代码库,甚至还「略懂」LeCun最爱的自监督学习。顺便一提,手机也能玩!
视频已逐渐超过文字和图片,可以说成为了现在使用最广的媒体形式,同时也占据了用户更多的浏览时间,这就使得视频理解变得尤为重要。
各大互联网公司与顶尖高校纷纷绞尽脑汁,竞相研究SOTA的视频理解模型与算法。
在谷歌,脸书,Open-MM Lab等分别祭出各家杀器之后,脸书人工智能实验室(Facebook AI)在推出PySlowFast之后时隔一年,携PyTorchVideo重回战场。
官方网站: https://pytorchvideo.org/
今天我们就来扒一下,PyTorchVideo究竟是怎样的一个代码库,又如何能在开源当天就跻身于GitHub Trending榜单。
PyTorchVideo哪儿都能用
不同于在座的各位视频代码理解框架只醉心于自家框架,无法移步与其他代码库。
PyTorchVideo像是torchvision等基础代码库一般,「哪儿都能用」!PyTorchVideo不但可以用在视频理解任务中,甚至可以用在其他任务的代码库。
脸书人工智能实验室的大佬们不但在「自家人」的PySlowFast代码库上无缝使用上了PyTorchVideo,并且还在Classy Vision,PyTorch Lightening等等框架上无缝插入。
作为含着金钥匙出生的PyTorchVideo,其直接成为了PyTorch Lightning-Flash的视频理解担当,作为基础库被默认使用。
这不,在FiftyOne项目中,开源社区的吃瓜群众就利用Lightning-Flash搞出了一个浏览视频的工具箱,可以直接查看视频的动作类别。
FiftyOne: https://medium.com/pytorch/ushering-in-the-new-age-of-video-understanding-with-pytorch-1d85078e8015
PyTorchVideo啥都能做
更厉害的是,PyTorchVideo似乎「啥都能做」!不但在视频分类,动作检测等任务中深耕SOTA。
甚至还「略懂」LeCun最爱的自监督学习,以及音频事件检测等等千奇百怪的任务也不在话下。
基于PyTorchVideo的SlowFast模型进行动作监测
PyTorchVideo手机也能玩
更丧心病狂的是,PyTorchVideo一并开源了移动端的加速优化,不但提供了手把手的教程,将视频模型一步步优化核心Kernel,量化(quantilize)加速。
数倍加速后在移动端实时运行,甚至官方直接暴力放出Android和iOS移动端开源代码,将SOTA的视频模型直接塞到手机里跑着玩玩。
在三星Galaxy S10手机上运行的PyTorchVideo加速X3D模型,运行速度快8倍,处理一秒视频大约需要130毫秒
PyTorchVideo是个啥
PyTorchVideo的真身是一个视频理解的机器学习库,可以服务于各种代码库,以及各类SOTA视频模型模型和开源视频模型。
以及各种视频基础算法,视频数据操作,各类流行视频数据集,视频增广,视频模型加速量化,等等一些列的全栈视频相关内容。
PyTorchVideo怎么玩
首先pip一下。
pip install pytorchvideo
然后,在浏览官方的教程并上手实验了一下之后,发现通过PyTorchVideo只需要寥寥几行就可以训练一个视频模型:
from pytorchvideo import data, models, accelerator
# Create visual and acoustic models.
visual_model = models.slowfast.create_slowfast(model_num_class=400,
)
acoustic_model = models.resnet.create_acoustic_resnet(model_num_class=400,
)
# Create Kinetics data loader.
kinetics_loader = torch.utils.data.DataLoader(data.Kinetics(data_path=DATA_PATH,clip_sampler=data.make_clip_sampler("uniform", CLIP_DURATION,),)batch_size=BATCH_SIZE,
)
# Deploy model.
visual_net_inst_deploy = accelerator.deployment.\ convert_to_deployable_form(net_inst, input_tensor)
那么从开源的训练模型库中直接使用模型效果如何?
model = torch.hub.load("facebookresearch/pytorchvideo", model=model_name, pretrained=True)
官方的模型库太丰富,简直眼花缭乱。
Kinetics-400
arch |
depth |
frame length x sample rate |
top 1 |
Flops (G) x views |
Params (M) |
C2D |
R50 |
8x8 |
71.46 |
25.89 x 3 x 10 |
24.33 |
I3D |
R50 |
8x8 |
73.27 |
37.53 x 3 x 10 |
28.04 |
Slow |
R50 |
4x16 |
72.40 |
27.55 x 3 x 10 |
32.45 |
Slow |
R50 |
8x8 |
74.58 |
54.52 x 3 x 10 |
32.45 |
SlowFast |
R50 |
4x16 |
75.34 |
36.69 x 3 x 10 |
34.48 |
SlowFast |
R50 |
8x8 |
76.94 |
65.71 x 3 x 10 |
34.57 |
SlowFast |
R101 |
8x8 |
77.90 |
127.20 x 3 x 10 |
62.83 |
SlowFast |
R101 |
16x8 |
78.70 |
215.61 x 3 x 10 |
53.77 |
CSN |
R101 |
32x2 |
77.00 |
75.62 x 3 x 10 |
22.21 |
R(2+1)D |
R50 |
16x4 |
76.01 |
76.45 x 3 x 10 |
28.11 |
X3D |
XS |
4x12 |
69.12 |
0.91 x 3 x 10 |
3.79 |
X3D |
S |
13x6 |
73.33 |
2.96 x 3 x 10 |
3.79 |
X3D |
M |
16x5 |
75.94 |
6.72 x 3 x 10 |
3.79 |
X3D |
L |
16x5 |
77.44 |
26.64 x 3 x 10 |
6.15 |
Something-Something V2
arch |
depth |
pretrain |
frame length x sample rate |
top 1 |
Flops (G) x views |
Params (M) |
Slow |
R50 |
Kinetics 400 |
8x8 |
60.04 |
55.10 x 3 x 1 |
31.96 |
SlowFast |
R50 |
Kinetics 400 |
8x8 |
61.68 |
66.60 x 3 x 1 |
34.04 |
Charades
arch |
depth |
pretrain |
frame length x sample rate |
MAP |
Flops (G) x views |
Params (M) |
Slow |
R50 |
Kinetics 400 |
8x8 |
34.72 |
55.10 x 3 x 10 |
31.96 |
SlowFast |
R50 |
Kinetics 400 |
8x8 |
37.24 |
66.60 x 3 x 10 |
34.00 |
AVA (V2.2)
arch |
depth |
pretrain |
frame length x sample rate |
MAP |
Params (M) |
Slow |
R50 |
Kinetics 400 |
4x16 |
19.5 |
31.78 |
SlowFast |
R50 |
Kinetics 400 |
8x8 |
24.67 |
33.82 |
甚至通过PyTorchVideo加持的 Lightning Flash,分类视频仅仅只需三行。
from flash import VideoClassifier
model = VideoClassifier.load_from_checkpoint("checkpoint_uri")
model.predict("path_to_video_folder")
据官方博客透露,PyTorchVideo开源了一大票视频模型,包括脸书人工智能实验室近期出现在ICCV,ICML等工作:
Multiscale Vision Transformers
https://arxiv.org/abs/2104.11227
A large-scale study on unsupervised spatiotemporal representation learning
https://arxiv.org/abs/2104.14558
Multiview pseudo-labeling for semi-supervised learning from video
https://arxiv.org/abs/2104.00682
Is space-time attention all you need for video understanding?
https://arxiv.org/abs/2102.05095
Keeping Your Eye on the Ball: Trajectory Attention in Video Transformers
https://arxiv.org/abs/2106.05392
SlowFast networks for video recognition
https://arxiv.org/abs/1812.03982
X3D: Expanding architectures for efficient video recognition
https://arxiv.org/abs/2004.04730
Audiovisual SlowFast networks for video recognition
https://arxiv.org/abs/2001.08740
Non-local neural networks
https://arxiv.org/abs/1711.07971
A closer look at spatiotemporal convolutions for action recognition
https://arxiv.org/abs/1711.11248
Video classification with channel-separated convolutional networks
https://arxiv.org/abs/1904.02811
似乎MultiScale Vision Transform也位列其中,有兴趣的朋友可以去一探究竟。
参考资料:
https://pytorchvideo.org/
https://ai.facebook.com/blog/pytorchvideo-a-deep-learning-library-for-video-understanding/
如果觉得有用,就请分享到朋友圈吧!
点个在看 paper不断!
让手机跑SOTA模型快8倍!Facebook AI开源最强全栈视频库:PyTorchVideo!相关推荐
- seq2seq模型_推断速度达seq2seq模型的100倍,谷歌开源文本生成新方法LaserTagger
使用 seq2seq 模型解决文本生成任务伴随着一些重大缺陷,谷歌研究人员提出新型文本生成方法 LaserTagger,旨在解决这些缺陷,提高文本生成的速度和效率. 选自arXiv,作者:Eric M ...
- 推断速度达seq2seq模型的100倍,谷歌开源文本生成新方法LaserTagger
选自arXiv 作者:Eric Malmi等 机器之心编译 序列到序列(seq2seq)模型给机器翻译领域带来了巨大变革,并成为多种文本生成任务的首选工具,如文本摘要.句子融合和语法纠错.模型架构改进 ...
- Defy精简文件 让你的手机跑的更快
为什么80%的码农都做不了架构师?>>> 本操作可能会有风险,需谨慎. 操作步骤: 1.首先手机需要ROOT 2.下载一个RE管理器,在管理器中打开system/app/里面的 ...
- 跑深度模型的显卡_2020年人工智能深度学习 GPU 解决方案推荐
纵观人类几百年来的科技发展史,几乎所有的新兴学科的发展背后都有两个字--"烧钱"! 作为近年来最火热的行业--人工智能,在烧钱方面同样不遑多让.众所周知,人工智能的训练和推理都需要 ...
- TinyBERT搜索: 比BERT快10倍,小20倍
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! TinyBERT是谷歌开发的新模型,与传统BERT相比,它快10倍,小20倍,可在 ...
- 快4倍!Facebook纽约大学用AI加速核磁共振成像
近日,Facebook AI和NYU Langone Health提出了一种使用AI来加速MRI扫描过程的新方法:FastMRI. 与大多数尝试使用AI自动查看图像以检测异常的AI医学成像项目不同,f ...
- 10倍!微软开源深度学习优化库DeepSpeed,可训练1000亿参数模型
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :微软 AI博士笔记系列推荐 ...
- 陈天奇等人新作引爆AI界!手机原生跑大模型,算力不是问题了
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[Transformer]微信技术交流群 转载自:机器之心 从此,大模型可以在任何设备上编 ...
- android小米手机变慢,小米手机用久了卡?教你几招让你的小米手机快2倍
小米手机用久了卡?教你几招让你的小米手机快2倍 2019-04-13 14:20:40 3点赞 17收藏 4评论 小米手机用久了卡到飞起,这是大多数米粉心中的痛啊!那么,怎么解决小米手机卡的问题呢?小 ...
最新文章
- Linux下getsockopt/setsockopt 函数说明
- js中字符串转json
- linux samba免密码,Ubuntu如何不用密码访问samba服务器
- 循环链表(约瑟夫环)的建立及C语言实现
- Java中工程、包、类介绍
- Use Vim as a Python IDE
- HBase-1.2.4LruBlockCache实现分析(一)
- 案例:使用BeautifuSoup4的爬虫
- 大数据_Flink_流式处理_简介_为什么要用Flink---Flink工作笔记0002
- ATL 线程触发事件解决方案
- struts2远程命令执行漏洞S2-045
- 微信小程序--图片Image几种mode 设置图片方法
- php区块链开发游戏,php程序员如何开发区块链、以太坊、智能合约的教程
- 传感器i2c与arduino连接_ARDUINO的I2C通信详解 - arduino读取I2C总线上连接设备的地址...
- 一文详尽移动互联网广告监测与归因
- Premiere Pro 中的键盘快捷键
- 万万没想到:西游篇--高速下载-12.19更新/真正可看的TC版/抢鲜版/高清版/超清版-高速下载
- Buried Town 《死亡日记》 安卓 1.4.3版 破解 + 部分内购 版
- Django——创建数据库和表
- 有 4 件事,我很后悔
热门文章
- asp vb 插入,更新,删除数据库操作。
- javascript中FORM表单的submit()方法经验教训.
- LeetCode实战:搜索二维矩阵
- 技术图文:如何利用C# 实现 Kruskal 最小生成树算法?
- 提气!清华成立集成电路学院,专研“卡脖子”技术
- 代码写对了还挂了?程序媛小姐姐从 LRU Cache 带你看面试的本质
- “应付”大学作业,我花3小时写了一个“文本转手写”神器
- 终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!
- 专访图灵奖得主John Hopcroft:中国必须提升本科教育水平,才能在AI领域赶上美国
- 免费公开课 | 机器学习的第二次入门