描述
UNITER 研究代码库,发表于 ECCV 2020 论文“UNITER: UNiversal Image-TExt Representation Learning”,提供了一套全面的多模态 AI 研究工具。该代码库支持一系列视觉-语言任务的微调和推理,包括视觉问答 (VQA)、视觉常识推理 (VCR)、SNLI-VE(视觉蕴含)、COCO 和 Flickr30k 等数据集的图像-文本检索,以及指代表达式理解 (RefCOCO, RefCOCO+, RefCOCO-g)。
UNITER 基于通用的图像-文本表示学习框架构建。代码同时支持 UNITER-base 和 UNITER-large 的预训练检查点,并提供领域内预训练的选项。该代码库包含数据预处理、模型训练和推理的脚本。它利用了 PyTorch、HuggingFace Transformers、OpenNMT 和 Nvidia 的 DeepLearningExamples 等外部库,并使用 BUTD 提取图像特征。
为方便复现,提供了一个 Docker 镜像,需要特定的 NVIDIA 驱动和 Docker 版本。设置过程包括将源代码和数据目录挂载到容器中。该代码库详细介绍了 NLVR2 等任务的快速入门指南,演示了数据下载、Docker 容器启动、微调以及推理/评估流程。通过命令行参数和 JSON 配置文件支持自定义,并提供使用 Horovod 进行多 GPU 训练的选项。
该项目还概述了下游任务的步骤,例如 VQA、VCR(包括第二阶段预训练选项)、视觉蕴含、图像-文本检索(零样本和使用硬负例进行微调以用于 Flickr30k 和 COCO)、指代表达式以及领域内预训练。用户可以按照指南下载特定数据集并运行相应的训练和推理脚本。该代码库根据 MIT 许可证发布。
UNITER 研究代码亮点
ECCV 2020 论文“UNITER: UNiversal Image-TExt Representation Learning”的官方研究代码
支持 NLVR2、VQA、VCR、SNLI-VE、图像-文本检索和指代表达式的微调
提供 UNITER-base 和 UNITER-large 模型的预训练检查点
包含数据预处理、模型训练和推理的脚本
提供 Docker 镜像以简化复现和环境设置
通过 Horovod 支持多 GPU 训练
包含用于图像-文本检索任务的零样本和微调代码
支持领域内预训练和 VCR 第二阶段预训练
UNITER 研究代码入门
使用提供的 bash 脚本下载预训练检查点和特定任务数据。
启动 Docker 容器以获得一致且可复现的环境。
通过运行带有自定义配置的微调脚本来集成模型训练。
使用专用的推理脚本对下游任务执行推理。
使用提供的评估脚本或将结果提交到排行榜来评估模型性能。
通过命令行参数或 JSON 配置文件自定义训练选项。
UNITER 研究代码的使用案例
- 视觉问答
- 视觉常识推理
- 图像-文本检索
- 指代表达式理解
- 视觉蕴含
- 多模态预训练







