Pythia:Facebook最新开源的视觉、语言多任务学习框架

栏目: 软件资讯 · 发布时间: 5年前

内容简介:今天,Facebook 发布了一个全新的多任务学习框架 Pythia,它基于 PyTorch 且可用于视觉和语言的联合任务。Pythia 是一种模块化的即插即用框架,数据科学家和机器学习开发者能快速构建、复现和构建基准模型。项目地址:https://github.com/facebookresearch/pythiaPythia 是一个深度学习框架,它支持视觉和语言领域的多任务处理。该框架搭建于开源的

今天,Facebook 发布了一个全新的多任务学习框架 Pythia,它基于 PyTorch 且可用于视觉和语言的联合任务。Pythia 是一种模块化的即插即用框架,数据科学家和机器学习开发者能快速构建、复现和构建基准模型。

项目地址:https://github.com/facebookresearch/pythia

Pythia 是个啥?

Pythia 是一个深度学习框架,它支持视觉和语言领域的多任务处理。该框架搭建于开源的 PyTorch 之上,其模块化、即插即用的设计使得研究者可以迅速构建模型。Pythia 是为视觉和语言任务设计的,如与视觉数据相关的问答和自动生成图像注释。

Pythia 不但支持分布式训练及多种数据集,同时还支持自定义的 损失函数 、度量标准、调度和 最优化器 等。Pythia 还提供了常用的视觉和语言层级模块,它们都支持分布式训练。Pythia 另一个特点是内建了很多语料库,包括 VQA、VizWiz、TextVQA 和 VisualDialog,它们可以用于多任务学习,即 Pythia 能同时在多个语料训练单一多任务模型。

总体而言,Pythia 的特性主要有以下几点:

  • Model Zoo:SoTA 视觉和语言模型的推理实现,包括 LoRRA(VQA 和 TextVQA 的 SoTA)、Pythia 模型(VQA 2018 挑战赛冠军)和 BAN。

  • 多任务:支持多任务,允许在多个数据集上同时训练。

  • 数据集:包括对多种数据集内置的支持,有 VQA、VizWiz、TextVQA 和 VisualDialog。

  • 模块:提供对视觉和语言领域中多个常用层的实现。

  • 分布式:支持基于 DataParallel 和 DistributedDataParallel 的分布式训练。

  • 非指定:不指定构建在其上的数据集和模型实现。

  • 定制化:定制损失函数、度量标准、调度、最优化器、TensorBoard,满足所有定制化需求。

Pythia 有啥用?

Pythia 包含了 Facebook 在最近的 AI 竞赛(VQA 2018 挑战赛和 Vizwiz 2018 挑战赛)中获胜的元素。特征包括推理实现,以展示之前的 SOTA 模型如何达到相关基准结果并快速评估新模型。除了多任务,Pythia 还支持分布式训练、一系列数据集以及定制损失函数、度量、调度和优化器。

  • Pythia 官方文档:https://learnpythia.readthedocs.io/en/latest/

我们可以使用 Pythia 完成视觉和语言多模态研究项目,如下图所示为视觉问答,它同时需要学习图像和文本相关的知识。

Pythia:Facebook最新开源的视觉、语言多任务学习框架

Pythia 怎么用?

Pythia 的安装非常简单,各种依赖项也都会自动安装:

# Clone Pythia repository
git clone https://github.com/facebookresearch/pythia ~/pythia

# Install dependencies and setup
cd ~/pythia
python setup.py develop
  1. 获取数据

Pythia 目前支持的数据集要求有两部分,即特征和 ImDB。例如,对于 TextVQA,我们需要下载如下数据和预训练权重。

cd ~/pythia;
# Create data folder
mkdir -p data && cd data;

# Download and extract the features
wget https://dl.fbaipublicfiles.com/pythia/features/open_images.tar.gz
tar xf open_images.tar.gz

# Get vocabularies
wget http://dl.fbaipublicfiles.com/pythia/data/vocab.tar.gz
tar xf vocab.tar.gz

# Download detectron weights required by some models
wget http://dl.fbaipublicfiles.com/pythia/data/detectron_weights.tar.gz
tar xf detectron_weights.tar.gz

# Download and extract ImDB
mkdir -p imdb && cd imdb
wget https://dl.fbaipublicfiles.com/pythia/data/imdb/textvqa_0.5.tar.gz
tar xf textvqa_0.5.tar.gz
  1. 训练

下载数据后就可以直接训练了:

cd ~/pythia;
python tools/run.py --tasks vqa --datasets textvqa --model lorra --config *\*
configs/vqa/textvqa/lorra.yml
  1. 推断

如果需要运行推断或生成预测,我们可以下载对应的预训练模型,并运行以下命令行:

cd ~/pythia/data
mkdir -p models && cd models;

wget https://dl.fbaipublicfiles.com/pythia/pretrained_models/textvqa/lorra_best.pthcd ../..

python tools/run.py --tasks vqa --datasets textvqa --model lorra --config *\*
configs/vqa/textvqa/lorra.yml --resume_file data/models/lorra_best.pth *\*
--evalai_inference 1 --run_type inference
  • 完整的示例可以在 colab 上查看:https://colab.research.google.com/drive/1Z9fsh10rFtgWe4uy8nvU4mQmqdokdIRR

Pythia 有何重要之处

Pythia 使得进入不断发展中的视觉和语言子领域这一过程变得更加平滑,可以让研究人员专注于更快的原型和实验。Facebook 的目标是通过提高这些模型和结果的复现性来加速进程。如此一来,社区就能更容易地构建成功的系统,并对其进行基准测试。

Facebook 希望,在移除一些障碍之后,研究者能够更加快速地开发出人类和智能机器交流的新方法。这项工作还应该帮助研究者开发适应性 AI,将多种理解综合成更基于上下文的、多模态的理解。除了本次开源的内容外吗,Facebook 还计划增加一些 工具 、任务、数据集和参考模型。

参考文章:https://code.fb.com/ai-research/pythia/


以上所述就是小编给大家介绍的《Pythia:Facebook最新开源的视觉、语言多任务学习框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java遗传算法编程

Java遗传算法编程

Lee Jacobson、Burak Kanber / 王海鹏 / 人民邮电出版社 / 2016-12-6 / 49元

本书简单、直接地介绍了遗传算法,并且针对所讨论的示例问题,给出了Java代码的算法实现。全书共分灾6章。第1章简单介绍了人工智能和生物进化的知识背景,这也是遗传算法的历史知识背景。第2章给出了一个基本遗传算法的实现;第4章和第5章,分别针对机器人控制器、旅行商问题、排课问题展开分析和讨论,并给出了算法实现。在这些章的末尾,还给出了一些练习供读者深入学习和实践。第6章专门讨论了各种算法的优化问题。 ......一起来看看 《Java遗传算法编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试