FAIR:MMF for MMDL VQA
一文搭建多模态深度学习框架MMF
A modular framework for vision & language multimodal research from Facebook AI Research (FAIR).
[MMF][https://mmf.sh/]是Facebook AI Research (FAIR)发布的多模态深度学习框架,基于Python 与Pytorch完成的与视觉&语言相关的多模态模块化框架,易于复现并且具有极强的可扩展性。
文章框架
- 模型池(Model Zoo):模型池中包含当前主流的视觉&语言模型的参考实现,包括VisualBERT,ViLBERT,M4C(TextVQA和TextCaps上的SoTA),Pythia(VQA 2018挑战赛冠军)等模型。
- 支持多任务:支持一起训练多个数据集。
- 数据集:该框架支持多种数据集,包括VQA,VizWiz,TextVQA,Visual Dialog和COCO Caption等。运行特定的脚本文件可以自动为用户下载并设置数据集的格式。但是在实际使用过程中,数据下载过程中需要访问国外站点,由于网络的原因很容易发生自动下载失败。笔者采用了先于本地下载成功(…)后,再将其上传到服务器(winscp等)进行实验的方法
- 网络层模块化:MMF提供许多视觉&语言模型常用网络层的实现。
- 分布式:MMF支持使用DistributedDataParallel进行分布式训练。
MMF安装
MMF has been tested on Python 3.7+ and PyTorch 1.6. We recommend using a conda environment to install MMF.
环境准备:python3.7+以及Pytorch1.6+并且建议使用conda环境配置 - 创建环境
1
2conda create -n mmf python=3.7
conda activate mmf - MMF安装
- 源文件安装如果遇到文件夹权限问题
1
2
3git clone https://github.com/facebookresearch/mmf.git
cd mmf
pip install --editable .1
pip install --editable . --user --no-build-isolation
- pip安装mmf注释:如果只想安装mmf作为库函数,不考虑模型更新,可以采用pip方式安装,其他情况建议采用源码安装
1
pip install --upgrade --pre mmf
(仅针对Linux Window安装自行查阅官网[MMF][https://mmf.sh/docs])
- 源文件安装
- 快速启动MMF
在本快速入门指南中,我们将在TextVQA数据集上培训M4C模型。TextVQA要求模型阅读并推理图像中的文本,以回答关于它们的问题。M4C是TextVQA上最新的SOTA模型,它由多模式转换器架构组成,并带有图像中文本的丰富表示。 要培训其他模型或了解有关MMF的更多信息,请按照本教程底部的下一步操作。
- 获取数据
MMF会检索对应文件夹,当没有相应数据集时会自动下载对应数据集 - 训练注释:参数信息查看官网说明
1
2
3
4
5
6
7
8
9mmf_run config=projects/m4c/configs/textvqa/defaults.yaml \
datasets=textvqa \
model=m4c \
run_type=train_val \
training.batch_size=32 \
training.max_updates=44000 \
training.log_interval=10 \
training.checkpoint_interval=100 \
training.evaluation_interval=1000 - 验证
1
2
3
4
5mmf_predict config=projects/m4c/configs/textvqa/defaults.yaml \
datasets=textvqa \
model=m4c \
run_type=test \
checkpoint.resume_zoo=m4c.textvqa.defaults
4.FAQS
要深入了解MMF,请下一步探索以下主题[MMF][https://mmf.sh/docs])