• 教程 >
  • TorchMultimodal 教程:微调 FLAVA
快捷方式

TorchMultimodal 教程:微调 FLAVA

创建于:2022 年 10 月 27 日 | 最后更新:2023 年 4 月 11 日 | 最后验证:2024 年 11 月 5 日

多模态 AI 最近因其无处不在的特性而变得非常流行,从图像字幕和视觉搜索等用例到更近期的文本生成图像等应用。TorchMultimodal 是一个由 Pytorch 支持的库,包含构建块和端到端示例,旨在支持和加速多模态研究

在本教程中,我们将演示如何使用 TorchMultimodal 库中的一个预训练的 SOTA 模型 FLAVA 在多模态任务(即视觉问答 (VQA))上进行微调。该模型由用于文本和图像的两个单模态 transformer 编码器以及一个用于结合这两个嵌入的多模态编码器组成。它使用对比损失、图像文本匹配损失以及文本、图像和多模态掩码损失进行预训练。

安装

本教程将使用 Hugging Face 的 TextVQA 数据集和 bert tokenizer。因此,除了 TorchMultimodal 之外,您还需要安装 datasets 和 transformers。

注意

在 Google Colab 中运行本教程时,通过创建新单元格并运行以下命令来安装所需的软件包

!pip install torchmultimodal-nightly
!pip install datasets
!pip install transformers

步骤

  1. 通过运行以下命令将 Hugging Face 数据集下载到您计算机上的一个目录

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

    注意

    如果您在 Google Colab 中运行本教程,请在新单元格中运行这些命令,并在这些命令前加上感叹号 (!)

  2. 在本教程中,我们将 VQA 视为分类任务,其中输入是图像和问题(文本),输出是答案类别。因此,我们需要下载包含答案类别的词汇文件,并创建答案到标签的映射。

    我们还从 Hugging Face 加载了包含 34602 个训练样本(图像、问题和答案)的textvqa 数据集

我们看到有 3997 个答案类别,其中包括一个表示未知答案的类别。

with open("data/vocabs/answers_textvqa_more_than_1.txt") as f:
  vocab = f.readlines()

answer_to_idx = {}
for idx, entry in enumerate(vocab):
  answer_to_idx[entry.strip("\n")] = idx
print(len(vocab))
print(vocab[:5])

from datasets import load_dataset
dataset = load_dataset("textvqa")
3997
['<unk>\n', 'nokia\n', 'ec\n', 'virgin\n', '2011\n']
/usr/local/lib/python3.10/dist-packages/datasets/load.py:1491: FutureWarning:

The repository for textvqa contains custom code which must be executed to correctly load the dataset. You can inspect the repository content at https://hugging-face.cn/datasets/textvqa
You can avoid this message in future by passing the argument `trust_remote_code=True`.
Passing `trust_remote_code=True` will be mandatory to load this dataset from the next major release of `datasets`.


Downloading builder script:   0%|          | 0.00/5.02k [00:00<?, ?B/s]
Downloading builder script: 100%|##########| 5.02k/5.02k [00:00<00:00, 43.8MB/s]

Downloading readme:   0%|          | 0.00/13.2k [00:00<?, ?B/s]
Downloading readme: 100%|##########| 13.2k/13.2k [00:00<00:00, 68.0MB/s]

Downloading data:   0%|          | 0.00/21.6M [00:00<?, ?B/s]
Downloading data:  61%|######    | 13.1M/21.6M [00:00<00:00, 131MB/s]
Downloading data: 100%|##########| 21.6M/21.6M [00:00<00:00, 134MB/s]

Downloading data: 0.00B [00:00, ?B/s]
Downloading data: 3.12MB [00:00, 200MB/s]

Downloading data: 0.00B [00:00, ?B/s]
Downloading data: 2.77MB [00:00, 224MB/s]

Downloading data:   0%|          | 0.00/7.07G [00:00<?, ?B/s]
Downloading data:   0%|          | 11.0M/7.07G [00:00<01:04, 110MB/s]
Downloading data:   0%|          | 22.6M/7.07G [00:00<01:02, 113MB/s]
Downloading data:   0%|          | 34.1M/7.07G [00:00<01:01, 114MB/s]
Downloading data:   1%|          | 45.6M/7.07G [00:00<01:01, 114MB/s]
Downloading data:   1%|          | 57.0M/7.07G [00:00<01:05, 107MB/s]
Downloading data:   1%|          | 67.8M/7.07G [00:00<01:07, 104MB/s]
Downloading data:   1%|1         | 78.3M/7.07G [00:00<01:08, 103MB/s]
Downloading data:   1%|1         | 88.6M/7.07G [00:00<01:08, 102MB/s]
Downloading data:   1%|1         | 98.9M/7.07G [00:00<01:08, 102MB/s]
Downloading data:   2%|1         | 109M/7.07G [00:01<01:08, 102MB/s]
Downloading data:   2%|1         | 119M/7.07G [00:01<01:07, 102MB/s]
Downloading data:   2%|1         | 130M/7.07G [00:01<01:07, 103MB/s]
Downloading data:   2%|1         | 140M/7.07G [00:01<01:07, 103MB/s]
Downloading data:   2%|2         | 150M/7.07G [00:01<01:07, 102MB/s]
Downloading data:   2%|2         | 160M/7.07G [00:01<01:07, 102MB/s]
Downloading data:   2%|2         | 171M/7.07G [00:01<01:07, 103MB/s]
Downloading data:   3%|2         | 181M/7.07G [00:01<01:06, 103MB/s]
Downloading data:   3%|2         | 192M/7.07G [00:01<01:07, 103MB/s]
Downloading data:   3%|2         | 202M/7.07G [00:01<01:06, 104MB/s]
Downloading data:   3%|3         | 214M/7.07G [00:02<01:03, 108MB/s]
Downloading data:   3%|3         | 227M/7.07G [00:02<00:59, 115MB/s]
Downloading data:   3%|3         | 240M/7.07G [00:02<00:56, 120MB/s]
Downloading data:   4%|3         | 253M/7.07G [00:02<00:55, 123MB/s]
Downloading data:   4%|3         | 267M/7.07G [00:02<00:54, 126MB/s]
Downloading data:   4%|3         | 280M/7.07G [00:02<00:53, 128MB/s]
Downloading data:   4%|4         | 293M/7.07G [00:02<00:53, 127MB/s]
Downloading data:   4%|4         | 305M/7.07G [00:02<00:53, 127MB/s]
Downloading data:   4%|4         | 318M/7.07G [00:02<00:53, 126MB/s]
Downloading data:   5%|4         | 331M/7.07G [00:02<00:53, 126MB/s]
Downloading data:   5%|4         | 343M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   5%|5         | 356M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   5%|5         | 368M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   5%|5         | 381M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   6%|5         | 393M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   6%|5         | 406M/7.07G [00:03<00:53, 126MB/s]
Downloading data:   6%|5         | 419M/7.07G [00:03<00:53, 125MB/s]
Downloading data:   6%|6         | 431M/7.07G [00:03<00:52, 126MB/s]
Downloading data:   6%|6         | 444M/7.07G [00:03<00:52, 126MB/s]
Downloading data:   6%|6         | 456M/7.07G [00:03<00:52, 126MB/s]
Downloading data:   7%|6         | 469M/7.07G [00:04<00:52, 125MB/s]
Downloading data:   7%|6         | 481M/7.07G [00:04<00:52, 125MB/s]
Downloading data:   7%|6         | 494M/7.07G [00:04<00:51, 127MB/s]
Downloading data:   7%|7         | 507M/7.07G [00:04<00:51, 126MB/s]
Downloading data:   7%|7         | 520M/7.07G [00:04<00:51, 127MB/s]
Downloading data:   8%|7         | 533M/7.07G [00:04<00:50, 128MB/s]
Downloading data:   8%|7         | 546M/7.07G [00:04<00:51, 127MB/s]
Downloading data:   8%|7         | 559M/7.07G [00:04<00:51, 127MB/s]
Downloading data:   8%|8         | 571M/7.07G [00:04<00:51, 126MB/s]
Downloading data:   8%|8         | 584M/7.07G [00:04<00:51, 126MB/s]
Downloading data:   8%|8         | 596M/7.07G [00:05<00:51, 126MB/s]
Downloading data:   9%|8         | 609M/7.07G [00:05<00:51, 125MB/s]
Downloading data:   9%|8         | 622M/7.07G [00:05<00:51, 125MB/s]
Downloading data:   9%|8         | 634M/7.07G [00:05<00:51, 125MB/s]
Downloading data:   9%|9         | 647M/7.07G [00:05<00:51, 125MB/s]
Downloading data:   9%|9         | 659M/7.07G [00:05<00:50, 126MB/s]
Downloading data:  10%|9         | 673M/7.07G [00:05<00:50, 128MB/s]
Downloading data:  10%|9         | 686M/7.07G [00:05<00:49, 129MB/s]
Downloading data:  10%|9         | 699M/7.07G [00:05<00:49, 130MB/s]
Downloading data:  10%|#         | 712M/7.07G [00:05<00:48, 130MB/s]
Downloading data:  10%|#         | 725M/7.07G [00:06<00:48, 130MB/s]
Downloading data:  10%|#         | 738M/7.07G [00:06<00:48, 129MB/s]
Downloading data:  11%|#         | 751M/7.07G [00:06<00:48, 130MB/s]
Downloading data:  11%|#         | 765M/7.07G [00:06<00:48, 131MB/s]
Downloading data:  11%|#         | 778M/7.07G [00:06<00:48, 130MB/s]
Downloading data:  11%|#1        | 791M/7.07G [00:06<00:48, 129MB/s]
Downloading data:  11%|#1        | 804M/7.07G [00:06<00:48, 129MB/s]
Downloading data:  12%|#1        | 817M/7.07G [00:06<00:48, 128MB/s]
Downloading data:  12%|#1        | 830M/7.07G [00:06<00:48, 128MB/s]
Downloading data:  12%|#1        | 842M/7.07G [00:06<00:48, 128MB/s]
Downloading data:  12%|#2        | 855M/7.07G [00:07<00:48, 128MB/s]
Downloading data:  12%|#2        | 868M/7.07G [00:07<00:48, 127MB/s]
Downloading data:  12%|#2        | 881M/7.07G [00:07<00:48, 127MB/s]
Downloading data:  13%|#2        | 893M/7.07G [00:07<00:48, 128MB/s]
Downloading data:  13%|#2        | 907M/7.07G [00:07<00:47, 129MB/s]
Downloading data:  13%|#3        | 920M/7.07G [00:07<00:47, 128MB/s]
Downloading data:  13%|#3        | 932M/7.07G [00:07<00:47, 128MB/s]
Downloading data:  13%|#3        | 945M/7.07G [00:07<00:47, 128MB/s]
Downloading data:  14%|#3        | 958M/7.07G [00:07<00:47, 128MB/s]
Downloading data:  14%|#3        | 971M/7.07G [00:07<00:47, 128MB/s]
Downloading data:  14%|#3        | 984M/7.07G [00:08<00:47, 128MB/s]
Downloading data:  14%|#4        | 996M/7.07G [00:08<00:47, 127MB/s]
Downloading data:  14%|#4        | 1.01G/7.07G [00:08<00:47, 128MB/s]
Downloading data:  14%|#4        | 1.02G/7.07G [00:08<00:47, 127MB/s]
Downloading data:  15%|#4        | 1.03G/7.07G [00:08<00:47, 127MB/s]
Downloading data:  15%|#4        | 1.05G/7.07G [00:08<00:47, 127MB/s]
Downloading data:  15%|#4        | 1.06G/7.07G [00:08<00:47, 128MB/s]
Downloading data:  15%|#5        | 1.07G/7.07G [00:08<00:46, 128MB/s]
Downloading data:  15%|#5        | 1.09G/7.07G [00:08<00:47, 127MB/s]
Downloading data:  16%|#5        | 1.10G/7.07G [00:08<00:47, 127MB/s]
Downloading data:  16%|#5        | 1.11G/7.07G [00:09<00:47, 127MB/s]
Downloading data:  16%|#5        | 1.12G/7.07G [00:09<00:47, 127MB/s]
Downloading data:  16%|#6        | 1.14G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  16%|#6        | 1.15G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  16%|#6        | 1.16G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#6        | 1.17G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#6        | 1.19G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#6        | 1.20G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#7        | 1.21G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#7        | 1.22G/7.07G [00:09<00:46, 126MB/s]
Downloading data:  17%|#7        | 1.24G/7.07G [00:10<00:46, 126MB/s]
Downloading data:  18%|#7        | 1.25G/7.07G [00:10<00:46, 126MB/s]
Downloading data:  18%|#7        | 1.26G/7.07G [00:10<00:46, 126MB/s]
Downloading data:  18%|#8        | 1.28G/7.07G [00:10<00:46, 126MB/s]
Downloading data:  18%|#8        | 1.29G/7.07G [00:10<00:45, 126MB/s]
Downloading data:  18%|#8        | 1.30G/7.07G [00:10<00:45, 126MB/s]
Downloading data:  19%|#8        | 1.31G/7.07G [00:10<00:45, 126MB/s]
Downloading data:  19%|#8        | 1.33G/7.07G [00:10<00:45, 127MB/s]
Downloading data:  19%|#8        | 1.34G/7.07G [00:10<00:45, 126MB/s]
Downloading data:  19%|#9        | 1.35G/7.07G [00:10<00:45, 126MB/s]
Downloading data:  19%|#9        | 1.36G/7.07G [00:11<00:45, 126MB/s]
Downloading data:  19%|#9        | 1.38G/7.07G [00:11<00:45, 126MB/s]
Downloading data:  20%|#9        | 1.39G/7.07G [00:11<00:44, 126MB/s]
Downloading data:  20%|#9        | 1.40G/7.07G [00:11<00:44, 127MB/s]
Downloading data:  20%|##        | 1.41G/7.07G [00:11<00:44, 127MB/s]
Downloading data:  20%|##        | 1.43G/7.07G [00:11<00:44, 126MB/s]
Downloading data:  20%|##        | 1.44G/7.07G [00:11<00:44, 125MB/s]
Downloading data:  21%|##        | 1.45G/7.07G [00:11<00:45, 125MB/s]
Downloading data:  21%|##        | 1.46G/7.07G [00:11<00:45, 125MB/s]
Downloading data:  21%|##        | 1.48G/7.07G [00:11<00:45, 124MB/s]
Downloading data:  21%|##1       | 1.49G/7.07G [00:12<00:45, 124MB/s]
Downloading data:  21%|##1       | 1.50G/7.07G [00:12<00:45, 124MB/s]
Downloading data:  21%|##1       | 1.51G/7.07G [00:12<00:44, 124MB/s]
Downloading data:  22%|##1       | 1.53G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  22%|##1       | 1.54G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  22%|##1       | 1.55G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  22%|##2       | 1.56G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  22%|##2       | 1.58G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  22%|##2       | 1.59G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  23%|##2       | 1.60G/7.07G [00:12<00:44, 123MB/s]
Downloading data:  23%|##2       | 1.61G/7.07G [00:13<00:44, 123MB/s]
Downloading data:  23%|##2       | 1.63G/7.07G [00:13<00:44, 123MB/s]
Downloading data:  23%|##3       | 1.64G/7.07G [00:13<00:44, 123MB/s]
Downloading data:  23%|##3       | 1.65G/7.07G [00:13<00:44, 123MB/s]
Downloading data:  24%|##3       | 1.66G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  24%|##3       | 1.67G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  24%|##3       | 1.69G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  24%|##4       | 1.70G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  24%|##4       | 1.71G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  24%|##4       | 1.72G/7.07G [00:13<00:43, 123MB/s]
Downloading data:  25%|##4       | 1.74G/7.07G [00:14<00:43, 123MB/s]
Downloading data:  25%|##4       | 1.75G/7.07G [00:14<00:42, 124MB/s]
Downloading data:  25%|##4       | 1.76G/7.07G [00:14<00:42, 126MB/s]
Downloading data:  25%|##5       | 1.78G/7.07G [00:14<00:41, 128MB/s]
Downloading data:  25%|##5       | 1.79G/7.07G [00:14<00:41, 129MB/s]
Downloading data:  25%|##5       | 1.80G/7.07G [00:14<00:40, 130MB/s]
Downloading data:  26%|##5       | 1.81G/7.07G [00:14<00:40, 130MB/s]
Downloading data:  26%|##5       | 1.83G/7.07G [00:14<00:40, 131MB/s]
Downloading data:  26%|##6       | 1.84G/7.07G [00:15<01:03, 82.2MB/s]
Downloading data:  26%|##6       | 1.85G/7.07G [00:15<00:56, 92.2MB/s]
Downloading data:  26%|##6       | 1.87G/7.07G [00:15<00:51, 101MB/s]
Downloading data:  27%|##6       | 1.88G/7.07G [00:15<00:47, 108MB/s]
Downloading data:  27%|##6       | 1.89G/7.07G [00:15<00:45, 114MB/s]
Downloading data:  27%|##6       | 1.91G/7.07G [00:15<00:43, 119MB/s]
Downloading data:  27%|##7       | 1.92G/7.07G [00:15<00:42, 122MB/s]
Downloading data:  27%|##7       | 1.93G/7.07G [00:15<00:41, 125MB/s]
Downloading data:  28%|##7       | 1.95G/7.07G [00:15<00:40, 127MB/s]
Downloading data:  28%|##7       | 1.96G/7.07G [00:15<00:39, 128MB/s]
Downloading data:  28%|##7       | 1.97G/7.07G [00:16<00:39, 129MB/s]
Downloading data:  28%|##8       | 1.98G/7.07G [00:16<00:39, 130MB/s]
Downloading data:  28%|##8       | 2.00G/7.07G [00:16<00:38, 130MB/s]
Downloading data:  28%|##8       | 2.01G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  29%|##8       | 2.02G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  29%|##8       | 2.04G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  29%|##8       | 2.05G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  29%|##9       | 2.06G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  29%|##9       | 2.08G/7.07G [00:16<00:38, 131MB/s]
Downloading data:  30%|##9       | 2.09G/7.07G [00:16<00:37, 131MB/s]
Downloading data:  30%|##9       | 2.10G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  30%|##9       | 2.12G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  30%|###       | 2.13G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  30%|###       | 2.14G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  30%|###       | 2.16G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  31%|###       | 2.17G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  31%|###       | 2.18G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  31%|###1      | 2.20G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  31%|###1      | 2.21G/7.07G [00:17<00:37, 131MB/s]
Downloading data:  31%|###1      | 2.22G/7.07G [00:17<00:36, 131MB/s]
Downloading data:  32%|###1      | 2.23G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  32%|###1      | 2.25G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  32%|###1      | 2.26G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  32%|###2      | 2.27G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  32%|###2      | 2.29G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  33%|###2      | 2.30G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  33%|###2      | 2.31G/7.07G [00:18<00:36, 131MB/s]
Downloading data:  33%|###2      | 2.33G/7.07G [00:18<00:36, 132MB/s]
Downloading data:  33%|###3      | 2.34G/7.07G [00:18<00:35, 132MB/s]
Downloading data:  33%|###3      | 2.35G/7.07G [00:18<00:35, 132MB/s]
Downloading data:  33%|###3      | 2.37G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  34%|###3      | 2.38G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  34%|###3      | 2.39G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  34%|###4      | 2.41G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  34%|###4      | 2.42G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  34%|###4      | 2.43G/7.07G [00:19<00:35, 132MB/s]
Downloading data:  35%|###4      | 2.45G/7.07G [00:19<00:35, 131MB/s]
Downloading data:  35%|###4      | 2.46G/7.07G [00:19<00:35, 131MB/s]
Downloading data:  35%|###4      | 2.47G/7.07G [00:19<00:35, 131MB/s]
Downloading data:  35%|###5      | 2.48G/7.07G [00:19<00:34, 131MB/s]
Downloading data:  35%|###5      | 2.50G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  36%|###5      | 2.51G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  36%|###5      | 2.52G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  36%|###5      | 2.54G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  36%|###6      | 2.55G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  36%|###6      | 2.56G/7.07G [00:20<00:34, 129MB/s]
Downloading data:  36%|###6      | 2.58G/7.07G [00:20<00:34, 130MB/s]
Downloading data:  37%|###6      | 2.59G/7.07G [00:20<00:34, 130MB/s]
Downloading data:  37%|###6      | 2.60G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  37%|###6      | 2.62G/7.07G [00:20<00:34, 131MB/s]
Downloading data:  37%|###7      | 2.63G/7.07G [00:21<00:33, 131MB/s]
Downloading data:  37%|###7      | 2.64G/7.07G [00:21<00:33, 131MB/s]
Downloading data:  38%|###7      | 2.66G/7.07G [00:21<00:33, 131MB/s]
Downloading data:  38%|###7      | 2.67G/7.07G [00:21<00:33, 131MB/s]
Downloading data:  38%|###7      | 2.68G/7.07G [00:21<00:33, 132MB/s]
Downloading data:  38%|###8      | 2.70G/7.07G [00:21<00:33, 132MB/s]
Downloading data:  38%|###8      | 2.71G/7.07G [00:21<00:33, 131MB/s]
Downloading data:  38%|###8      | 2.72G/7.07G [00:21<00:33, 132MB/s]
Downloading data:  39%|###8      | 2.73G/7.07G [00:21<00:32, 132MB/s]
Downloading data:  39%|###8      | 2.75G/7.07G [00:21<00:32, 132MB/s]
Downloading data:  39%|###9      | 2.76G/7.07G [00:22<00:32, 132MB/s]
Downloading data:  39%|###9      | 2.77G/7.07G [00:22<00:42, 101MB/s]
Downloading data:  39%|###9      | 2.79G/7.07G [00:22<00:44, 96.7MB/s]
Downloading data:  40%|###9      | 2.80G/7.07G [00:22<00:42, 99.8MB/s]
Downloading data:  40%|###9      | 2.81G/7.07G [00:22<00:39, 107MB/s]
Downloading data:  40%|###9      | 2.82G/7.07G [00:22<00:37, 113MB/s]
Downloading data:  40%|####      | 2.84G/7.07G [00:22<00:35, 118MB/s]
Downloading data:  40%|####      | 2.85G/7.07G [00:22<00:34, 122MB/s]
Downloading data:  40%|####      | 2.86G/7.07G [00:23<00:33, 125MB/s]
Downloading data:  41%|####      | 2.87G/7.07G [00:23<00:33, 127MB/s]
Downloading data:  41%|####      | 2.89G/7.07G [00:23<00:32, 128MB/s]
Downloading data:  41%|####1     | 2.90G/7.07G [00:23<00:32, 129MB/s]
Downloading data:  41%|####1     | 2.91G/7.07G [00:23<00:31, 130MB/s]
Downloading data:  41%|####1     | 2.93G/7.07G [00:23<00:31, 130MB/s]
Downloading data:  42%|####1     | 2.94G/7.07G [00:23<00:31, 131MB/s]
Downloading data:  42%|####1     | 2.95G/7.07G [00:23<00:31, 131MB/s]
Downloading data:  42%|####1     | 2.97G/7.07G [00:23<00:31, 131MB/s]
Downloading data:  42%|####2     | 2.98G/7.07G [00:23<00:31, 131MB/s]
Downloading data:  42%|####2     | 2.99G/7.07G [00:24<00:31, 131MB/s]
Downloading data:  43%|####2     | 3.01G/7.07G [00:24<00:30, 131MB/s]
Downloading data:  43%|####2     | 3.02G/7.07G [00:24<00:30, 131MB/s]
Downloading data:  43%|####2     | 3.03G/7.07G [00:24<00:30, 132MB/s]
Downloading data:  43%|####3     | 3.05G/7.07G [00:24<00:30, 132MB/s]
Downloading data:  43%|####3     | 3.06G/7.07G [00:24<00:30, 132MB/s]
Downloading data:  43%|####3     | 3.07G/7.07G [00:24<00:30, 132MB/s]
Downloading data:  44%|####3     | 3.09G/7.07G [00:24<00:30, 131MB/s]
Downloading data:  44%|####3     | 3.10G/7.07G [00:24<00:30, 131MB/s]
Downloading data:  44%|####3     | 3.11G/7.07G [00:24<00:30, 131MB/s]
Downloading data:  44%|####4     | 3.12G/7.07G [00:25<00:30, 131MB/s]
Downloading data:  44%|####4     | 3.14G/7.07G [00:25<00:30, 131MB/s]
Downloading data:  45%|####4     | 3.15G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  45%|####4     | 3.16G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  45%|####4     | 3.18G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  45%|####5     | 3.19G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  45%|####5     | 3.20G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  45%|####5     | 3.22G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  46%|####5     | 3.23G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  46%|####5     | 3.24G/7.07G [00:25<00:29, 131MB/s]
Downloading data:  46%|####6     | 3.26G/7.07G [00:26<00:29, 131MB/s]
Downloading data:  46%|####6     | 3.27G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  46%|####6     | 3.28G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  47%|####6     | 3.30G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  47%|####6     | 3.31G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  47%|####6     | 3.32G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  47%|####7     | 3.34G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  47%|####7     | 3.35G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  48%|####7     | 3.36G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  48%|####7     | 3.37G/7.07G [00:26<00:28, 131MB/s]
Downloading data:  48%|####7     | 3.39G/7.07G [00:27<00:28, 131MB/s]
Downloading data:  48%|####8     | 3.40G/7.07G [00:27<00:27, 131MB/s]
Downloading data:  48%|####8     | 3.41G/7.07G [00:27<00:27, 131MB/s]
Downloading data:  48%|####8     | 3.43G/7.07G [00:27<00:27, 131MB/s]
Downloading data:  49%|####8     | 3.44G/7.07G [00:27<00:27, 131MB/s]
Downloading data:  49%|####8     | 3.45G/7.07G [00:27<00:27, 131MB/s]
Downloading data:  49%|####9     | 3.47G/7.07G [00:27<00:27, 132MB/s]
Downloading data:  49%|####9     | 3.48G/7.07G [00:27<00:27, 132MB/s]
Downloading data:  49%|####9     | 3.49G/7.07G [00:27<00:27, 132MB/s]
Downloading data:  50%|####9     | 3.51G/7.07G [00:27<00:27, 132MB/s]
Downloading data:  50%|####9     | 3.52G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  50%|####9     | 3.53G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  50%|#####     | 3.55G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  50%|#####     | 3.56G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  51%|#####     | 3.57G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  51%|#####     | 3.59G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  51%|#####     | 3.60G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  51%|#####1    | 3.61G/7.07G [00:28<00:26, 131MB/s]
Downloading data:  51%|#####1    | 3.62G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  51%|#####1    | 3.64G/7.07G [00:28<00:26, 132MB/s]
Downloading data:  52%|#####1    | 3.65G/7.07G [00:29<00:26, 131MB/s]
Downloading data:  52%|#####1    | 3.66G/7.07G [00:29<00:25, 131MB/s]
Downloading data:  52%|#####1    | 3.68G/7.07G [00:29<00:25, 131MB/s]
Downloading data:  52%|#####2    | 3.69G/7.07G [00:29<00:25, 131MB/s]
Downloading data:  52%|#####2    | 3.70G/7.07G [00:29<00:25, 131MB/s]
Downloading data:  53%|#####2    | 3.72G/7.07G [00:29<00:25, 129MB/s]
Downloading data:  53%|#####2    | 3.73G/7.07G [00:29<00:26, 127MB/s]
Downloading data:  53%|#####2    | 3.74G/7.07G [00:29<00:26, 126MB/s]
Downloading data:  53%|#####3    | 3.76G/7.07G [00:29<00:26, 125MB/s]
Downloading data:  53%|#####3    | 3.77G/7.07G [00:29<00:26, 124MB/s]
Downloading data:  53%|#####3    | 3.78G/7.07G [00:30<00:26, 126MB/s]
Downloading data:  54%|#####3    | 3.79G/7.07G [00:30<00:25, 128MB/s]
Downloading data:  54%|#####3    | 3.81G/7.07G [00:30<00:25, 128MB/s]
Downloading data:  54%|#####4    | 3.82G/7.07G [00:30<00:25, 130MB/s]
Downloading data:  54%|#####4    | 3.83G/7.07G [00:30<00:24, 130MB/s]
Downloading data:  54%|#####4    | 3.85G/7.07G [00:30<00:24, 130MB/s]
Downloading data:  55%|#####4    | 3.86G/7.07G [00:30<00:25, 127MB/s]
Downloading data:  55%|#####4    | 3.87G/7.07G [00:30<00:25, 125MB/s]
Downloading data:  55%|#####4    | 3.88G/7.07G [00:30<00:25, 124MB/s]
Downloading data:  55%|#####5    | 3.90G/7.07G [00:30<00:25, 124MB/s]
Downloading data:  55%|#####5    | 3.91G/7.07G [00:31<00:40, 78.9MB/s]
Downloading data:  55%|#####5    | 3.92G/7.07G [00:31<00:35, 87.8MB/s]
Downloading data:  56%|#####5    | 3.93G/7.07G [00:31<00:32, 95.5MB/s]
Downloading data:  56%|#####5    | 3.95G/7.07G [00:31<00:30, 102MB/s]
Downloading data:  56%|#####5    | 3.96G/7.07G [00:31<00:29, 107MB/s]
Downloading data:  56%|#####6    | 3.97G/7.07G [00:31<00:27, 111MB/s]
Downloading data:  56%|#####6    | 3.98G/7.07G [00:31<00:27, 114MB/s]
Downloading data:  56%|#####6    | 3.99G/7.07G [00:31<00:26, 117MB/s]
Downloading data:  57%|#####6    | 4.01G/7.07G [00:32<00:25, 118MB/s]
Downloading data:  57%|#####6    | 4.02G/7.07G [00:32<00:25, 119MB/s]
Downloading data:  57%|#####7    | 4.03G/7.07G [00:32<00:24, 122MB/s]
Downloading data:  57%|#####7    | 4.04G/7.07G [00:32<00:24, 125MB/s]
Downloading data:  57%|#####7    | 4.06G/7.07G [00:32<00:23, 126MB/s]
Downloading data:  58%|#####7    | 4.07G/7.07G [00:32<00:23, 128MB/s]
Downloading data:  58%|#####7    | 4.08G/7.07G [00:32<00:23, 128MB/s]
Downloading data:  58%|#####7    | 4.10G/7.07G [00:32<00:23, 129MB/s]
Downloading data:  58%|#####8    | 4.11G/7.07G [00:32<00:22, 129MB/s]
Downloading data:  58%|#####8    | 4.12G/7.07G [00:32<00:22, 130MB/s]
Downloading data:  58%|#####8    | 4.14G/7.07G [00:33<00:22, 130MB/s]
Downloading data:  59%|#####8    | 4.15G/7.07G [00:33<00:22, 130MB/s]
Downloading data:  59%|#####8    | 4.16G/7.07G [00:33<00:22, 130MB/s]
Downloading data:  59%|#####9    | 4.18G/7.07G [00:33<00:22, 130MB/s]
Downloading data:  59%|#####9    | 4.19G/7.07G [00:33<00:22, 130MB/s]
Downloading data:  59%|#####9    | 4.20G/7.07G [00:33<00:21, 131MB/s]
Downloading data:  60%|#####9    | 4.21G/7.07G [00:33<00:21, 131MB/s]
Downloading data:  60%|#####9    | 4.23G/7.07G [00:33<00:21, 131MB/s]
Downloading data:  60%|#####9    | 4.24G/7.07G [00:33<00:21, 131MB/s]
Downloading data:  60%|######    | 4.25G/7.07G [00:33<00:21, 130MB/s]
Downloading data:  60%|######    | 4.27G/7.07G [00:34<00:21, 130MB/s]
Downloading data:  61%|######    | 4.28G/7.07G [00:34<00:21, 130MB/s]
Downloading data:  61%|######    | 4.29G/7.07G [00:34<00:21, 131MB/s]
Downloading data:  61%|######    | 4.31G/7.07G [00:34<00:21, 131MB/s]
Downloading data:  61%|######1   | 4.32G/7.07G [00:34<00:21, 131MB/s]
Downloading data:  61%|######1   | 4.33G/7.07G [00:34<00:20, 131MB/s]
Downloading data:  61%|######1   | 4.35G/7.07G [00:34<00:20, 131MB/s]
Downloading data:  62%|######1   | 4.36G/7.07G [00:34<00:20, 131MB/s]
Downloading data:  62%|######1   | 4.37G/7.07G [00:34<00:20, 131MB/s]
Downloading data:  62%|######2   | 4.38G/7.07G [00:34<00:20, 131MB/s]
Downloading data:  62%|######2   | 4.40G/7.07G [00:35<00:20, 131MB/s]
Downloading data:  62%|######2   | 4.41G/7.07G [00:35<00:20, 131MB/s]
Downloading data:  63%|######2   | 4.42G/7.07G [00:35<00:20, 131MB/s]
Downloading data:  63%|######2   | 4.44G/7.07G [00:35<00:20, 129MB/s]
Downloading data:  63%|######2   | 4.45G/7.07G [00:35<00:20, 127MB/s]
Downloading data:  63%|######3   | 4.46G/7.07G [00:35<00:20, 125MB/s]
Downloading data:  63%|######3   | 4.48G/7.07G [00:35<00:20, 124MB/s]
Downloading data:  63%|######3   | 4.49G/7.07G [00:35<00:20, 124MB/s]
Downloading data:  64%|######3   | 4.50G/7.07G [00:35<00:20, 124MB/s]
Downloading data:  64%|######3   | 4.51G/7.07G [00:35<00:20, 123MB/s]
Downloading data:  64%|######3   | 4.53G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  64%|######4   | 4.54G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  64%|######4   | 4.55G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  65%|######4   | 4.56G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  65%|######4   | 4.57G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  65%|######4   | 4.59G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  65%|######5   | 4.60G/7.07G [00:36<00:20, 123MB/s]
Downloading data:  65%|######5   | 4.61G/7.07G [00:36<00:19, 125MB/s]
Downloading data:  65%|######5   | 4.62G/7.07G [00:36<00:19, 125MB/s]
Downloading data:  66%|######5   | 4.64G/7.07G [00:36<00:19, 125MB/s]
Downloading data:  66%|######5   | 4.65G/7.07G [00:37<00:19, 126MB/s]
Downloading data:  66%|######5   | 4.66G/7.07G [00:37<00:19, 126MB/s]
Downloading data:  66%|######6   | 4.68G/7.07G [00:37<00:18, 126MB/s]
Downloading data:  66%|######6   | 4.69G/7.07G [00:37<00:18, 126MB/s]
Downloading data:  66%|######6   | 4.70G/7.07G [00:37<00:18, 126MB/s]
Downloading data:  67%|######6   | 4.71G/7.07G [00:37<00:18, 126MB/s]
Downloading data:  67%|######6   | 4.73G/7.07G [00:37<00:18, 128MB/s]
Downloading data:  67%|######7   | 4.74G/7.07G [00:37<00:18, 129MB/s]
Downloading data:  67%|######7   | 4.75G/7.07G [00:37<00:17, 129MB/s]
Downloading data:  67%|######7   | 4.77G/7.07G [00:37<00:17, 129MB/s]
Downloading data:  68%|######7   | 4.78G/7.07G [00:38<00:17, 128MB/s]
Downloading data:  68%|######7   | 4.79G/7.07G [00:38<00:17, 128MB/s]
Downloading data:  68%|######7   | 4.80G/7.07G [00:38<00:17, 127MB/s]
Downloading data:  68%|######8   | 4.82G/7.07G [00:38<00:17, 127MB/s]
Downloading data:  68%|######8   | 4.83G/7.07G [00:38<00:17, 127MB/s]
Downloading data:  68%|######8   | 4.84G/7.07G [00:38<00:17, 127MB/s]
Downloading data:  69%|######8   | 4.85G/7.07G [00:38<00:17, 127MB/s]
Downloading data:  69%|######8   | 4.87G/7.07G [00:38<00:17, 126MB/s]
Downloading data:  69%|######8   | 4.88G/7.07G [00:38<00:17, 126MB/s]
Downloading data:  69%|######9   | 4.89G/7.07G [00:39<00:17, 126MB/s]
Downloading data:  69%|######9   | 4.91G/7.07G [00:39<00:16, 128MB/s]
Downloading data:  70%|######9   | 4.92G/7.07G [00:39<00:16, 127MB/s]
Downloading data:  70%|######9   | 4.93G/7.07G [00:39<00:16, 128MB/s]
Downloading data:  70%|######9   | 4.94G/7.07G [00:39<00:16, 129MB/s]
Downloading data:  70%|#######   | 4.96G/7.07G [00:39<00:16, 129MB/s]
Downloading data:  70%|#######   | 4.97G/7.07G [00:39<00:16, 130MB/s]
Downloading data:  70%|#######   | 4.98G/7.07G [00:39<00:16, 130MB/s]
Downloading data:  71%|#######   | 5.00G/7.07G [00:39<00:15, 130MB/s]
Downloading data:  71%|#######   | 5.01G/7.07G [00:39<00:15, 131MB/s]
Downloading data:  71%|#######1  | 5.02G/7.07G [00:40<00:15, 131MB/s]
Downloading data:  71%|#######1  | 5.04G/7.07G [00:40<00:15, 132MB/s]
Downloading data:  71%|#######1  | 5.05G/7.07G [00:40<00:15, 133MB/s]
Downloading data:  72%|#######1  | 5.06G/7.07G [00:40<00:14, 134MB/s]
Downloading data:  72%|#######1  | 5.08G/7.07G [00:40<00:14, 134MB/s]
Downloading data:  72%|#######1  | 5.09G/7.07G [00:40<00:14, 133MB/s]
Downloading data:  72%|#######2  | 5.10G/7.07G [00:40<00:14, 132MB/s]
Downloading data:  72%|#######2  | 5.12G/7.07G [00:40<00:14, 132MB/s]
Downloading data:  73%|#######2  | 5.13G/7.07G [00:40<00:14, 132MB/s]
Downloading data:  73%|#######2  | 5.14G/7.07G [00:40<00:14, 132MB/s]
Downloading data:  73%|#######2  | 5.16G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  73%|#######3  | 5.17G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  73%|#######3  | 5.18G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  73%|#######3  | 5.20G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  74%|#######3  | 5.21G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  74%|#######3  | 5.22G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  74%|#######4  | 5.24G/7.07G [00:41<00:14, 131MB/s]
Downloading data:  74%|#######4  | 5.25G/7.07G [00:41<00:14, 130MB/s]
Downloading data:  74%|#######4  | 5.26G/7.07G [00:41<00:14, 129MB/s]
Downloading data:  75%|#######4  | 5.27G/7.07G [00:41<00:14, 128MB/s]
Downloading data:  75%|#######4  | 5.29G/7.07G [00:42<00:13, 128MB/s]
Downloading data:  75%|#######4  | 5.30G/7.07G [00:42<00:13, 127MB/s]
Downloading data:  75%|#######5  | 5.31G/7.07G [00:42<00:13, 127MB/s]
Downloading data:  75%|#######5  | 5.33G/7.07G [00:42<00:13, 130MB/s]
Downloading data:  75%|#######5  | 5.34G/7.07G [00:42<00:13, 131MB/s]
Downloading data:  76%|#######5  | 5.35G/7.07G [00:42<00:13, 130MB/s]
Downloading data:  76%|#######5  | 5.37G/7.07G [00:42<00:13, 129MB/s]
Downloading data:  76%|#######6  | 5.38G/7.07G [00:42<00:13, 128MB/s]
Downloading data:  76%|#######6  | 5.39G/7.07G [00:42<00:13, 127MB/s]
Downloading data:  76%|#######6  | 5.40G/7.07G [00:42<00:13, 127MB/s]
Downloading data:  77%|#######6  | 5.42G/7.07G [00:43<00:13, 126MB/s]
Downloading data:  77%|#######6  | 5.43G/7.07G [00:43<00:12, 126MB/s]
Downloading data:  77%|#######6  | 5.44G/7.07G [00:43<00:12, 128MB/s]
Downloading data:  77%|#######7  | 5.46G/7.07G [00:43<00:12, 129MB/s]
Downloading data:  77%|#######7  | 5.47G/7.07G [00:43<00:12, 129MB/s]
Downloading data:  78%|#######7  | 5.48G/7.07G [00:43<00:12, 130MB/s]
Downloading data:  78%|#######7  | 5.49G/7.07G [00:43<00:12, 130MB/s]
Downloading data:  78%|#######7  | 5.51G/7.07G [00:43<00:11, 130MB/s]
Downloading data:  78%|#######8  | 5.52G/7.07G [00:43<00:11, 131MB/s]
Downloading data:  78%|#######8  | 5.53G/7.07G [00:43<00:11, 131MB/s]
Downloading data:  78%|#######8  | 5.55G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  79%|#######8  | 5.56G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  79%|#######8  | 5.57G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  79%|#######8  | 5.59G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  79%|#######9  | 5.60G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  79%|#######9  | 5.61G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  80%|#######9  | 5.63G/7.07G [00:44<00:11, 131MB/s]
Downloading data:  80%|#######9  | 5.64G/7.07G [00:44<00:10, 131MB/s]
Downloading data:  80%|#######9  | 5.65G/7.07G [00:44<00:10, 131MB/s]
Downloading data:  80%|########  | 5.67G/7.07G [00:44<00:10, 131MB/s]
Downloading data:  80%|########  | 5.68G/7.07G [00:45<00:10, 131MB/s]
Downloading data:  80%|########  | 5.69G/7.07G [00:45<00:10, 131MB/s]
Downloading data:  81%|########  | 5.70G/7.07G [00:45<00:10, 131MB/s]
Downloading data:  81%|########  | 5.72G/7.07G [00:45<00:10, 131MB/s]
Downloading data:  81%|########1 | 5.73G/7.07G [00:45<00:10, 131MB/s]
Downloading data:  81%|########1 | 5.74G/7.07G [00:45<00:10, 130MB/s]
Downloading data:  81%|########1 | 5.76G/7.07G [00:45<00:10, 129MB/s]
Downloading data:  82%|########1 | 5.77G/7.07G [00:45<00:10, 128MB/s]
Downloading data:  82%|########1 | 5.78G/7.07G [00:45<00:10, 128MB/s]
Downloading data:  82%|########1 | 5.80G/7.07G [00:45<00:10, 127MB/s]
Downloading data:  82%|########2 | 5.81G/7.07G [00:46<00:09, 127MB/s]
Downloading data:  82%|########2 | 5.82G/7.07G [00:46<00:09, 127MB/s]
Downloading data:  82%|########2 | 5.83G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  83%|########2 | 5.85G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  83%|########2 | 5.86G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  83%|########3 | 5.87G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  83%|########3 | 5.88G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  83%|########3 | 5.90G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  84%|########3 | 5.91G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  84%|########3 | 5.92G/7.07G [00:46<00:09, 126MB/s]
Downloading data:  84%|########3 | 5.93G/7.07G [00:47<00:09, 126MB/s]
Downloading data:  84%|########4 | 5.95G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  84%|########4 | 5.96G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  84%|########4 | 5.97G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  85%|########4 | 5.98G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  85%|########4 | 6.00G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  85%|########4 | 6.01G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  85%|########5 | 6.02G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  85%|########5 | 6.04G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  86%|########5 | 6.05G/7.07G [00:47<00:08, 126MB/s]
Downloading data:  86%|########5 | 6.06G/7.07G [00:48<00:08, 126MB/s]
Downloading data:  86%|########5 | 6.07G/7.07G [00:48<00:07, 126MB/s]
Downloading data:  86%|########6 | 6.09G/7.07G [00:48<00:07, 126MB/s]
Downloading data:  86%|########6 | 6.10G/7.07G [00:48<00:07, 126MB/s]
Downloading data:  86%|########6 | 6.11G/7.07G [00:48<00:07, 126MB/s]
Downloading data:  87%|########6 | 6.12G/7.07G [00:48<00:07, 126MB/s]
Downloading data:  87%|########6 | 6.14G/7.07G [00:48<00:07, 128MB/s]
Downloading data:  87%|########6 | 6.15G/7.07G [00:48<00:07, 130MB/s]
Downloading data:  87%|########7 | 6.16G/7.07G [00:48<00:06, 132MB/s]
Downloading data:  87%|########7 | 6.18G/7.07G [00:48<00:06, 133MB/s]
Downloading data:  88%|########7 | 6.19G/7.07G [00:49<00:06, 134MB/s]
Downloading data:  88%|########7 | 6.20G/7.07G [00:49<00:06, 133MB/s]
Downloading data:  88%|########7 | 6.22G/7.07G [00:49<00:06, 131MB/s]
Downloading data:  88%|########8 | 6.23G/7.07G [00:49<00:06, 130MB/s]
Downloading data:  88%|########8 | 6.24G/7.07G [00:49<00:06, 129MB/s]
Downloading data:  88%|########8 | 6.26G/7.07G [00:49<00:06, 128MB/s]
Downloading data:  89%|########8 | 6.27G/7.07G [00:49<00:06, 127MB/s]
Downloading data:  89%|########8 | 6.28G/7.07G [00:49<00:06, 127MB/s]
Downloading data:  89%|########9 | 6.30G/7.07G [00:49<00:06, 127MB/s]
Downloading data:  89%|########9 | 6.31G/7.07G [00:49<00:06, 127MB/s]
Downloading data:  89%|########9 | 6.32G/7.07G [00:50<00:09, 80.6MB/s]
Downloading data:  90%|########9 | 6.33G/7.07G [00:50<00:07, 92.4MB/s]
Downloading data:  90%|########9 | 6.35G/7.07G [00:50<00:07, 103MB/s]
Downloading data:  90%|########9 | 6.36G/7.07G [00:50<00:06, 111MB/s]
Downloading data:  90%|######### | 6.38G/7.07G [00:50<00:05, 117MB/s]
Downloading data:  90%|######### | 6.39G/7.07G [00:50<00:05, 123MB/s]
Downloading data:  91%|######### | 6.40G/7.07G [00:50<00:05, 127MB/s]
Downloading data:  91%|######### | 6.42G/7.07G [00:50<00:05, 129MB/s]
Downloading data:  91%|######### | 6.43G/7.07G [00:51<00:04, 131MB/s]
Downloading data:  91%|#########1| 6.44G/7.07G [00:51<00:04, 133MB/s]
Downloading data:  91%|#########1| 6.46G/7.07G [00:51<00:04, 134MB/s]
Downloading data:  91%|#########1| 6.47G/7.07G [00:51<00:04, 133MB/s]
Downloading data:  92%|#########1| 6.48G/7.07G [00:51<00:04, 132MB/s]
Downloading data:  92%|#########1| 6.50G/7.07G [00:51<00:04, 132MB/s]
Downloading data:  92%|#########2| 6.51G/7.07G [00:51<00:04, 132MB/s]
Downloading data:  92%|#########2| 6.52G/7.07G [00:51<00:04, 131MB/s]
Downloading data:  92%|#########2| 6.54G/7.07G [00:51<00:04, 132MB/s]
Downloading data:  93%|#########2| 6.55G/7.07G [00:51<00:03, 131MB/s]
Downloading data:  93%|#########2| 6.56G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  93%|#########2| 6.58G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  93%|#########3| 6.59G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  93%|#########3| 6.60G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  94%|#########3| 6.62G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  94%|#########3| 6.63G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  94%|#########3| 6.64G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  94%|#########4| 6.66G/7.07G [00:52<00:03, 131MB/s]
Downloading data:  94%|#########4| 6.67G/7.07G [00:52<00:03, 133MB/s]
Downloading data:  94%|#########4| 6.68G/7.07G [00:52<00:02, 135MB/s]
Downloading data:  95%|#########4| 6.70G/7.07G [00:53<00:02, 136MB/s]
Downloading data:  95%|#########4| 6.71G/7.07G [00:53<00:02, 137MB/s]
Downloading data:  95%|#########5| 6.72G/7.07G [00:53<00:02, 138MB/s]
Downloading data:  95%|#########5| 6.74G/7.07G [00:53<00:02, 138MB/s]
Downloading data:  95%|#########5| 6.75G/7.07G [00:53<00:02, 139MB/s]
Downloading data:  96%|#########5| 6.77G/7.07G [00:53<00:02, 139MB/s]
Downloading data:  96%|#########5| 6.78G/7.07G [00:53<00:02, 139MB/s]
Downloading data:  96%|#########6| 6.79G/7.07G [00:53<00:02, 137MB/s]
Downloading data:  96%|#########6| 6.81G/7.07G [00:53<00:01, 136MB/s]
Downloading data:  96%|#########6| 6.82G/7.07G [00:53<00:01, 135MB/s]
Downloading data:  97%|#########6| 6.84G/7.07G [00:54<00:01, 135MB/s]
Downloading data:  97%|#########6| 6.85G/7.07G [00:54<00:01, 134MB/s]
Downloading data:  97%|#########7| 6.86G/7.07G [00:54<00:01, 134MB/s]
Downloading data:  97%|#########7| 6.88G/7.07G [00:54<00:01, 134MB/s]
Downloading data:  97%|#########7| 6.89G/7.07G [00:54<00:01, 134MB/s]
Downloading data:  98%|#########7| 6.90G/7.07G [00:54<00:01, 134MB/s]
Downloading data:  98%|#########7| 6.92G/7.07G [00:54<00:01, 133MB/s]
Downloading data:  98%|#########7| 6.93G/7.07G [00:54<00:01, 133MB/s]
Downloading data:  98%|#########8| 6.94G/7.07G [00:54<00:00, 133MB/s]
Downloading data:  98%|#########8| 6.96G/7.07G [00:54<00:00, 133MB/s]
Downloading data:  99%|#########8| 6.97G/7.07G [00:55<00:00, 133MB/s]
Downloading data:  99%|#########8| 6.98G/7.07G [00:55<00:00, 133MB/s]
Downloading data:  99%|#########8| 7.00G/7.07G [00:55<00:00, 133MB/s]
Downloading data:  99%|#########9| 7.01G/7.07G [00:55<00:00, 133MB/s]
Downloading data:  99%|#########9| 7.02G/7.07G [00:55<00:00, 133MB/s]
Downloading data:  99%|#########9| 7.04G/7.07G [00:55<00:00, 134MB/s]
Downloading data: 100%|#########9| 7.05G/7.07G [00:55<00:00, 134MB/s]
Downloading data: 100%|#########9| 7.06G/7.07G [00:55<00:00, 134MB/s]
Downloading data: 100%|##########| 7.07G/7.07G [00:55<00:00, 127MB/s]

Downloading data:   0%|          | 0.00/970M [00:00<?, ?B/s]
Downloading data:   1%|1         | 13.3M/970M [00:00<00:07, 133MB/s]
Downloading data:   3%|2         | 27.0M/970M [00:00<00:06, 136MB/s]
Downloading data:   4%|4         | 40.8M/970M [00:00<00:06, 137MB/s]
Downloading data:   6%|5         | 54.6M/970M [00:00<00:06, 137MB/s]
Downloading data:   7%|7         | 68.3M/970M [00:00<00:06, 137MB/s]
Downloading data:   8%|8         | 82.0M/970M [00:00<00:06, 137MB/s]
Downloading data:  10%|9         | 95.8M/970M [00:00<00:06, 137MB/s]
Downloading data:  11%|#1        | 110M/970M [00:00<00:06, 137MB/s]
Downloading data:  13%|#2        | 123M/970M [00:00<00:06, 138MB/s]
Downloading data:  14%|#4        | 137M/970M [00:01<00:06, 137MB/s]
Downloading data:  16%|#5        | 151M/970M [00:01<00:05, 137MB/s]
Downloading data:  17%|#6        | 165M/970M [00:01<00:05, 137MB/s]
Downloading data:  18%|#8        | 178M/970M [00:01<00:05, 136MB/s]
Downloading data:  20%|#9        | 192M/970M [00:01<00:05, 136MB/s]
Downloading data:  21%|##1       | 206M/970M [00:01<00:05, 136MB/s]
Downloading data:  23%|##2       | 219M/970M [00:01<00:05, 135MB/s]
Downloading data:  24%|##4       | 233M/970M [00:01<00:05, 136MB/s]
Downloading data:  25%|##5       | 247M/970M [00:01<00:05, 136MB/s]
Downloading data:  27%|##6       | 260M/970M [00:01<00:05, 136MB/s]
Downloading data:  28%|##8       | 274M/970M [00:02<00:05, 137MB/s]
Downloading data:  30%|##9       | 288M/970M [00:02<00:04, 137MB/s]
Downloading data:  31%|###1      | 302M/970M [00:02<00:04, 137MB/s]
Downloading data:  32%|###2      | 315M/970M [00:02<00:04, 137MB/s]
Downloading data:  34%|###3      | 329M/970M [00:02<00:04, 137MB/s]
Downloading data:  35%|###5      | 343M/970M [00:02<00:04, 137MB/s]
Downloading data:  37%|###6      | 356M/970M [00:02<00:04, 137MB/s]
Downloading data:  38%|###8      | 370M/970M [00:02<00:04, 137MB/s]
Downloading data:  40%|###9      | 384M/970M [00:02<00:04, 137MB/s]
Downloading data:  41%|####      | 398M/970M [00:02<00:04, 137MB/s]
Downloading data:  42%|####2     | 411M/970M [00:03<00:04, 137MB/s]
Downloading data:  44%|####3     | 425M/970M [00:03<00:03, 137MB/s]
Downloading data:  45%|####5     | 439M/970M [00:03<00:03, 136MB/s]
Downloading data:  47%|####6     | 452M/970M [00:03<00:03, 136MB/s]
Downloading data:  48%|####8     | 466M/970M [00:03<00:03, 135MB/s]
Downloading data:  49%|####9     | 480M/970M [00:03<00:03, 136MB/s]
Downloading data:  51%|#####     | 493M/970M [00:03<00:03, 136MB/s]
Downloading data:  52%|#####2    | 507M/970M [00:03<00:03, 136MB/s]
Downloading data:  54%|#####3    | 521M/970M [00:03<00:03, 137MB/s]
Downloading data:  55%|#####5    | 535M/970M [00:03<00:03, 137MB/s]
Downloading data:  57%|#####6    | 548M/970M [00:04<00:03, 137MB/s]
Downloading data:  58%|#####7    | 562M/970M [00:04<00:02, 137MB/s]
Downloading data:  59%|#####9    | 576M/970M [00:04<00:02, 137MB/s]
Downloading data:  61%|######    | 589M/970M [00:04<00:02, 137MB/s]
Downloading data:  62%|######2   | 603M/970M [00:04<00:02, 137MB/s]
Downloading data:  64%|######3   | 617M/970M [00:04<00:02, 137MB/s]
Downloading data:  65%|######4   | 631M/970M [00:04<00:02, 137MB/s]
Downloading data:  66%|######6   | 644M/970M [00:04<00:02, 137MB/s]
Downloading data:  68%|######7   | 658M/970M [00:04<00:02, 137MB/s]
Downloading data:  69%|######9   | 672M/970M [00:04<00:02, 137MB/s]
Downloading data:  71%|#######   | 685M/970M [00:05<00:02, 137MB/s]
Downloading data:  72%|#######2  | 699M/970M [00:05<00:01, 137MB/s]
Downloading data:  73%|#######3  | 713M/970M [00:05<00:01, 137MB/s]
Downloading data:  75%|#######4  | 727M/970M [00:05<00:01, 137MB/s]
Downloading data:  76%|#######6  | 740M/970M [00:05<00:01, 137MB/s]
Downloading data:  78%|#######7  | 754M/970M [00:05<00:01, 137MB/s]
Downloading data:  79%|#######9  | 768M/970M [00:05<00:01, 137MB/s]
Downloading data:  81%|########  | 782M/970M [00:05<00:01, 137MB/s]
Downloading data:  82%|########1 | 795M/970M [00:05<00:01, 137MB/s]
Downloading data:  83%|########3 | 809M/970M [00:05<00:01, 137MB/s]
Downloading data:  85%|########4 | 823M/970M [00:06<00:01, 137MB/s]
Downloading data:  86%|########6 | 837M/970M [00:06<00:00, 137MB/s]
Downloading data:  88%|########7 | 850M/970M [00:06<00:00, 137MB/s]
Downloading data:  89%|########9 | 864M/970M [00:06<00:00, 137MB/s]
Downloading data:  90%|######### | 878M/970M [00:06<00:00, 137MB/s]
Downloading data:  92%|#########1| 892M/970M [00:06<00:00, 137MB/s]
Downloading data:  93%|#########3| 905M/970M [00:06<00:00, 137MB/s]
Downloading data:  95%|#########4| 919M/970M [00:06<00:00, 137MB/s]
Downloading data:  96%|#########6| 933M/970M [00:06<00:00, 137MB/s]
Downloading data:  98%|#########7| 947M/970M [00:06<00:00, 138MB/s]
Downloading data:  99%|#########8| 960M/970M [00:07<00:00, 138MB/s]
Downloading data: 100%|##########| 970M/970M [00:07<00:00, 137MB/s]

Generating train split:   0%|          | 0/34602 [00:00<?, ? examples/s]
Generating train split:   0%|          | 1/34602 [00:00<5:16:14,  1.82 examples/s]
Generating train split:   2%|2         | 756/34602 [00:00<00:21, 1561.42 examples/s]
Generating train split:   4%|4         | 1420/34602 [00:00<00:12, 2718.03 examples/s]
Generating train split:   6%|6         | 2133/34602 [00:00<00:08, 3800.53 examples/s]
Generating train split:   8%|8         | 2924/34602 [00:00<00:06, 4867.35 examples/s]
Generating train split:  10%|#         | 3627/34602 [00:01<00:05, 5451.70 examples/s]
Generating train split:  13%|#2        | 4399/34602 [00:01<00:05, 5939.05 examples/s]
Generating train split:  15%|#4        | 5102/34602 [00:01<00:04, 6243.61 examples/s]
Generating train split:  17%|#7        | 5893/34602 [00:01<00:04, 6717.83 examples/s]
Generating train split:  20%|##        | 6994/34602 [00:01<00:03, 6949.37 examples/s]
Generating train split:  23%|##3       | 8014/34602 [00:01<00:03, 6895.40 examples/s]
Generating train split:  25%|##5       | 8815/34602 [00:01<00:03, 7171.42 examples/s]
Generating train split:  29%|##8       | 9932/34602 [00:01<00:03, 7262.97 examples/s]
Generating train split:  32%|###1      | 11000/34602 [00:02<00:03, 7067.25 examples/s]
Generating train split:  34%|###4      | 11788/34602 [00:02<00:03, 7257.01 examples/s]
Generating train split:  37%|###7      | 12855/34602 [00:02<00:03, 7204.19 examples/s]
Generating train split:  40%|####      | 13983/34602 [00:02<00:02, 7304.43 examples/s]
Generating train split:  43%|####3     | 15000/34602 [00:02<00:02, 7110.31 examples/s]
Generating train split:  46%|####5     | 15807/34602 [00:02<00:02, 7330.40 examples/s]
Generating train split:  49%|####8     | 16939/34602 [00:02<00:02, 7399.15 examples/s]
Generating train split:  52%|#####2    | 18000/34602 [00:03<00:02, 7193.21 examples/s]
Generating train split:  54%|#####4    | 18788/34602 [00:03<00:02, 7349.53 examples/s]
Generating train split:  57%|#####7    | 19836/34602 [00:03<00:02, 7225.46 examples/s]
Generating train split:  60%|######    | 20874/34602 [00:03<00:01, 7123.86 examples/s]
Generating train split:  63%|######3   | 21898/34602 [00:03<00:01, 7026.79 examples/s]
Generating train split:  66%|######6   | 22917/34602 [00:03<00:01, 6951.42 examples/s]
Generating train split:  69%|######9   | 23938/34602 [00:03<00:01, 6904.00 examples/s]
Generating train split:  72%|#######2  | 24984/34602 [00:04<00:01, 6919.77 examples/s]
Generating train split:  75%|#######5  | 26000/34602 [00:04<00:01, 6794.36 examples/s]
Generating train split:  77%|#######7  | 26799/34602 [00:04<00:01, 7058.45 examples/s]
Generating train split:  81%|########  | 27916/34602 [00:04<00:00, 7178.85 examples/s]
Generating train split:  84%|########3 | 29000/34602 [00:04<00:00, 7025.24 examples/s]
Generating train split:  86%|########6 | 29781/34602 [00:04<00:00, 7200.83 examples/s]
Generating train split:  89%|########9 | 30873/34602 [00:04<00:00, 7224.30 examples/s]
Generating train split:  92%|#########2| 31972/34602 [00:04<00:00, 7255.00 examples/s]
Generating train split:  95%|#########5| 33000/34602 [00:05<00:00, 7066.81 examples/s]
Generating train split:  98%|#########7| 33769/34602 [00:05<00:00, 7206.59 examples/s]
Generating train split: 100%|##########| 34602/34602 [00:05<00:00, 6533.47 examples/s]
Generating train split: 100%|##########| 34602/34602 [00:05<00:00, 6384.03 examples/s]

Generating validation split:   0%|          | 0/5000 [00:00<?, ? examples/s]
Generating validation split:  12%|#1        | 587/5000 [00:00<00:00, 5850.78 examples/s]
Generating validation split:  25%|##5       | 1266/5000 [00:00<00:00, 6396.96 examples/s]
Generating validation split:  40%|####      | 2000/5000 [00:00<00:00, 6660.35 examples/s]
Generating validation split:  56%|#####5    | 2784/5000 [00:00<00:00, 7115.67 examples/s]
Generating validation split:  77%|#######7  | 3867/5000 [00:00<00:00, 7162.50 examples/s]
Generating validation split:  99%|#########9| 4952/5000 [00:00<00:00, 7186.37 examples/s]
Generating validation split: 100%|##########| 5000/5000 [00:00<00:00, 6859.03 examples/s]

Generating test split:   0%|          | 0/5734 [00:00<?, ? examples/s]
Generating test split:  12%|#1        | 673/5734 [00:00<00:00, 6704.45 examples/s]
Generating test split:  25%|##4       | 1411/5734 [00:00<00:00, 6930.83 examples/s]
Generating test split:  37%|###7      | 2133/5734 [00:00<00:00, 7058.04 examples/s]
Generating test split:  51%|#####1    | 2952/5734 [00:00<00:00, 7498.13 examples/s]
Generating test split:  70%|######9   | 4000/5734 [00:00<00:00, 7257.65 examples/s]
Generating test split:  84%|########3 | 4805/5734 [00:00<00:00, 7494.13 examples/s]
Generating test split: 100%|##########| 5734/5734 [00:00<00:00, 7405.69 examples/s]
Generating test split: 100%|##########| 5734/5734 [00:00<00:00, 7230.22 examples/s]

让我们显示数据集中的一个样本条目

import matplotlib.pyplot as plt
import numpy as np
idx = 5
print("Question: ", dataset["train"][idx]["question"])
print("Answers: " ,dataset["train"][idx]["answers"])
im = np.asarray(dataset["train"][idx]["image"].resize((500,500)))
plt.imshow(im)
plt.show()
flava finetuning tutorial
Question:  what year is shown in the photo?
Answers:  ['2011', '2011', '2011', '2011', '2011', '2011', '2011', '2011', '2011', '2011']

3. 接下来,我们编写转换函数,将图像和文本转换为模型可使用的张量 - 对于图像,我们使用 torchvision 中的变换将其转换为张量并调整大小为统一尺寸 - 对于文本,我们使用 Hugging Face 的 BertTokenizer 对其进行分词(并填充) - 对于答案(即标签),我们选择出现频率最高的答案作为训练标签

import torch
from torchvision import transforms
from collections import defaultdict
from transformers import BertTokenizer
from functools import partial

def transform(tokenizer, input):
  batch = {}
  image_transform = transforms.Compose([transforms.ToTensor(), transforms.Resize([224,224])])
  image = image_transform(input["image"][0].convert("RGB"))
  batch["image"] = [image]

  tokenized=tokenizer(input["question"],return_tensors='pt',padding="max_length",max_length=512)
  batch.update(tokenized)


  ans_to_count = defaultdict(int)
  for ans in input["answers"][0]:
    ans_to_count[ans] += 1
  max_value = max(ans_to_count, key=ans_to_count.get)
  ans_idx = answer_to_idx.get(max_value,0)
  batch["answers"] = torch.as_tensor([ans_idx])
  return batch

tokenizer=BertTokenizer.from_pretrained("bert-base-uncased",padding="max_length",max_length=512)
transform=partial(transform,tokenizer)
dataset.set_transform(transform)

4. 最后,我们从 torchmultimodal 中导入 flava_model_for_classification。它默认加载预训练的 FLAVA 检查点,并包含一个分类头。

模型的正向传播函数将图像通过视觉编码器,问题通过文本编码器。图像和问题的嵌入随后通过多模态编码器。对应于 CLS token 的最终嵌入通过一个 MLP 头,该 MLP 头最终给出每个可能答案的概率分布。

from torchmultimodal.models.flava.model import flava_model_for_classification
model = flava_model_for_classification(num_classes=len(vocab))
flava_for_pretraining_unified_text_encoder.pt: 0.00B [00:00, ?B/s]
flava_for_pretraining_unified_text_encoder.pt:   1%|          | 10.6M/1.43G [00:00<00:13, 105MB/s]
flava_for_pretraining_unified_text_encoder.pt:   2%|1         | 23.5M/1.43G [00:00<00:11, 119MB/s]
flava_for_pretraining_unified_text_encoder.pt:   4%|3         | 57.0M/1.43G [00:00<00:06, 218MB/s]
flava_for_pretraining_unified_text_encoder.pt:   7%|6         | 97.8M/1.43G [00:00<00:04, 293MB/s]
flava_for_pretraining_unified_text_encoder.pt:  10%|9         | 138M/1.43G [00:00<00:03, 334MB/s]
flava_for_pretraining_unified_text_encoder.pt:  13%|#2        | 179M/1.43G [00:00<00:03, 358MB/s]
flava_for_pretraining_unified_text_encoder.pt:  15%|#5        | 220M/1.43G [00:00<00:03, 374MB/s]
flava_for_pretraining_unified_text_encoder.pt:  18%|#8        | 260M/1.43G [00:00<00:03, 384MB/s]
flava_for_pretraining_unified_text_encoder.pt:  21%|##1       | 301M/1.43G [00:00<00:02, 391MB/s]
flava_for_pretraining_unified_text_encoder.pt:  24%|##3       | 342M/1.43G [00:01<00:02, 397MB/s]
flava_for_pretraining_unified_text_encoder.pt:  27%|##6       | 382M/1.43G [00:01<00:02, 400MB/s]
flava_for_pretraining_unified_text_encoder.pt:  30%|##9       | 423M/1.43G [00:01<00:02, 402MB/s]
flava_for_pretraining_unified_text_encoder.pt:  32%|###2      | 464M/1.43G [00:01<00:02, 404MB/s]
flava_for_pretraining_unified_text_encoder.pt:  35%|###5      | 504M/1.43G [00:01<00:02, 404MB/s]
flava_for_pretraining_unified_text_encoder.pt:  38%|###7      | 543M/1.43G [00:01<00:02, 398MB/s]
flava_for_pretraining_unified_text_encoder.pt:  41%|####      | 583M/1.43G [00:01<00:02, 400MB/s]
flava_for_pretraining_unified_text_encoder.pt:  44%|####3     | 624M/1.43G [00:01<00:02, 401MB/s]
flava_for_pretraining_unified_text_encoder.pt:  46%|####6     | 665M/1.43G [00:01<00:01, 404MB/s]
flava_for_pretraining_unified_text_encoder.pt:  49%|####9     | 706M/1.43G [00:01<00:01, 405MB/s]
flava_for_pretraining_unified_text_encoder.pt:  52%|#####2    | 746M/1.43G [00:02<00:01, 406MB/s]
flava_for_pretraining_unified_text_encoder.pt:  55%|#####4    | 785M/1.43G [00:02<00:01, 402MB/s]
flava_for_pretraining_unified_text_encoder.pt:  57%|#####6    | 811M/1.43G [00:02<00:01, 357MB/s]
flava_for_pretraining_unified_text_encoder.pt:  58%|#####7    | 829M/1.43G [00:02<00:01, 306MB/s]
flava_for_pretraining_unified_text_encoder.pt:  60%|######    | 862M/1.43G [00:02<00:01, 311MB/s]
flava_for_pretraining_unified_text_encoder.pt:  63%|######2   | 900M/1.43G [00:02<00:01, 331MB/s]
flava_for_pretraining_unified_text_encoder.pt:  66%|######5   | 940M/1.43G [00:02<00:01, 354MB/s]
flava_for_pretraining_unified_text_encoder.pt:  69%|######8   | 980M/1.43G [00:02<00:01, 368MB/s]
flava_for_pretraining_unified_text_encoder.pt:  71%|#######1  | 1.02G/1.43G [00:02<00:01, 365MB/s]
flava_for_pretraining_unified_text_encoder.pt:  74%|#######3  | 1.06G/1.43G [00:02<00:00, 376MB/s]
flava_for_pretraining_unified_text_encoder.pt:  77%|#######6  | 1.10G/1.43G [00:03<00:00, 384MB/s]
flava_for_pretraining_unified_text_encoder.pt:  79%|#######9  | 1.13G/1.43G [00:03<00:00, 379MB/s]
flava_for_pretraining_unified_text_encoder.pt:  82%|########1 | 1.17G/1.43G [00:03<00:00, 369MB/s]
flava_for_pretraining_unified_text_encoder.pt:  84%|########4 | 1.21G/1.43G [00:03<00:00, 380MB/s]
flava_for_pretraining_unified_text_encoder.pt:  87%|########7 | 1.25G/1.43G [00:03<00:00, 388MB/s]
flava_for_pretraining_unified_text_encoder.pt:  90%|########9 | 1.29G/1.43G [00:03<00:00, 385MB/s]
flava_for_pretraining_unified_text_encoder.pt:  93%|#########2| 1.33G/1.43G [00:03<00:00, 389MB/s]
flava_for_pretraining_unified_text_encoder.pt:  95%|#########5| 1.37G/1.43G [00:03<00:00, 391MB/s]
flava_for_pretraining_unified_text_encoder.pt:  98%|#########8| 1.41G/1.43G [00:03<00:00, 393MB/s]
flava_for_pretraining_unified_text_encoder.pt: 1.43GB [00:03, 371MB/s]

5. 我们将数据集和模型放在一个简单的训练循环中,以演示如何训练模型 3 个迭代

from torch import nn
BATCH_SIZE = 2
MAX_STEPS = 3
from torch.utils.data import DataLoader

train_dataloader = DataLoader(dataset["train"], batch_size= BATCH_SIZE)
optimizer = torch.optim.AdamW(model.parameters())


epochs = 1
for _ in range(epochs):
  for idx, batch in enumerate(train_dataloader):
    optimizer.zero_grad()
    out = model(text = batch["input_ids"], image = batch["image"], labels = batch["answers"])
    loss = out.loss
    loss.backward()
    optimizer.step()
    print(f"Loss at step {idx} = {loss}")
    if idx >= MAX_STEPS-1:
      break
Loss at step 0 = 8.31214427947998
Loss at step 1 = 8.427092552185059
Loss at step 2 = 8.25987720489502

结论

本教程介绍了如何使用 TorchMultimodal 中的 FLAVA 在多模态任务上进行微调的基础知识。请同时查看库中的其他示例,例如用于目标检测的多模态模型 MDETR 以及涵盖图像、视频和 3D 分类的多任务模型 Omnivore

脚本总运行时间: ( 1 分 57.472 秒)

由 Sphinx-Gallery 生成的图库

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源