FAIR MMF框架的从零开始

本文介绍了Facebook AI Research(FAIR)的MMF框架,一个用于视觉与语言多模态任务的模块化框架。MMF支持多种模型和数据集,包括VisualBERT、ViLBERT等,且具有模型池、多任务训练、分布式训练等功能。文章详细讲解了如何从零开始搭建MMF环境,包括Conda虚拟环境创建、源代码安装、数据集和预训练模型下载,以及如何运行实验和远程调试。最后,作者分享了在使用MMF框架时遇到的问题和经验,鼓励读者深入研究视觉与语言的多模态问题。
摘要由CSDN通过智能技术生成

MMF 框架简介(A modular framework for vision & language multimodal)

1.框架特色

MMF 是基于Python 与Pytorch完成的与视觉&语言相关的多模态模块化框架,易于复现并且具有极强的可扩展性。

MMF的官方网页:https://mmf.sh/

它包含以下几个方面的特点:
1.1 模型池(Model Zoo):模型池中包含当前主流的视觉&语言模型的参考实现,包括VisualBERT,ViLBERT,M4C(TextVQA和TextCaps上的SoTA),Pythia(VQA 2018挑战赛冠军)等模型。
1.2 支持多任务:支持一起训练多个数据集。
1.3 数据集:该框架支持多种数据集,包括VQA,VizWiz,TextVQA,Visual Dialog和COCO Caption等。运行特定的脚本文件可以自动为用户下载并设置数据集的格式。但是在实际使用过程中,数据下载过程中需要访问国外站点,由于网络的原因很容易发生自动下载失败。笔者采用了先于本地下载成功(…)后,再将其上传到服务器(winscp等)进行实验的方法
1.4 网络层模块化:MMF提供许多视觉&语言模型常用网络层的实现。
1.5 分布式:MMF支持使用DistributedDataParallel进行分布式训练。

2.框架搭建与运行

在本节,将以FAIR 提出的M4C模型为例,在MMF框架下完成实验。
Paper:Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
arxiv:https://arxiv.org/abs/1911.06258

2.1 框架搭建

2.1.1 Conda下虚拟环境创建

conda create -n mmf python=3.7
source activate mmf
conda install pytorch torchvision cudatoolkit=10.2

2.1.2 从源代码安装

git clone https://github.com/facebookresearch/mmf.git
cd mmf
pip install --editable .

如果由于网络问题git clone速度太慢的话,一般来说可以采用两种方案:

  1. 先将github代码保存到gitee码云仓库后,再对码云仓库内代码进行git clone 。
  2. 直接从https://github.com/facebookresearch/mmf里下载代码的zip文件,然后上传至服务器解压,将目录名从mmf-master修改为mmf,cd mmf 后再以同样命令进行安装。

2.2 实验准备

2.2.1 下载数据集

在MMF框架中,模型处理的数据对象并非是原始的数据,而是原始数据经过一系列特征提取(图像Faster-RCNN, OCR的Fasttext / PHOC,Question的Tokenization)之后的数据,数据集自动下载模块位于…/mmf/mmf/utils/download.py文件中。

数据集的下载地址在…/mmf/mmf/configs/zoo/datasets.yaml文件中。
以TextVQA数据集为例,

textvqa:
  defaults:
    version: 0.5.5_2020_06_30
    resources:
      features:
      - url: https://dl.fbaipublicfiles.com/pythia/datasets/textvqa/defaults/features/features.tar.gz
        file_name: features.tar.gz
        hashcode: 960f69c651f5c6532b4e9d8310597aa8d21c65074768c9702ea822e4b2867a0d
      annotations:
      - url: mmf://datasets/textvqa/defaults/annotations/annotations.tar.gz
        file_name: annotations.tar.gz
        hashcode: a72e43e19b4fd1b4b96e45de71a7d0fab0d860cd36ccf12b597c2c6a202eb10b
      extras:
      - url: mmf://datasets/textvqa/defaults/extras.tar.gz
        file_name: extras.tar.gz
        hashcode: 68dc3b4aeffe4dce24ebb5d373baf0c304fbfbec73f0c1550118a85e90286e38
  caffe2:
    version: 0.5.5_2020_04_28
    resources:
      features:
      - url: mmf://datasets/textvqa/defaults/features/features.tar.gz
        file_name: features.tar.gz
        hashcode: f78f6a8e3c7c9c40c8034303457ebcbd5f2bf999cf8aeeba0f6b6f5403dd7bcf
  ocr_en:
    version: 0.5.5_2020_04_28
    resources:
      features:
      - url: mmf://datasets/textvqa/ocr_en/features/features.tar.gz
        file_name: features.tar.gz
        hashcode: 3542dff9338540ff2add59bb2db290d9ea5f82a4f21ab07fe39351a82b699ee0
  ocr_ml:
    version: 0.5.5_2020_04_28
    resources:
      features:
      - url: mmf://datasets/textvqa/ocr_ml/features/features.tar.gz
        file_name: features.tar.gz
        hashcode: 98d361e64d88df93483847c3e2
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值