Note
Go to the end to download the full example code.
Tutorial for Human Pose Estimation¶
In[1]:
import yaml
import torch
import torch.nn as nn
from tqdm import tqdm
import os
Dataset with MetaFi:¶
Point cloud Pose reconstruction dataset collected by Ti 6843 mmWave radar. 40 subjects are included and the human poses are obtained by 2 RGB camera. We provide cross-subject experiment settings with all daily activities. In the library, we provide a dataloader to use mmWave PC data, and predict these human poses.
Load the data¶
In[3]:
from pysensing.mmwave.PC.dataset.hpe import load_hpe_dataset
# The path contains the radHAR dataset
train_dataset, test_dataset = load_hpe_dataset("MetaFi")
Try to download MetaFi dateset in /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/mmfi
Downloading MetaFi to /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/mmfi.zip...
Downloading: 0%| | 0.00/260M [00:00<?, ?iB/s]
Downloading: 0%| | 410k/260M [00:00<01:07, 3.86MiB/s]
Downloading: 0%| | 1.08M/260M [00:00<00:47, 5.46MiB/s]
Downloading: 1%| | 1.74M/260M [00:00<00:43, 5.88MiB/s]
Downloading: 1%| | 2.33M/260M [00:00<00:51, 5.01MiB/s]
Downloading: 1%| | 2.85M/260M [00:00<00:57, 4.50MiB/s]
Downloading: 1%|▏ | 3.31M/260M [00:00<01:08, 3.75MiB/s]
Downloading: 1%|▏ | 3.71M/260M [00:00<01:23, 3.08MiB/s]
Downloading: 2%|▏ | 4.05M/260M [00:01<02:06, 2.01MiB/s]
Downloading: 2%|▏ | 4.31M/260M [00:01<02:39, 1.60MiB/s]
Downloading: 2%|▏ | 4.51M/260M [00:01<03:16, 1.30MiB/s]
Downloading: 2%|▏ | 4.68M/260M [00:02<03:41, 1.15MiB/s]
Downloading: 2%|▏ | 4.82M/260M [00:02<04:10, 1.02MiB/s]
Downloading: 2%|▏ | 4.93M/260M [00:02<04:18, 986kiB/s]
Downloading: 2%|▏ | 5.04M/260M [00:02<04:19, 982kiB/s]
Downloading: 2%|▏ | 5.15M/260M [00:02<04:55, 862kiB/s]
Downloading: 2%|▏ | 5.24M/260M [00:02<05:06, 830kiB/s]
Downloading: 2%|▏ | 5.32M/260M [00:02<05:06, 828kiB/s]
Downloading: 2%|▏ | 5.41M/260M [00:03<05:22, 787kiB/s]
Downloading: 2%|▏ | 5.51M/260M [00:03<05:19, 795kiB/s]
Downloading: 2%|▏ | 5.59M/260M [00:03<05:26, 777kiB/s]
Downloading: 2%|▏ | 5.67M/260M [00:03<05:47, 730kiB/s]
Downloading: 2%|▏ | 5.78M/260M [00:03<05:14, 806kiB/s]
Downloading: 2%|▏ | 5.87M/260M [00:03<05:24, 783kiB/s]
Downloading: 2%|▏ | 5.95M/260M [00:03<05:35, 756kiB/s]
Downloading: 2%|▏ | 6.02M/260M [00:03<05:34, 759kiB/s]
Downloading: 2%|▏ | 6.10M/260M [00:04<05:59, 706kiB/s]
Downloading: 2%|▏ | 6.18M/260M [00:04<06:02, 699kiB/s]
Downloading: 2%|▏ | 6.28M/260M [00:04<05:38, 748kiB/s]
Downloading: 2%|▏ | 6.37M/260M [00:04<05:29, 769kiB/s]
Downloading: 2%|▏ | 6.46M/260M [00:04<05:50, 722kiB/s]
Downloading: 3%|▎ | 6.55M/260M [00:04<05:28, 770kiB/s]
Downloading: 3%|▎ | 6.63M/260M [00:04<05:40, 743kiB/s]
Downloading: 3%|▎ | 6.71M/260M [00:04<05:57, 708kiB/s]
Downloading: 3%|▎ | 6.78M/260M [00:04<06:01, 699kiB/s]
Downloading: 3%|▎ | 6.86M/260M [00:05<06:05, 691kiB/s]
Downloading: 3%|▎ | 6.93M/260M [00:05<09:20, 451kiB/s]
Downloading: 3%|▎ | 6.99M/260M [00:06<18:48, 224kiB/s]
Downloading: 3%|▎ | 7.03M/260M [00:06<17:36, 239kiB/s]
Downloading: 3%|▎ | 7.07M/260M [00:06<20:38, 204kiB/s]
Downloading: 3%|▎ | 7.10M/260M [00:07<31:19, 134kiB/s]
Downloading: 3%|▎ | 7.13M/260M [00:07<36:30, 115kiB/s]
Downloading: 3%|▎ | 7.15M/260M [00:07<39:52, 105kiB/s]
Downloading: 3%|▎ | 7.16M/260M [00:07<38:59, 108kiB/s]
Downloading: 3%|▎ | 7.18M/260M [00:07<39:23, 107kiB/s]
Downloading: 3%|▎ | 7.21M/260M [00:08<33:15, 126kiB/s]
Downloading: 3%|▎ | 7.24M/260M [00:08<26:48, 157kiB/s]
Downloading: 3%|▎ | 7.27M/260M [00:08<24:16, 173kiB/s]
Downloading: 3%|▎ | 7.32M/260M [00:08<19:09, 219kiB/s]
Downloading: 3%|▎ | 7.35M/260M [00:08<26:51, 156kiB/s]
Downloading: 3%|▎ | 7.39M/260M [00:08<23:30, 179kiB/s]
Downloading: 3%|▎ | 7.45M/260M [00:09<16:35, 253kiB/s]
Downloading: 3%|▎ | 7.52M/260M [00:09<12:43, 330kiB/s]
Downloading: 3%|▎ | 7.59M/260M [00:09<10:54, 385kiB/s]
Downloading: 3%|▎ | 7.65M/260M [00:09<09:22, 447kiB/s]
Downloading: 3%|▎ | 7.73M/260M [00:09<08:01, 522kiB/s]
Downloading: 3%|▎ | 7.80M/260M [00:09<07:57, 527kiB/s]
Downloading: 3%|▎ | 7.88M/260M [00:09<07:05, 591kiB/s]
Downloading: 3%|▎ | 7.96M/260M [00:09<06:37, 632kiB/s]
Downloading: 3%|▎ | 8.03M/260M [00:10<07:30, 559kiB/s]
Downloading: 3%|▎ | 8.09M/260M [00:10<08:40, 483kiB/s]
Downloading: 3%|▎ | 8.18M/260M [00:10<07:14, 578kiB/s]
Downloading: 3%|▎ | 8.27M/260M [00:10<06:25, 652kiB/s]
Downloading: 3%|▎ | 8.44M/260M [00:10<04:40, 895kiB/s]
Downloading: 3%|▎ | 8.60M/260M [00:10<03:53, 1.07MiB/s]
Downloading: 3%|▎ | 8.80M/260M [00:10<03:11, 1.31MiB/s]
Downloading: 3%|▎ | 8.95M/260M [00:10<03:14, 1.29MiB/s]
Downloading: 4%|▎ | 9.22M/260M [00:10<02:30, 1.67MiB/s]
Downloading: 4%|▎ | 9.40M/260M [00:11<02:31, 1.65MiB/s]
Downloading: 4%|▍ | 9.75M/260M [00:11<01:56, 2.15MiB/s]
Downloading: 4%|▍ | 9.97M/260M [00:11<01:57, 2.13MiB/s]
Downloading: 4%|▍ | 10.2M/260M [00:11<02:00, 2.07MiB/s]
Downloading: 4%|▍ | 10.4M/260M [00:11<02:07, 1.95MiB/s]
Downloading: 4%|▍ | 10.6M/260M [00:11<02:22, 1.75MiB/s]
Downloading: 4%|▍ | 10.8M/260M [00:11<02:18, 1.79MiB/s]
Downloading: 4%|▍ | 11.0M/260M [00:11<02:31, 1.64MiB/s]
Downloading: 4%|▍ | 11.2M/260M [00:11<02:34, 1.61MiB/s]
Downloading: 4%|▍ | 11.4M/260M [00:12<02:26, 1.69MiB/s]
Downloading: 4%|▍ | 11.6M/260M [00:12<02:27, 1.69MiB/s]
Downloading: 5%|▍ | 11.7M/260M [00:12<02:30, 1.64MiB/s]
Downloading: 5%|▍ | 11.9M/260M [00:12<03:04, 1.35MiB/s]
Downloading: 5%|▍ | 12.0M/260M [00:12<03:01, 1.36MiB/s]
Downloading: 5%|▍ | 12.2M/260M [00:12<03:09, 1.30MiB/s]
Downloading: 5%|▍ | 12.3M/260M [00:12<03:11, 1.29MiB/s]
Downloading: 5%|▍ | 12.5M/260M [00:13<03:43, 1.11MiB/s]
Downloading: 5%|▍ | 12.6M/260M [00:13<03:54, 1.05MiB/s]
Downloading: 5%|▍ | 12.7M/260M [00:13<03:59, 1.03MiB/s]
Downloading: 5%|▍ | 12.8M/260M [00:13<04:19, 951kiB/s]
Downloading: 5%|▍ | 12.9M/260M [00:13<04:30, 911kiB/s]
Downloading: 5%|▌ | 13.0M/260M [00:13<04:30, 911kiB/s]
Downloading: 5%|▌ | 13.1M/260M [00:13<04:46, 861kiB/s]
Downloading: 5%|▌ | 13.2M/260M [00:13<04:39, 881kiB/s]
Downloading: 5%|▌ | 13.3M/260M [00:13<04:19, 949kiB/s]
Downloading: 5%|▌ | 13.4M/260M [00:14<04:52, 840kiB/s]
Downloading: 5%|▌ | 13.5M/260M [00:14<04:44, 866kiB/s]
Downloading: 5%|▌ | 13.6M/260M [00:14<04:40, 877kiB/s]
Downloading: 5%|▌ | 13.7M/260M [00:14<04:41, 874kiB/s]
Downloading: 5%|▌ | 13.8M/260M [00:14<04:14, 967kiB/s]
Downloading: 5%|▌ | 13.9M/260M [00:14<04:28, 916kiB/s]
Downloading: 5%|▌ | 14.0M/260M [00:14<04:21, 939kiB/s]
Downloading: 5%|▌ | 14.1M/260M [00:14<04:16, 957kiB/s]
Downloading: 5%|▌ | 14.3M/260M [00:14<04:08, 988kiB/s]
Downloading: 6%|▌ | 14.4M/260M [00:15<04:11, 975kiB/s]
Downloading: 6%|▌ | 14.5M/260M [00:15<03:41, 1.11MiB/s]
Downloading: 6%|▌ | 14.6M/260M [00:15<03:29, 1.17MiB/s]
Downloading: 6%|▌ | 14.8M/260M [00:15<03:39, 1.12MiB/s]
Downloading: 6%|▌ | 14.9M/260M [00:15<03:48, 1.07MiB/s]
Downloading: 6%|▌ | 15.0M/260M [00:15<04:01, 1.01MiB/s]
Downloading: 6%|▌ | 15.1M/260M [00:15<04:26, 919kiB/s]
Downloading: 6%|▌ | 15.2M/260M [00:15<04:39, 873kiB/s]
Downloading: 6%|▌ | 15.3M/260M [00:16<04:46, 852kiB/s]
Downloading: 6%|▌ | 15.4M/260M [00:16<04:42, 864kiB/s]
Downloading: 6%|▌ | 15.5M/260M [00:16<04:38, 878kiB/s]
Downloading: 6%|▌ | 15.6M/260M [00:16<04:37, 878kiB/s]
Downloading: 6%|▌ | 15.7M/260M [00:16<05:05, 798kiB/s]
Downloading: 6%|▌ | 15.7M/260M [00:16<05:02, 806kiB/s]
Downloading: 6%|▌ | 15.9M/260M [00:16<04:34, 886kiB/s]
Downloading: 6%|▌ | 16.0M/260M [00:16<04:10, 974kiB/s]
Downloading: 6%|▌ | 16.1M/260M [00:16<03:54, 1.04MiB/s]
Downloading: 6%|▋ | 16.2M/260M [00:17<04:05, 992kiB/s]
Downloading: 6%|▋ | 16.3M/260M [00:17<04:05, 990kiB/s]
Downloading: 6%|▋ | 16.4M/260M [00:17<04:05, 991kiB/s]
Downloading: 6%|▋ | 16.5M/260M [00:17<04:06, 984kiB/s]
Downloading: 6%|▋ | 16.6M/260M [00:17<04:24, 919kiB/s]
Downloading: 6%|▋ | 16.8M/260M [00:17<04:10, 969kiB/s]
Downloading: 7%|▋ | 16.9M/260M [00:17<03:44, 1.08MiB/s]
Downloading: 7%|▋ | 17.1M/260M [00:17<03:28, 1.17MiB/s]
Downloading: 7%|▋ | 17.2M/260M [00:17<03:42, 1.09MiB/s]
Downloading: 7%|▋ | 17.3M/260M [00:18<03:42, 1.09MiB/s]
Downloading: 7%|▋ | 17.4M/260M [00:18<03:56, 1.02MiB/s]
Downloading: 7%|▋ | 17.5M/260M [00:18<04:24, 917kiB/s]
Downloading: 7%|▋ | 17.6M/260M [00:18<03:57, 1.02MiB/s]
Downloading: 7%|▋ | 17.8M/260M [00:18<03:51, 1.05MiB/s]
Downloading: 7%|▋ | 17.9M/260M [00:18<03:26, 1.17MiB/s]
Downloading: 7%|▋ | 18.1M/260M [00:18<03:20, 1.21MiB/s]
Downloading: 7%|▋ | 18.2M/260M [00:18<03:26, 1.17MiB/s]
Downloading: 7%|▋ | 18.3M/260M [00:19<03:41, 1.09MiB/s]
Downloading: 7%|▋ | 18.4M/260M [00:19<03:56, 1.02MiB/s]
Downloading: 7%|▋ | 18.5M/260M [00:19<04:21, 920kiB/s]
Downloading: 7%|▋ | 18.6M/260M [00:19<04:21, 921kiB/s]
Downloading: 7%|▋ | 18.7M/260M [00:19<04:30, 891kiB/s]
Downloading: 7%|▋ | 18.8M/260M [00:19<04:29, 895kiB/s]
Downloading: 7%|▋ | 18.9M/260M [00:19<04:24, 911kiB/s]
Downloading: 7%|▋ | 19.0M/260M [00:19<04:24, 908kiB/s]
Downloading: 7%|▋ | 19.2M/260M [00:19<04:16, 937kiB/s]
Downloading: 7%|▋ | 19.3M/260M [00:20<04:08, 966kiB/s]
Downloading: 7%|▋ | 19.4M/260M [00:20<09:41, 413kiB/s]
Downloading: 7%|▋ | 19.4M/260M [00:21<13:35, 294kiB/s]
Downloading: 8%|▊ | 19.5M/260M [00:21<14:46, 271kiB/s]
Downloading: 8%|▊ | 19.5M/260M [00:21<20:20, 197kiB/s]
Downloading: 8%|▊ | 19.6M/260M [00:22<22:33, 177kiB/s]
Downloading: 8%|▊ | 19.6M/260M [00:23<48:27, 82.5kiB/s]
Downloading: 8%|▊ | 19.6M/260M [00:23<46:33, 85.9kiB/s]
Downloading: 8%|▊ | 19.7M/260M [00:23<37:42, 106kiB/s]
Downloading: 8%|▊ | 19.7M/260M [00:23<28:28, 140kiB/s]
Downloading: 8%|▊ | 19.7M/260M [00:24<24:48, 161kiB/s]
Downloading: 8%|▊ | 19.8M/260M [00:24<22:42, 176kiB/s]
Downloading: 8%|▊ | 19.8M/260M [00:24<18:51, 212kiB/s]
Downloading: 8%|▊ | 19.9M/260M [00:24<15:47, 253kiB/s]
Downloading: 8%|▊ | 19.9M/260M [00:24<13:45, 290kiB/s]
Downloading: 8%|▊ | 20.0M/260M [00:24<12:46, 313kiB/s]
Downloading: 8%|▊ | 20.0M/260M [00:24<14:05, 283kiB/s]
Downloading: 8%|▊ | 20.1M/260M [00:24<12:01, 332kiB/s]
Downloading: 8%|▊ | 20.1M/260M [00:25<12:28, 320kiB/s]
Downloading: 8%|▊ | 20.1M/260M [00:25<11:42, 341kiB/s]
Downloading: 8%|▊ | 20.2M/260M [00:25<10:49, 368kiB/s]
Downloading: 8%|▊ | 20.3M/260M [00:25<08:30, 469kiB/s]
Downloading: 8%|▊ | 20.3M/260M [00:25<07:22, 540kiB/s]
Downloading: 8%|▊ | 20.4M/260M [00:25<07:20, 543kiB/s]
Downloading: 8%|▊ | 20.5M/260M [00:25<05:42, 698kiB/s]
Downloading: 8%|▊ | 20.7M/260M [00:25<04:10, 953kiB/s]
Downloading: 8%|▊ | 20.8M/260M [00:25<04:11, 949kiB/s]
Downloading: 8%|▊ | 21.0M/260M [00:26<03:56, 1.01MiB/s]
Downloading: 8%|▊ | 21.1M/260M [00:26<03:29, 1.14MiB/s]
Downloading: 8%|▊ | 21.3M/260M [00:26<02:58, 1.33MiB/s]
Downloading: 8%|▊ | 21.5M/260M [00:26<02:33, 1.55MiB/s]
Downloading: 8%|▊ | 21.7M/260M [00:26<02:35, 1.53MiB/s]
Downloading: 8%|▊ | 21.9M/260M [00:26<02:25, 1.64MiB/s]
Downloading: 9%|▊ | 22.2M/260M [00:26<02:10, 1.82MiB/s]
Downloading: 9%|▊ | 22.3M/260M [00:26<02:11, 1.81MiB/s]
Downloading: 9%|▉ | 22.8M/260M [00:26<01:32, 2.56MiB/s]
Downloading: 9%|▉ | 23.1M/260M [00:27<01:25, 2.76MiB/s]
Downloading: 9%|▉ | 23.4M/260M [00:27<01:27, 2.70MiB/s]
Downloading: 9%|▉ | 23.7M/260M [00:27<01:33, 2.52MiB/s]
Downloading: 9%|▉ | 24.1M/260M [00:27<01:25, 2.76MiB/s]
Downloading: 9%|▉ | 24.4M/260M [00:27<01:34, 2.49MiB/s]
Downloading: 10%|▉ | 24.8M/260M [00:27<01:25, 2.74MiB/s]
Downloading: 10%|▉ | 25.3M/260M [00:27<01:12, 3.24MiB/s]
Downloading: 10%|▉ | 25.8M/260M [00:27<01:07, 3.47MiB/s]
Downloading: 10%|█ | 26.2M/260M [00:28<01:04, 3.64MiB/s]
Downloading: 10%|█ | 26.6M/260M [00:28<01:01, 3.78MiB/s]
Downloading: 10%|█ | 27.1M/260M [00:28<00:58, 3.99MiB/s]
Downloading: 11%|█ | 27.6M/260M [00:28<00:56, 4.12MiB/s]
Downloading: 11%|█ | 28.3M/260M [00:28<00:49, 4.71MiB/s]
Downloading: 11%|█ | 28.8M/260M [00:28<00:52, 4.36MiB/s]
Downloading: 11%|█▏ | 29.2M/260M [00:28<00:51, 4.51MiB/s]
Downloading: 11%|█▏ | 29.7M/260M [00:28<00:52, 4.35MiB/s]
Downloading: 12%|█▏ | 30.2M/260M [00:28<00:52, 4.37MiB/s]
Downloading: 12%|█▏ | 30.7M/260M [00:29<00:55, 4.10MiB/s]
Downloading: 12%|█▏ | 31.4M/260M [00:29<00:56, 4.02MiB/s]
Downloading: 12%|█▏ | 32.1M/260M [00:29<00:51, 4.39MiB/s]
Downloading: 13%|█▎ | 33.1M/260M [00:29<00:40, 5.61MiB/s]
Downloading: 13%|█▎ | 33.7M/260M [00:29<00:41, 5.46MiB/s]
Downloading: 13%|█▎ | 34.2M/260M [00:29<00:41, 5.44MiB/s]
Downloading: 13%|█▎ | 34.8M/260M [00:29<00:43, 5.11MiB/s]
Downloading: 14%|█▎ | 35.5M/260M [00:29<00:42, 5.26MiB/s]
Downloading: 14%|█▍ | 36.2M/260M [00:30<00:38, 5.85MiB/s]
Downloading: 14%|█▍ | 36.9M/260M [00:30<00:36, 6.18MiB/s]
Downloading: 14%|█▍ | 37.6M/260M [00:30<00:41, 5.37MiB/s]
Downloading: 15%|█▍ | 38.1M/260M [00:30<00:46, 4.79MiB/s]
Downloading: 15%|█▌ | 39.0M/260M [00:30<00:41, 5.37MiB/s]
Downloading: 15%|█▌ | 39.6M/260M [00:30<00:41, 5.35MiB/s]
Downloading: 15%|█▌ | 40.1M/260M [00:30<00:41, 5.35MiB/s]
Downloading: 16%|█▌ | 40.6M/260M [00:30<00:45, 4.77MiB/s]
Downloading: 16%|█▌ | 41.2M/260M [00:31<00:44, 4.85MiB/s]
Downloading: 16%|█▌ | 41.7M/260M [00:31<00:52, 4.18MiB/s]
Downloading: 16%|█▋ | 42.6M/260M [00:31<00:42, 5.15MiB/s]
Downloading: 17%|█▋ | 43.1M/260M [00:31<00:47, 4.51MiB/s]
Downloading: 17%|█▋ | 43.6M/260M [00:31<00:48, 4.47MiB/s]
Downloading: 17%|█▋ | 44.2M/260M [00:31<00:43, 4.90MiB/s]
Downloading: 17%|█▋ | 44.7M/260M [00:31<00:46, 4.65MiB/s]
Downloading: 17%|█▋ | 45.2M/260M [00:31<00:52, 4.12MiB/s]
Downloading: 18%|█▊ | 45.9M/260M [00:32<00:46, 4.63MiB/s]
Downloading: 18%|█▊ | 46.4M/260M [00:32<00:52, 4.07MiB/s]
Downloading: 18%|█▊ | 46.8M/260M [00:32<00:57, 3.71MiB/s]
Downloading: 18%|█▊ | 47.3M/260M [00:32<00:53, 3.96MiB/s]
Downloading: 18%|█▊ | 47.7M/260M [00:32<00:55, 3.84MiB/s]
Downloading: 19%|█▊ | 48.3M/260M [00:32<00:50, 4.14MiB/s]
Downloading: 19%|█▉ | 49.1M/260M [00:32<00:40, 5.14MiB/s]
Downloading: 19%|█▉ | 49.7M/260M [00:32<00:44, 4.69MiB/s]
Downloading: 19%|█▉ | 50.2M/260M [00:33<00:48, 4.28MiB/s]
Downloading: 20%|█▉ | 50.7M/260M [00:33<00:50, 4.12MiB/s]
Downloading: 20%|█▉ | 51.5M/260M [00:33<00:42, 4.89MiB/s]
Downloading: 20%|██ | 52.0M/260M [00:33<00:42, 4.84MiB/s]
Downloading: 20%|██ | 52.5M/260M [00:33<00:45, 4.59MiB/s]
Downloading: 20%|██ | 53.0M/260M [00:33<00:48, 4.30MiB/s]
Downloading: 21%|██ | 53.4M/260M [00:33<00:58, 3.50MiB/s]
Downloading: 21%|██ | 53.8M/260M [00:34<01:01, 3.32MiB/s]
Downloading: 21%|██ | 54.2M/260M [00:34<01:01, 3.35MiB/s]
Downloading: 21%|██ | 54.5M/260M [00:34<01:10, 2.92MiB/s]
Downloading: 21%|██ | 54.8M/260M [00:34<01:14, 2.76MiB/s]
Downloading: 21%|██▏ | 55.2M/260M [00:34<01:09, 2.94MiB/s]
Downloading: 21%|██▏ | 55.5M/260M [00:34<01:09, 2.95MiB/s]
Downloading: 21%|██▏ | 55.8M/260M [00:34<01:14, 2.73MiB/s]
Downloading: 22%|██▏ | 56.1M/260M [00:34<01:17, 2.63MiB/s]
Downloading: 22%|██▏ | 56.4M/260M [00:35<01:16, 2.66MiB/s]
Downloading: 22%|██▏ | 56.6M/260M [00:35<01:16, 2.67MiB/s]
Downloading: 22%|██▏ | 56.9M/260M [00:35<01:21, 2.48MiB/s]
Downloading: 22%|██▏ | 57.2M/260M [00:35<01:24, 2.41MiB/s]
Downloading: 22%|██▏ | 57.5M/260M [00:35<01:15, 2.66MiB/s]
Downloading: 22%|██▏ | 57.8M/260M [00:35<01:29, 2.24MiB/s]
Downloading: 22%|██▏ | 58.1M/260M [00:35<01:26, 2.33MiB/s]
Downloading: 22%|██▏ | 58.4M/260M [00:35<01:22, 2.45MiB/s]
Downloading: 23%|██▎ | 58.7M/260M [00:35<01:18, 2.55MiB/s]
Downloading: 23%|██▎ | 58.9M/260M [00:36<01:17, 2.59MiB/s]
Downloading: 23%|██▎ | 59.2M/260M [00:36<01:24, 2.36MiB/s]
Downloading: 23%|██▎ | 59.5M/260M [00:36<01:24, 2.38MiB/s]
Downloading: 23%|██▎ | 59.8M/260M [00:36<01:30, 2.20MiB/s]
Downloading: 23%|██▎ | 60.1M/260M [00:36<01:24, 2.36MiB/s]
Downloading: 23%|██▎ | 60.3M/260M [00:36<01:24, 2.35MiB/s]
Downloading: 23%|██▎ | 60.6M/260M [00:36<01:18, 2.54MiB/s]
Downloading: 23%|██▎ | 60.9M/260M [00:36<01:17, 2.55MiB/s]
Downloading: 24%|██▎ | 61.2M/260M [00:37<01:31, 2.18MiB/s]
Downloading: 24%|██▎ | 61.4M/260M [00:37<01:30, 2.18MiB/s]
Downloading: 24%|██▍ | 61.7M/260M [00:37<01:34, 2.10MiB/s]
Downloading: 24%|██▍ | 62.0M/260M [00:37<01:25, 2.30MiB/s]
Downloading: 24%|██▍ | 62.2M/260M [00:37<01:29, 2.20MiB/s]
Downloading: 24%|██▍ | 62.4M/260M [00:37<01:35, 2.07MiB/s]
Downloading: 24%|██▍ | 62.7M/260M [00:37<01:32, 2.12MiB/s]
Downloading: 24%|██▍ | 62.9M/260M [00:37<01:33, 2.10MiB/s]
Downloading: 24%|██▍ | 63.1M/260M [00:37<01:35, 2.06MiB/s]
Downloading: 24%|██▍ | 63.3M/260M [00:38<01:40, 1.95MiB/s]
Downloading: 24%|██▍ | 63.5M/260M [00:38<01:42, 1.92MiB/s]
Downloading: 25%|██▍ | 63.7M/260M [00:38<01:45, 1.87MiB/s]
Downloading: 25%|██▍ | 63.9M/260M [00:38<01:44, 1.88MiB/s]
Downloading: 25%|██▍ | 64.1M/260M [00:38<01:36, 2.02MiB/s]
Downloading: 25%|██▍ | 64.4M/260M [00:38<01:35, 2.05MiB/s]
Downloading: 25%|██▍ | 64.6M/260M [00:38<01:34, 2.07MiB/s]
Downloading: 25%|██▍ | 64.8M/260M [00:38<01:38, 1.98MiB/s]
Downloading: 25%|██▌ | 65.0M/260M [00:38<01:36, 2.01MiB/s]
Downloading: 25%|██▌ | 65.2M/260M [00:39<01:52, 1.73MiB/s]
Downloading: 25%|██▌ | 65.4M/260M [00:39<02:00, 1.61MiB/s]
Downloading: 25%|██▌ | 65.5M/260M [00:39<02:02, 1.58MiB/s]
Downloading: 25%|██▌ | 65.7M/260M [00:39<02:00, 1.60MiB/s]
Downloading: 25%|██▌ | 65.9M/260M [00:39<02:05, 1.54MiB/s]
Downloading: 25%|██▌ | 66.1M/260M [00:39<01:49, 1.76MiB/s]
Downloading: 26%|██▌ | 66.3M/260M [00:39<01:57, 1.64MiB/s]
Downloading: 26%|██▌ | 66.5M/260M [00:39<01:54, 1.68MiB/s]
Downloading: 26%|██▌ | 66.7M/260M [00:40<01:44, 1.84MiB/s]
Downloading: 26%|██▌ | 66.9M/260M [00:40<01:55, 1.67MiB/s]
Downloading: 26%|██▌ | 67.2M/260M [00:40<01:49, 1.76MiB/s]
Downloading: 26%|██▌ | 67.4M/260M [00:40<01:46, 1.80MiB/s]
Downloading: 26%|██▌ | 67.6M/260M [00:40<01:47, 1.79MiB/s]
Downloading: 26%|██▌ | 67.8M/260M [00:40<01:46, 1.79MiB/s]
Downloading: 26%|██▌ | 68.0M/260M [00:40<02:09, 1.48MiB/s]
Downloading: 26%|██▌ | 68.1M/260M [00:40<02:27, 1.30MiB/s]
Downloading: 26%|██▋ | 68.3M/260M [00:41<02:23, 1.33MiB/s]
Downloading: 26%|██▋ | 68.5M/260M [00:41<02:16, 1.40MiB/s]
Downloading: 26%|██▋ | 68.6M/260M [00:41<02:20, 1.36MiB/s]
Downloading: 27%|██▋ | 68.8M/260M [00:41<02:15, 1.41MiB/s]
Downloading: 27%|██▋ | 69.0M/260M [00:41<02:06, 1.50MiB/s]
Downloading: 27%|██▋ | 69.2M/260M [00:41<01:51, 1.71MiB/s]
Downloading: 27%|██▋ | 69.4M/260M [00:41<01:55, 1.65MiB/s]
Downloading: 27%|██▋ | 69.6M/260M [00:41<02:00, 1.58MiB/s]
Downloading: 27%|██▋ | 69.8M/260M [00:42<01:51, 1.70MiB/s]
Downloading: 27%|██▋ | 70.0M/260M [00:42<01:43, 1.83MiB/s]
Downloading: 27%|██▋ | 70.2M/260M [00:42<01:48, 1.74MiB/s]
Downloading: 27%|██▋ | 70.4M/260M [00:42<02:05, 1.51MiB/s]
Downloading: 27%|██▋ | 70.7M/260M [00:42<01:47, 1.76MiB/s]
Downloading: 27%|██▋ | 70.9M/260M [00:42<01:42, 1.83MiB/s]
Downloading: 27%|██▋ | 71.1M/260M [00:42<01:45, 1.78MiB/s]
Downloading: 27%|██▋ | 71.3M/260M [00:42<01:44, 1.80MiB/s]
Downloading: 28%|██▊ | 71.4M/260M [00:42<01:56, 1.61MiB/s]
Downloading: 28%|██▊ | 71.6M/260M [00:43<02:05, 1.50MiB/s]
Downloading: 28%|██▊ | 71.8M/260M [00:43<02:01, 1.54MiB/s]
Downloading: 28%|██▊ | 71.9M/260M [00:43<02:05, 1.50MiB/s]
Downloading: 28%|██▊ | 72.1M/260M [00:43<02:21, 1.33MiB/s]
Downloading: 28%|██▊ | 72.2M/260M [00:43<02:37, 1.19MiB/s]
Downloading: 28%|██▊ | 72.4M/260M [00:43<02:41, 1.16MiB/s]
Downloading: 28%|██▊ | 72.5M/260M [00:43<02:48, 1.11MiB/s]
Downloading: 28%|██▊ | 72.6M/260M [00:43<02:49, 1.10MiB/s]
Downloading: 28%|██▊ | 72.7M/260M [00:44<03:41, 845kiB/s]
Downloading: 28%|██▊ | 72.8M/260M [00:44<03:58, 782kiB/s]
Downloading: 28%|██▊ | 72.9M/260M [00:44<03:55, 791kiB/s]
Downloading: 28%|██▊ | 73.0M/260M [00:44<03:48, 817kiB/s]
Downloading: 28%|██▊ | 73.1M/260M [00:44<03:47, 818kiB/s]
Downloading: 28%|██▊ | 73.2M/260M [00:44<03:36, 863kiB/s]
Downloading: 28%|██▊ | 73.3M/260M [00:44<03:19, 933kiB/s]
Downloading: 28%|██▊ | 73.4M/260M [00:44<03:22, 919kiB/s]
Downloading: 28%|██▊ | 73.5M/260M [00:45<03:15, 951kiB/s]
Downloading: 28%|██▊ | 73.6M/260M [00:45<03:15, 950kiB/s]
Downloading: 28%|██▊ | 73.7M/260M [00:45<03:33, 872kiB/s]
Downloading: 28%|██▊ | 73.8M/260M [00:45<03:23, 911kiB/s]
Downloading: 28%|██▊ | 73.9M/260M [00:45<03:10, 972kiB/s]
Downloading: 29%|██▊ | 74.0M/260M [00:45<03:24, 906kiB/s]
Downloading: 29%|██▊ | 74.1M/260M [00:45<03:26, 898kiB/s]
Downloading: 29%|██▊ | 74.2M/260M [00:45<03:40, 840kiB/s]
Downloading: 29%|██▊ | 74.3M/260M [00:45<03:37, 853kiB/s]
Downloading: 29%|██▊ | 74.4M/260M [00:46<03:50, 804kiB/s]
Downloading: 29%|██▊ | 74.5M/260M [00:46<03:45, 822kiB/s]
Downloading: 29%|██▊ | 74.6M/260M [00:46<03:34, 864kiB/s]
Downloading: 29%|██▉ | 74.7M/260M [00:46<03:26, 897kiB/s]
Downloading: 29%|██▉ | 74.8M/260M [00:46<03:23, 910kiB/s]
Downloading: 29%|██▉ | 74.9M/260M [00:46<03:36, 851kiB/s]
Downloading: 29%|██▉ | 75.0M/260M [00:46<03:38, 846kiB/s]
Downloading: 29%|██▉ | 75.1M/260M [00:46<03:14, 948kiB/s]
Downloading: 29%|██▉ | 75.2M/260M [00:46<03:10, 967kiB/s]
Downloading: 29%|██▉ | 75.3M/260M [00:47<03:14, 948kiB/s]
Downloading: 29%|██▉ | 75.4M/260M [00:47<03:16, 939kiB/s]
Downloading: 29%|██▉ | 75.5M/260M [00:47<03:12, 957kiB/s]
Downloading: 29%|██▉ | 75.6M/260M [00:47<03:21, 915kiB/s]
Downloading: 29%|██▉ | 75.7M/260M [00:47<03:46, 811kiB/s]
Downloading: 29%|██▉ | 75.8M/260M [00:47<03:40, 834kiB/s]
Downloading: 29%|██▉ | 75.9M/260M [00:47<03:38, 839kiB/s]
Downloading: 29%|██▉ | 76.0M/260M [00:47<03:29, 876kiB/s]
Downloading: 29%|██▉ | 76.1M/260M [00:48<03:35, 851kiB/s]
Downloading: 29%|██▉ | 76.2M/260M [00:48<03:35, 851kiB/s]
Downloading: 29%|██▉ | 76.3M/260M [00:48<03:39, 837kiB/s]
Downloading: 29%|██▉ | 76.4M/260M [00:48<03:34, 853kiB/s]
Downloading: 29%|██▉ | 76.5M/260M [00:48<03:33, 857kiB/s]
Downloading: 30%|██▉ | 76.6M/260M [00:48<03:17, 926kiB/s]
Downloading: 30%|██▉ | 76.7M/260M [00:48<03:15, 936kiB/s]
Downloading: 30%|██▉ | 76.8M/260M [00:48<03:16, 931kiB/s]
Downloading: 30%|██▉ | 76.9M/260M [00:48<03:29, 874kiB/s]
Downloading: 30%|██▉ | 77.0M/260M [00:49<03:41, 826kiB/s]
Downloading: 30%|██▉ | 77.0M/260M [00:49<03:47, 804kiB/s]
Downloading: 30%|██▉ | 77.1M/260M [00:49<04:07, 737kiB/s]
Downloading: 30%|██▉ | 77.2M/260M [00:49<04:08, 733kiB/s]
Downloading: 30%|██▉ | 77.3M/260M [00:49<04:17, 708kiB/s]
Downloading: 30%|██▉ | 77.4M/260M [00:49<04:20, 700kiB/s]
Downloading: 30%|██▉ | 77.4M/260M [00:49<05:09, 589kiB/s]
Downloading: 30%|██▉ | 77.5M/260M [00:49<05:08, 591kiB/s]
Downloading: 30%|██▉ | 77.6M/260M [00:50<05:13, 580kiB/s]
Downloading: 30%|██▉ | 77.6M/260M [00:50<06:10, 491kiB/s]
Downloading: 30%|██▉ | 77.7M/260M [00:50<06:57, 436kiB/s]
Downloading: 30%|██▉ | 77.7M/260M [00:50<09:59, 303kiB/s]
Downloading: 30%|██▉ | 77.8M/260M [00:51<22:37, 134kiB/s]
Downloading: 30%|██▉ | 77.8M/260M [00:51<23:45, 128kiB/s]
Downloading: 30%|██▉ | 77.8M/260M [00:52<29:48, 102kiB/s]
Downloading: 30%|██▉ | 77.8M/260M [00:52<34:12, 88.6kiB/s]
Downloading: 30%|██▉ | 77.9M/260M [00:52<32:19, 93.7kiB/s]
Downloading: 30%|███ | 77.9M/260M [00:52<26:41, 113kiB/s]
Downloading: 30%|███ | 77.9M/260M [00:53<24:04, 126kiB/s]
Downloading: 30%|███ | 78.0M/260M [00:53<23:30, 129kiB/s]
Downloading: 30%|███ | 78.0M/260M [00:53<17:28, 173kiB/s]
Downloading: 30%|███ | 78.0M/260M [00:53<23:19, 130kiB/s]
Downloading: 30%|███ | 78.1M/260M [00:54<20:29, 148kiB/s]
Downloading: 30%|███ | 78.1M/260M [00:54<17:46, 170kiB/s]
Downloading: 30%|███ | 78.2M/260M [00:54<14:41, 206kiB/s]
Downloading: 30%|███ | 78.2M/260M [00:54<14:37, 207kiB/s]
Downloading: 30%|███ | 78.3M/260M [00:54<11:31, 262kiB/s]
Downloading: 30%|███ | 78.3M/260M [00:54<12:11, 248kiB/s]
Downloading: 30%|███ | 78.3M/260M [00:55<11:44, 257kiB/s]
Downloading: 30%|███ | 78.4M/260M [00:55<09:34, 315kiB/s]
Downloading: 30%|███ | 78.5M/260M [00:55<08:03, 375kiB/s]
Downloading: 30%|███ | 78.5M/260M [00:55<07:31, 401kiB/s]
Downloading: 30%|███ | 78.6M/260M [00:55<05:44, 526kiB/s]
Downloading: 30%|███ | 78.7M/260M [00:55<05:10, 582kiB/s]
Downloading: 30%|███ | 78.8M/260M [00:55<05:38, 534kiB/s]
Downloading: 30%|███ | 78.9M/260M [00:55<04:33, 661kiB/s]
Downloading: 30%|███ | 79.0M/260M [00:56<04:01, 747kiB/s]
Downloading: 30%|███ | 79.1M/260M [00:56<03:47, 793kiB/s]
Downloading: 31%|███ | 79.2M/260M [00:56<04:02, 743kiB/s]
Downloading: 31%|███ | 79.3M/260M [00:56<03:19, 902kiB/s]
Downloading: 31%|███ | 79.4M/260M [00:56<03:23, 885kiB/s]
Downloading: 31%|███ | 79.6M/260M [00:56<03:13, 933kiB/s]
Downloading: 31%|███ | 79.7M/260M [00:56<03:10, 944kiB/s]
Downloading: 31%|███ | 79.8M/260M [00:56<02:56, 1.02MiB/s]
Downloading: 31%|███ | 79.9M/260M [00:56<02:45, 1.09MiB/s]
Downloading: 31%|███ | 80.1M/260M [00:57<02:39, 1.13MiB/s]
Downloading: 31%|███ | 80.2M/260M [00:57<02:39, 1.12MiB/s]
Downloading: 31%|███ | 80.4M/260M [00:57<02:25, 1.23MiB/s]
Downloading: 31%|███ | 80.5M/260M [00:57<02:44, 1.09MiB/s]
Downloading: 31%|███ | 80.7M/260M [00:57<02:37, 1.14MiB/s]
Downloading: 31%|███ | 80.9M/260M [00:57<02:04, 1.43MiB/s]
Downloading: 31%|███ | 81.1M/260M [00:57<02:02, 1.46MiB/s]
Downloading: 31%|███▏ | 81.2M/260M [00:57<02:05, 1.42MiB/s]
Downloading: 31%|███▏ | 81.4M/260M [00:58<02:07, 1.40MiB/s]
Downloading: 31%|███▏ | 81.6M/260M [00:58<01:56, 1.53MiB/s]
Downloading: 31%|███▏ | 81.7M/260M [00:58<02:03, 1.45MiB/s]
Downloading: 32%|███▏ | 82.0M/260M [00:58<01:51, 1.60MiB/s]
Downloading: 32%|███▏ | 82.2M/260M [00:58<01:45, 1.69MiB/s]
Downloading: 32%|███▏ | 82.5M/260M [00:58<01:32, 1.92MiB/s]
Downloading: 32%|███▏ | 82.8M/260M [00:58<01:25, 2.07MiB/s]
Downloading: 32%|███▏ | 83.0M/260M [00:58<01:42, 1.73MiB/s]
Downloading: 32%|███▏ | 83.2M/260M [00:59<01:38, 1.78MiB/s]
Downloading: 32%|███▏ | 83.5M/260M [00:59<01:32, 1.90MiB/s]
Downloading: 32%|███▏ | 83.8M/260M [00:59<01:16, 2.30MiB/s]
Downloading: 32%|███▏ | 84.1M/260M [00:59<01:19, 2.19MiB/s]
Downloading: 32%|███▏ | 84.3M/260M [00:59<01:17, 2.27MiB/s]
Downloading: 33%|███▎ | 84.6M/260M [00:59<01:18, 2.23MiB/s]
Downloading: 33%|███▎ | 85.0M/260M [00:59<01:08, 2.54MiB/s]
Downloading: 33%|███▎ | 85.2M/260M [00:59<01:10, 2.47MiB/s]
Downloading: 33%|███▎ | 85.5M/260M [00:59<01:17, 2.24MiB/s]
Downloading: 33%|███▎ | 85.8M/260M [01:00<01:13, 2.37MiB/s]
Downloading: 33%|███▎ | 86.1M/260M [01:00<01:09, 2.48MiB/s]
Downloading: 33%|███▎ | 86.4M/260M [01:00<01:02, 2.78MiB/s]
Downloading: 33%|███▎ | 86.7M/260M [01:00<01:04, 2.66MiB/s]
Downloading: 34%|███▎ | 87.1M/260M [01:00<01:00, 2.86MiB/s]
Downloading: 34%|███▎ | 87.6M/260M [01:00<00:51, 3.34MiB/s]
Downloading: 34%|███▍ | 87.9M/260M [01:00<00:52, 3.26MiB/s]
Downloading: 34%|███▍ | 88.3M/260M [01:00<00:58, 2.93MiB/s]
Downloading: 34%|███▍ | 88.6M/260M [01:01<00:59, 2.87MiB/s]
Downloading: 34%|███▍ | 88.9M/260M [01:01<01:02, 2.72MiB/s]
Downloading: 34%|███▍ | 89.3M/260M [01:01<01:00, 2.84MiB/s]
Downloading: 35%|███▍ | 89.8M/260M [01:01<00:49, 3.40MiB/s]
Downloading: 35%|███▍ | 90.1M/260M [01:01<00:52, 3.24MiB/s]
Downloading: 35%|███▍ | 90.7M/260M [01:01<00:49, 3.43MiB/s]
Downloading: 35%|███▌ | 91.2M/260M [01:01<00:42, 3.99MiB/s]
Downloading: 35%|███▌ | 91.7M/260M [01:01<00:44, 3.78MiB/s]
Downloading: 35%|███▌ | 92.1M/260M [01:01<00:42, 3.95MiB/s]
Downloading: 36%|███▌ | 92.6M/260M [01:02<00:41, 4.03MiB/s]
Downloading: 36%|███▌ | 93.0M/260M [01:02<00:43, 3.85MiB/s]
Downloading: 36%|███▌ | 93.5M/260M [01:02<00:39, 4.21MiB/s]
Downloading: 36%|███▌ | 93.9M/260M [01:02<00:52, 3.18MiB/s]
Downloading: 36%|███▋ | 94.6M/260M [01:02<00:43, 3.82MiB/s]
Downloading: 37%|███▋ | 95.1M/260M [01:02<00:43, 3.79MiB/s]
Downloading: 37%|███▋ | 95.7M/260M [01:02<00:38, 4.29MiB/s]
Downloading: 37%|███▋ | 96.2M/260M [01:02<00:39, 4.19MiB/s]
Downloading: 37%|███▋ | 96.6M/260M [01:03<00:38, 4.26MiB/s]
Downloading: 37%|███▋ | 97.1M/260M [01:03<00:40, 4.02MiB/s]
Downloading: 38%|███▊ | 97.6M/260M [01:03<00:38, 4.21MiB/s]
Downloading: 38%|███▊ | 98.1M/260M [01:03<00:35, 4.53MiB/s]
Downloading: 38%|███▊ | 98.6M/260M [01:03<00:49, 3.25MiB/s]
Downloading: 38%|███▊ | 99.3M/260M [01:03<00:39, 4.03MiB/s]
Downloading: 38%|███▊ | 99.7M/260M [01:03<00:38, 4.18MiB/s]
Downloading: 39%|███▊ | 100M/260M [01:03<00:38, 4.14MiB/s]
Downloading: 39%|███▉ | 101M/260M [01:04<00:45, 3.46MiB/s]
Downloading: 39%|███▉ | 101M/260M [01:04<00:48, 3.28MiB/s]
Downloading: 39%|███▉ | 101M/260M [01:04<00:48, 3.24MiB/s]
Downloading: 39%|███▉ | 102M/260M [01:04<01:00, 2.61MiB/s]
Downloading: 39%|███▉ | 102M/260M [01:04<01:01, 2.57MiB/s]
Downloading: 39%|███▉ | 102M/260M [01:04<01:06, 2.35MiB/s]
Downloading: 40%|███▉ | 103M/260M [01:05<01:14, 2.11MiB/s]
Downloading: 40%|███▉ | 103M/260M [01:05<03:05, 847kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:06<06:08, 425kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:07<08:30, 307kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:08<09:24, 277kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:08<10:02, 260kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:08<09:48, 266kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:09<09:54, 263kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:09<09:46, 266kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:09<09:07, 285kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:09<08:37, 302kiB/s]
Downloading: 40%|███▉ | 103M/260M [01:09<07:27, 349kiB/s]
Downloading: 40%|███▉ | 104M/260M [01:09<06:35, 395kiB/s]
Downloading: 40%|███▉ | 104M/260M [01:09<05:35, 465kiB/s]
Downloading: 40%|███▉ | 104M/260M [01:09<04:52, 532kiB/s]
Downloading: 40%|███▉ | 104M/260M [01:10<04:10, 622kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<03:48, 681kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<03:42, 699kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<03:23, 763kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<03:15, 796kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<03:24, 758kiB/s]
Downloading: 40%|████ | 104M/260M [01:10<02:53, 893kiB/s]
Downloading: 40%|████ | 105M/260M [01:10<02:56, 876kiB/s]
Downloading: 40%|████ | 105M/260M [01:10<02:56, 879kiB/s]
Downloading: 40%|████ | 105M/260M [01:11<02:29, 1.04MiB/s]
Downloading: 40%|████ | 105M/260M [01:11<02:29, 1.03MiB/s]
Downloading: 40%|████ | 105M/260M [01:11<02:28, 1.04MiB/s]
Downloading: 40%|████ | 105M/260M [01:11<02:30, 1.03MiB/s]
Downloading: 41%|████ | 105M/260M [01:11<02:18, 1.11MiB/s]
Downloading: 41%|████ | 105M/260M [01:11<02:22, 1.08MiB/s]
Downloading: 41%|████ | 105M/260M [01:11<02:15, 1.14MiB/s]
Downloading: 41%|████ | 106M/260M [01:11<02:23, 1.07MiB/s]
Downloading: 41%|████ | 106M/260M [01:11<02:25, 1.06MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:18, 1.11MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:22, 1.08MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:15, 1.13MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:13, 1.15MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:27, 1.04MiB/s]
Downloading: 41%|████ | 106M/260M [01:12<02:17, 1.11MiB/s]
Downloading: 41%|████ | 107M/260M [01:12<03:03, 835kiB/s]
Downloading: 41%|████ | 107M/260M [01:13<02:55, 869kiB/s]
Downloading: 41%|████ | 107M/260M [01:13<02:25, 1.05MiB/s]
Downloading: 41%|████ | 107M/260M [01:13<02:24, 1.05MiB/s]
Downloading: 41%|████▏ | 107M/260M [01:13<02:01, 1.25MiB/s]
Downloading: 41%|████▏ | 107M/260M [01:13<02:01, 1.25MiB/s]
Downloading: 41%|████▏ | 107M/260M [01:13<02:00, 1.27MiB/s]
Downloading: 41%|████▏ | 108M/260M [01:13<01:59, 1.27MiB/s]
Downloading: 42%|████▏ | 108M/260M [01:13<02:56, 860kiB/s]
Downloading: 42%|████▏ | 108M/260M [01:14<02:19, 1.09MiB/s]
Downloading: 42%|████▏ | 108M/260M [01:14<02:01, 1.24MiB/s]
Downloading: 42%|████▏ | 108M/260M [01:14<01:52, 1.35MiB/s]
Downloading: 42%|████▏ | 108M/260M [01:14<01:55, 1.31MiB/s]
Downloading: 42%|████▏ | 109M/260M [01:14<01:56, 1.30MiB/s]
Downloading: 42%|████▏ | 109M/260M [01:14<01:34, 1.60MiB/s]
Downloading: 42%|████▏ | 109M/260M [01:14<01:26, 1.74MiB/s]
Downloading: 42%|████▏ | 109M/260M [01:14<01:31, 1.65MiB/s]
Downloading: 42%|████▏ | 109M/260M [01:14<01:26, 1.74MiB/s]
Downloading: 42%|████▏ | 110M/260M [01:15<01:11, 2.10MiB/s]
Downloading: 42%|████▏ | 110M/260M [01:15<01:10, 2.11MiB/s]
Downloading: 42%|████▏ | 110M/260M [01:15<01:07, 2.20MiB/s]
Downloading: 43%|████▎ | 111M/260M [01:15<00:59, 2.50MiB/s]
Downloading: 43%|████▎ | 111M/260M [01:15<01:01, 2.44MiB/s]
Downloading: 43%|████▎ | 111M/260M [01:15<01:00, 2.45MiB/s]
Downloading: 43%|████▎ | 111M/260M [01:15<00:56, 2.63MiB/s]
Downloading: 43%|████▎ | 112M/260M [01:15<01:01, 2.40MiB/s]
Downloading: 43%|████▎ | 112M/260M [01:15<01:13, 2.01MiB/s]
Downloading: 43%|████▎ | 112M/260M [01:16<01:02, 2.34MiB/s]
Downloading: 43%|████▎ | 113M/260M [01:16<01:03, 2.33MiB/s]
Downloading: 43%|████▎ | 113M/260M [01:16<01:03, 2.31MiB/s]
Downloading: 44%|████▎ | 113M/260M [01:16<00:53, 2.76MiB/s]
Downloading: 44%|████▎ | 113M/260M [01:16<00:55, 2.65MiB/s]
Downloading: 44%|████▍ | 114M/260M [01:16<00:52, 2.78MiB/s]
Downloading: 44%|████▍ | 114M/260M [01:16<00:52, 2.78MiB/s]
Downloading: 44%|████▍ | 114M/260M [01:16<00:51, 2.79MiB/s]
Downloading: 44%|████▍ | 115M/260M [01:16<00:51, 2.80MiB/s]
Downloading: 44%|████▍ | 115M/260M [01:17<00:52, 2.74MiB/s]
Downloading: 44%|████▍ | 115M/260M [01:17<00:54, 2.64MiB/s]
Downloading: 45%|████▍ | 116M/260M [01:17<00:54, 2.65MiB/s]
Downloading: 45%|████▍ | 116M/260M [01:17<00:59, 2.42MiB/s]
Downloading: 45%|████▍ | 116M/260M [01:17<01:01, 2.33MiB/s]
Downloading: 45%|████▍ | 117M/260M [01:17<00:47, 3.01MiB/s]
Downloading: 45%|████▌ | 117M/260M [01:17<00:50, 2.85MiB/s]
Downloading: 45%|████▌ | 117M/260M [01:17<00:50, 2.80MiB/s]
Downloading: 45%|████▌ | 118M/260M [01:17<00:47, 2.98MiB/s]
Downloading: 45%|████▌ | 118M/260M [01:18<00:45, 3.14MiB/s]
Downloading: 46%|████▌ | 118M/260M [01:18<00:43, 3.26MiB/s]
Downloading: 46%|████▌ | 119M/260M [01:18<00:48, 2.91MiB/s]
Downloading: 46%|████▌ | 119M/260M [01:18<00:46, 3.00MiB/s]
Downloading: 46%|████▌ | 120M/260M [01:18<00:37, 3.77MiB/s]
Downloading: 46%|████▋ | 120M/260M [01:18<00:39, 3.54MiB/s]
Downloading: 46%|████▋ | 121M/260M [01:18<00:43, 3.21MiB/s]
Downloading: 47%|████▋ | 121M/260M [01:18<00:43, 3.16MiB/s]
Downloading: 47%|████▋ | 121M/260M [01:19<00:45, 3.04MiB/s]
Downloading: 47%|████▋ | 122M/260M [01:19<00:49, 2.77MiB/s]
Downloading: 47%|████▋ | 122M/260M [01:19<00:50, 2.74MiB/s]
Downloading: 47%|████▋ | 122M/260M [01:19<00:53, 2.57MiB/s]
Downloading: 47%|████▋ | 122M/260M [01:19<00:48, 2.81MiB/s]
Downloading: 47%|████▋ | 123M/260M [01:19<00:44, 3.10MiB/s]
Downloading: 47%|████▋ | 123M/260M [01:19<00:47, 2.89MiB/s]
Downloading: 48%|████▊ | 123M/260M [01:19<00:55, 2.46MiB/s]
Downloading: 48%|████▊ | 124M/260M [01:20<00:42, 3.18MiB/s]
Downloading: 48%|████▊ | 124M/260M [01:21<02:57, 760kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:21<02:40, 841kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:23<05:57, 377kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:24<07:15, 309kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:24<06:42, 334kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:24<05:59, 374kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:24<06:07, 366kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:25<07:34, 295kiB/s]
Downloading: 48%|████▊ | 125M/260M [01:25<07:11, 311kiB/s]
Downloading: 48%|████▊ | 126M/260M [01:25<05:49, 384kiB/s]
Downloading: 48%|████▊ | 126M/260M [01:25<04:39, 479kiB/s]
Downloading: 48%|████▊ | 126M/260M [01:25<04:15, 524kiB/s]
Downloading: 49%|████▊ | 126M/260M [01:26<03:15, 684kiB/s]
Downloading: 49%|████▊ | 126M/260M [01:26<02:24, 926kiB/s]
Downloading: 49%|████▊ | 126M/260M [01:26<02:06, 1.05MiB/s]
Downloading: 49%|████▊ | 126M/260M [01:26<01:53, 1.17MiB/s]
Downloading: 49%|████▉ | 127M/260M [01:26<01:24, 1.58MiB/s]
Downloading: 49%|████▉ | 127M/260M [01:26<01:23, 1.60MiB/s]
Downloading: 49%|████▉ | 127M/260M [01:26<01:07, 1.97MiB/s]
Downloading: 49%|████▉ | 127M/260M [01:26<01:08, 1.94MiB/s]
Downloading: 49%|████▉ | 128M/260M [01:26<01:03, 2.07MiB/s]
Downloading: 49%|████▉ | 128M/260M [01:27<01:01, 2.13MiB/s]
Downloading: 49%|████▉ | 128M/260M [01:27<00:52, 2.50MiB/s]
Downloading: 50%|████▉ | 129M/260M [01:27<00:54, 2.42MiB/s]
Downloading: 50%|████▉ | 129M/260M [01:27<00:57, 2.29MiB/s]
Downloading: 50%|████▉ | 129M/260M [01:27<00:49, 2.64MiB/s]
Downloading: 50%|████▉ | 130M/260M [01:27<00:51, 2.54MiB/s]
Downloading: 50%|█████ | 130M/260M [01:27<00:49, 2.60MiB/s]
Downloading: 50%|█████ | 130M/260M [01:27<00:52, 2.47MiB/s]
Downloading: 50%|█████ | 131M/260M [01:28<00:56, 2.27MiB/s]
Downloading: 50%|█████ | 131M/260M [01:28<00:52, 2.47MiB/s]
Downloading: 51%|█████ | 131M/260M [01:28<01:09, 1.85MiB/s]
Downloading: 51%|█████ | 131M/260M [01:28<00:54, 2.34MiB/s]
Downloading: 51%|█████ | 132M/260M [01:28<00:48, 2.65MiB/s]
Downloading: 51%|█████ | 132M/260M [01:28<00:44, 2.85MiB/s]
Downloading: 51%|█████ | 133M/260M [01:28<00:44, 2.87MiB/s]
Downloading: 51%|█████ | 133M/260M [01:28<00:46, 2.75MiB/s]
Downloading: 51%|█████▏ | 133M/260M [01:29<00:47, 2.64MiB/s]
Downloading: 51%|█████▏ | 133M/260M [01:29<00:46, 2.71MiB/s]
Downloading: 52%|█████▏ | 134M/260M [01:29<00:51, 2.46MiB/s]
Downloading: 52%|█████▏ | 134M/260M [01:29<00:46, 2.71MiB/s]
Downloading: 52%|█████▏ | 134M/260M [01:29<00:46, 2.70MiB/s]
Downloading: 52%|█████▏ | 135M/260M [01:29<00:42, 2.91MiB/s]
Downloading: 52%|█████▏ | 135M/260M [01:29<00:42, 2.91MiB/s]
Downloading: 52%|█████▏ | 135M/260M [01:29<00:45, 2.70MiB/s]
Downloading: 52%|█████▏ | 136M/260M [01:29<00:38, 3.21MiB/s]
Downloading: 52%|█████▏ | 136M/260M [01:30<00:39, 3.14MiB/s]
Downloading: 53%|█████▎ | 137M/260M [01:30<00:36, 3.41MiB/s]
Downloading: 53%|█████▎ | 137M/260M [01:30<00:38, 3.22MiB/s]
Downloading: 53%|█████▎ | 138M/260M [01:30<00:36, 3.38MiB/s]
Downloading: 53%|█████▎ | 138M/260M [01:30<00:28, 4.26MiB/s]
Downloading: 53%|█████▎ | 139M/260M [01:30<00:29, 4.09MiB/s]
Downloading: 54%|█████▎ | 139M/260M [01:30<00:30, 3.95MiB/s]
Downloading: 54%|█████▍ | 140M/260M [01:30<00:31, 3.79MiB/s]
Downloading: 54%|█████▍ | 140M/260M [01:30<00:31, 3.79MiB/s]
Downloading: 54%|█████▍ | 140M/260M [01:31<00:30, 3.97MiB/s]
Downloading: 54%|█████▍ | 141M/260M [01:31<00:27, 4.37MiB/s]
Downloading: 55%|█████▍ | 142M/260M [01:31<00:28, 4.17MiB/s]
Downloading: 55%|█████▍ | 142M/260M [01:31<00:25, 4.62MiB/s]
Downloading: 55%|█████▍ | 143M/260M [01:31<00:28, 4.04MiB/s]
Downloading: 55%|█████▌ | 143M/260M [01:31<00:24, 4.76MiB/s]
Downloading: 56%|█████▌ | 144M/260M [01:31<00:21, 5.31MiB/s]
Downloading: 56%|█████▌ | 145M/260M [01:32<00:22, 5.15MiB/s]
Downloading: 56%|█████▌ | 146M/260M [01:32<00:22, 5.04MiB/s]
Downloading: 56%|█████▋ | 146M/260M [01:32<00:22, 5.07MiB/s]
Downloading: 56%|█████▋ | 147M/260M [01:32<00:23, 4.80MiB/s]
Downloading: 57%|█████▋ | 147M/260M [01:32<00:28, 3.88MiB/s]
Downloading: 57%|█████▋ | 148M/260M [01:32<00:27, 4.10MiB/s]
Downloading: 57%|█████▋ | 148M/260M [01:32<00:21, 5.20MiB/s]
Downloading: 57%|█████▋ | 149M/260M [01:32<00:22, 4.96MiB/s]
Downloading: 58%|█████▊ | 149M/260M [01:33<00:24, 4.49MiB/s]
Downloading: 58%|█████▊ | 150M/260M [01:33<00:23, 4.73MiB/s]
Downloading: 58%|█████▊ | 151M/260M [01:33<00:21, 5.07MiB/s]
Downloading: 58%|█████▊ | 151M/260M [01:33<00:25, 4.18MiB/s]
Downloading: 58%|█████▊ | 152M/260M [01:33<00:32, 3.32MiB/s]
Downloading: 59%|█████▊ | 152M/260M [01:33<00:28, 3.77MiB/s]
Downloading: 59%|█████▉ | 153M/260M [01:33<00:24, 4.30MiB/s]
Downloading: 59%|█████▉ | 153M/260M [01:33<00:24, 4.32MiB/s]
Downloading: 59%|█████▉ | 154M/260M [01:34<00:23, 4.58MiB/s]
Downloading: 60%|█████▉ | 155M/260M [01:34<00:19, 5.52MiB/s]
Downloading: 60%|█████▉ | 155M/260M [01:34<00:22, 4.72MiB/s]
Downloading: 60%|██████ | 156M/260M [01:34<00:23, 4.39MiB/s]
Downloading: 60%|██████ | 156M/260M [01:34<00:23, 4.41MiB/s]
Downloading: 60%|██████ | 157M/260M [01:34<00:22, 4.54MiB/s]
Downloading: 61%|██████ | 157M/260M [01:34<00:26, 3.87MiB/s]
Downloading: 61%|██████ | 158M/260M [01:35<00:23, 4.39MiB/s]
Downloading: 61%|██████ | 159M/260M [01:35<00:26, 3.81MiB/s]
Downloading: 61%|██████ | 159M/260M [01:35<00:26, 3.77MiB/s]
Downloading: 61%|██████▏ | 159M/260M [01:35<00:26, 3.84MiB/s]
Downloading: 62%|██████▏ | 160M/260M [01:35<00:27, 3.62MiB/s]
Downloading: 62%|██████▏ | 160M/260M [01:35<00:29, 3.43MiB/s]
Downloading: 62%|██████▏ | 161M/260M [01:35<00:29, 3.31MiB/s]
Downloading: 62%|██████▏ | 161M/260M [01:35<00:31, 3.13MiB/s]
Downloading: 62%|██████▏ | 161M/260M [01:35<00:32, 3.05MiB/s]
Downloading: 62%|██████▏ | 161M/260M [01:36<00:34, 2.86MiB/s]
Downloading: 62%|██████▏ | 162M/260M [01:36<00:35, 2.72MiB/s]
Downloading: 62%|██████▏ | 162M/260M [01:36<00:35, 2.72MiB/s]
Downloading: 63%|██████▎ | 162M/260M [01:36<00:36, 2.64MiB/s]
Downloading: 63%|██████▎ | 163M/260M [01:36<00:42, 2.31MiB/s]
Downloading: 63%|██████▎ | 163M/260M [01:36<00:36, 2.64MiB/s]
Downloading: 63%|██████▎ | 163M/260M [01:36<00:40, 2.38MiB/s]
Downloading: 63%|██████▎ | 163M/260M [01:36<00:42, 2.28MiB/s]
Downloading: 63%|██████▎ | 164M/260M [01:37<00:42, 2.23MiB/s]
Downloading: 63%|██████▎ | 164M/260M [01:37<00:39, 2.44MiB/s]
Downloading: 63%|██████▎ | 164M/260M [01:37<00:43, 2.20MiB/s]
Downloading: 63%|██████▎ | 165M/260M [01:37<00:44, 2.13MiB/s]
Downloading: 63%|██████▎ | 165M/260M [01:37<00:48, 1.96MiB/s]
Downloading: 64%|██████▎ | 165M/260M [01:37<00:49, 1.93MiB/s]
Downloading: 64%|██████▎ | 165M/260M [01:37<00:51, 1.82MiB/s]
Downloading: 64%|██████▎ | 165M/260M [01:37<00:49, 1.92MiB/s]
Downloading: 64%|██████▍ | 166M/260M [01:38<00:40, 2.33MiB/s]
Downloading: 64%|██████▍ | 166M/260M [01:38<00:41, 2.26MiB/s]
Downloading: 64%|██████▍ | 166M/260M [01:38<00:49, 1.89MiB/s]
Downloading: 64%|██████▍ | 166M/260M [01:38<00:47, 1.95MiB/s]
Downloading: 64%|██████▍ | 167M/260M [01:38<00:44, 2.11MiB/s]
Downloading: 64%|██████▍ | 167M/260M [01:38<00:46, 2.00MiB/s]
Downloading: 64%|██████▍ | 167M/260M [01:38<00:47, 1.96MiB/s]
Downloading: 64%|██████▍ | 167M/260M [01:38<00:47, 1.94MiB/s]
Downloading: 65%|██████▍ | 168M/260M [01:39<00:46, 2.00MiB/s]
Downloading: 65%|██████▍ | 168M/260M [01:39<00:46, 1.97MiB/s]
Downloading: 65%|██████▍ | 168M/260M [01:39<00:58, 1.56MiB/s]
Downloading: 65%|██████▍ | 168M/260M [01:39<00:53, 1.70MiB/s]
Downloading: 65%|██████▍ | 168M/260M [01:39<00:51, 1.77MiB/s]
Downloading: 65%|██████▍ | 169M/260M [01:39<00:49, 1.85MiB/s]
Downloading: 65%|██████▌ | 169M/260M [01:39<00:51, 1.76MiB/s]
Downloading: 65%|██████▌ | 169M/260M [01:39<00:51, 1.75MiB/s]
Downloading: 65%|██████▌ | 169M/260M [01:39<00:50, 1.81MiB/s]
Downloading: 65%|██████▌ | 169M/260M [01:40<00:47, 1.92MiB/s]
Downloading: 65%|██████▌ | 170M/260M [01:40<00:45, 1.96MiB/s]
Downloading: 65%|██████▌ | 170M/260M [01:40<00:49, 1.82MiB/s]
Downloading: 66%|██████▌ | 170M/260M [01:40<00:50, 1.75MiB/s]
Downloading: 66%|██████▌ | 170M/260M [01:40<00:44, 2.00MiB/s]
Downloading: 66%|██████▌ | 171M/260M [01:40<00:47, 1.87MiB/s]
Downloading: 66%|██████▌ | 171M/260M [01:40<00:50, 1.75MiB/s]
Downloading: 66%|██████▌ | 171M/260M [01:40<00:52, 1.69MiB/s]
Downloading: 66%|██████▌ | 171M/260M [01:41<00:52, 1.67MiB/s]
Downloading: 66%|██████▌ | 171M/260M [01:41<01:00, 1.47MiB/s]
Downloading: 66%|██████▌ | 172M/260M [01:41<00:55, 1.60MiB/s]
Downloading: 66%|██████▌ | 172M/260M [01:41<00:48, 1.81MiB/s]
Downloading: 66%|██████▋ | 172M/260M [01:41<00:54, 1.61MiB/s]
Downloading: 66%|██████▋ | 172M/260M [01:41<00:54, 1.61MiB/s]
Downloading: 66%|██████▋ | 172M/260M [01:41<00:52, 1.65MiB/s]
Downloading: 66%|██████▋ | 173M/260M [01:41<00:57, 1.52MiB/s]
Downloading: 67%|██████▋ | 173M/260M [01:42<00:53, 1.61MiB/s]
Downloading: 67%|██████▋ | 173M/260M [01:42<00:46, 1.85MiB/s]
Downloading: 67%|██████▋ | 173M/260M [01:42<00:50, 1.73MiB/s]
Downloading: 67%|██████▋ | 173M/260M [01:42<00:54, 1.58MiB/s]
Downloading: 67%|██████▋ | 173M/260M [01:42<00:59, 1.44MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:42<00:59, 1.43MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:42<00:59, 1.45MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:42<01:00, 1.42MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:42<01:01, 1.38MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:43<01:00, 1.42MiB/s]
Downloading: 67%|██████▋ | 174M/260M [01:43<00:54, 1.55MiB/s]
Downloading: 67%|██████▋ | 175M/260M [01:43<00:56, 1.52MiB/s]
Downloading: 67%|██████▋ | 175M/260M [01:43<00:56, 1.50MiB/s]
Downloading: 67%|██████▋ | 175M/260M [01:43<00:59, 1.42MiB/s]
Downloading: 67%|██████▋ | 175M/260M [01:43<00:51, 1.63MiB/s]
Downloading: 68%|██████▊ | 175M/260M [01:43<00:50, 1.68MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:43<00:52, 1.60MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:43<00:53, 1.56MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:44<00:52, 1.61MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:44<00:57, 1.44MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:44<01:10, 1.19MiB/s]
Downloading: 68%|██████▊ | 176M/260M [01:44<01:16, 1.09MiB/s]
Downloading: 68%|██████▊ | 177M/260M [01:44<01:03, 1.30MiB/s]
Downloading: 68%|██████▊ | 177M/260M [01:44<00:58, 1.43MiB/s]
Downloading: 68%|██████▊ | 177M/260M [01:44<00:45, 1.82MiB/s]
Downloading: 68%|██████▊ | 177M/260M [01:45<00:40, 2.01MiB/s]
Downloading: 68%|██████▊ | 178M/260M [01:45<00:38, 2.11MiB/s]
Downloading: 69%|██████▊ | 178M/260M [01:45<00:39, 2.08MiB/s]
Downloading: 69%|██████▊ | 178M/260M [01:45<00:36, 2.20MiB/s]
Downloading: 69%|██████▉ | 178M/260M [01:45<00:35, 2.26MiB/s]
Downloading: 69%|██████▉ | 179M/260M [01:45<00:36, 2.24MiB/s]
Downloading: 69%|██████▉ | 179M/260M [01:45<00:31, 2.59MiB/s]
Downloading: 69%|██████▉ | 179M/260M [01:45<00:29, 2.73MiB/s]
Downloading: 69%|██████▉ | 180M/260M [01:45<00:30, 2.65MiB/s]
Downloading: 69%|██████▉ | 180M/260M [01:46<00:29, 2.73MiB/s]
Downloading: 70%|██████▉ | 180M/260M [01:46<00:28, 2.82MiB/s]
Downloading: 70%|██████▉ | 181M/260M [01:46<00:29, 2.64MiB/s]
Downloading: 70%|██████▉ | 181M/260M [01:46<00:33, 2.36MiB/s]
Downloading: 70%|██████▉ | 182M/260M [01:46<00:25, 3.05MiB/s]
Downloading: 70%|███████ | 182M/260M [01:46<00:24, 3.11MiB/s]
Downloading: 70%|███████ | 182M/260M [01:46<00:26, 2.95MiB/s]
Downloading: 70%|███████ | 182M/260M [01:46<00:27, 2.85MiB/s]
Downloading: 70%|███████ | 183M/260M [01:47<00:24, 3.17MiB/s]
Downloading: 71%|███████ | 183M/260M [01:47<00:24, 3.16MiB/s]
Downloading: 71%|███████ | 184M/260M [01:47<00:25, 2.95MiB/s]
Downloading: 71%|███████ | 184M/260M [01:47<00:27, 2.79MiB/s]
Downloading: 71%|███████ | 184M/260M [01:47<00:34, 2.21MiB/s]
Downloading: 71%|███████ | 184M/260M [01:47<00:29, 2.52MiB/s]
Downloading: 71%|███████ | 185M/260M [01:47<00:32, 2.30MiB/s]
Downloading: 71%|███████▏ | 185M/260M [01:47<00:30, 2.46MiB/s]
Downloading: 71%|███████▏ | 185M/260M [01:48<00:30, 2.45MiB/s]
Downloading: 71%|███████▏ | 186M/260M [01:48<00:31, 2.37MiB/s]
Downloading: 72%|███████▏ | 186M/260M [01:48<00:31, 2.34MiB/s]
Downloading: 72%|███████▏ | 186M/260M [01:48<00:29, 2.53MiB/s]
Downloading: 72%|███████▏ | 186M/260M [01:48<00:31, 2.31MiB/s]
Downloading: 72%|███████▏ | 187M/260M [01:48<00:31, 2.28MiB/s]
Downloading: 72%|███████▏ | 187M/260M [01:48<00:31, 2.31MiB/s]
Downloading: 72%|███████▏ | 187M/260M [01:48<00:32, 2.25MiB/s]
Downloading: 72%|███████▏ | 187M/260M [01:48<00:28, 2.51MiB/s]
Downloading: 72%|███████▏ | 188M/260M [01:49<00:30, 2.36MiB/s]
Downloading: 72%|███████▏ | 188M/260M [01:49<00:31, 2.28MiB/s]
Downloading: 73%|███████▎ | 188M/260M [01:49<00:32, 2.22MiB/s]
Downloading: 73%|███████▎ | 188M/260M [01:49<00:38, 1.87MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:49<00:37, 1.88MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:49<00:42, 1.68MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:49<00:42, 1.67MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:49<00:45, 1.55MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:50<00:45, 1.55MiB/s]
Downloading: 73%|███████▎ | 189M/260M [01:50<01:42, 683kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:51<02:59, 390kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:51<03:22, 346kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:52<06:10, 188kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:53<06:11, 188kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:53<06:41, 174kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:53<06:33, 177kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<06:26, 180kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<06:24, 181kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<06:16, 185kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<05:43, 202kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<04:43, 245kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<04:32, 255kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<03:30, 329kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:54<02:52, 401kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:55<02:46, 417kiB/s]
Downloading: 73%|███████▎ | 190M/260M [01:55<01:59, 580kiB/s]
Downloading: 73%|███████▎ | 191M/260M [01:55<01:44, 661kiB/s]
Downloading: 73%|███████▎ | 191M/260M [01:55<01:45, 651kiB/s]
Downloading: 73%|███████▎ | 191M/260M [01:55<01:36, 717kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:55<01:23, 822kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:55<01:22, 836kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:55<01:24, 815kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:56<01:23, 815kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:56<01:27, 780kiB/s]
Downloading: 74%|███████▎ | 191M/260M [01:56<01:18, 870kiB/s]
Downloading: 74%|███████▍ | 191M/260M [01:56<01:11, 948kiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:56<01:14, 912kiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:56<01:11, 951kiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:56<01:10, 964kiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:56<00:55, 1.21MiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:56<00:55, 1.21MiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:57<00:56, 1.20MiB/s]
Downloading: 74%|███████▍ | 192M/260M [01:57<00:57, 1.17MiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:57<01:04, 1.03MiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:57<01:12, 920kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:57<01:23, 797kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:57<01:23, 804kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:57<01:21, 816kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:58<01:25, 779kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:58<01:20, 827kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:58<01:20, 822kiB/s]
Downloading: 74%|███████▍ | 193M/260M [01:58<01:25, 774kiB/s]
Downloading: 75%|███████▍ | 193M/260M [01:58<01:22, 806kiB/s]
Downloading: 75%|███████▍ | 193M/260M [01:58<01:18, 843kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:58<01:17, 853kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:58<01:15, 875kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:58<01:16, 865kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:20, 820kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:21, 803kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:21, 807kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:19, 827kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:17, 844kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:18, 830kiB/s]
Downloading: 75%|███████▍ | 194M/260M [01:59<01:13, 888kiB/s]
Downloading: 75%|███████▍ | 195M/260M [01:59<01:14, 878kiB/s]
Downloading: 75%|███████▍ | 195M/260M [01:59<01:09, 928kiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:10, 915kiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:04, 999kiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:01, 1.05MiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:02, 1.03MiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:05, 977kiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:13, 871kiB/s]
Downloading: 75%|███████▌ | 195M/260M [02:00<01:12, 885kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:00<01:10, 903kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:00<01:12, 881kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:01<01:16, 838kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:01<01:13, 865kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:01<01:13, 866kiB/s]
Downloading: 75%|███████▌ | 196M/260M [02:01<01:15, 840kiB/s]
Downloading: 76%|███████▌ | 196M/260M [02:01<01:15, 846kiB/s]
Downloading: 76%|███████▌ | 196M/260M [02:01<01:25, 740kiB/s]
Downloading: 76%|███████▌ | 196M/260M [02:01<01:21, 779kiB/s]
Downloading: 76%|███████▌ | 196M/260M [02:01<01:15, 841kiB/s]
Downloading: 76%|███████▌ | 196M/260M [02:01<01:16, 830kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:13, 852kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:13, 858kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:15, 833kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:15, 832kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:15, 826kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:15, 823kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:27, 717kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:02<01:21, 767kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:03<01:20, 771kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:03<01:25, 731kiB/s]
Downloading: 76%|███████▌ | 197M/260M [02:03<01:22, 751kiB/s]
Downloading: 76%|███████▌ | 198M/260M [02:03<01:23, 746kiB/s]
Downloading: 76%|███████▌ | 198M/260M [02:03<01:25, 729kiB/s]
Downloading: 76%|███████▌ | 198M/260M [02:03<01:13, 840kiB/s]
Downloading: 76%|███████▌ | 198M/260M [02:03<01:16, 804kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:03<01:09, 889kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:03<01:09, 889kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:04<01:08, 890kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:04<01:10, 872kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:04<01:10, 865kiB/s]
Downloading: 76%|███████▋ | 198M/260M [02:04<01:12, 845kiB/s]
Downloading: 76%|███████▋ | 199M/260M [02:04<01:15, 810kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:04<01:13, 826kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:04<01:11, 853kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:04<01:18, 771kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:05<01:24, 719kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:05<01:32, 657kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:05<01:48, 558kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:06<04:21, 231kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:06<05:12, 193kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:06<05:20, 189kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:06<05:51, 172kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<05:43, 176kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<05:55, 169kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<05:50, 172kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<08:11, 123kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<07:59, 126kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<07:49, 128kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:07<07:36, 132kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:08<07:09, 140kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:08<08:07, 123kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:08<12:28, 80.4kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:08<06:07, 164kiB/s]
Downloading: 77%|███████▋ | 199M/260M [02:08<05:47, 173kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<04:44, 211kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<04:39, 214kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<03:55, 255kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<03:42, 270kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<04:02, 247kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<04:37, 216kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:09<03:19, 299kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<02:55, 340kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<02:40, 371kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<02:29, 399kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<02:33, 389kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<01:53, 526kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<01:51, 531kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<01:48, 545kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:10<01:38, 604kiB/s]
Downloading: 77%|███████▋ | 200M/260M [02:11<01:21, 721kiB/s]
Downloading: 77%|███████▋ | 201M/260M [02:11<01:19, 744kiB/s]
Downloading: 77%|███████▋ | 201M/260M [02:11<01:19, 738kiB/s]
Downloading: 77%|███████▋ | 201M/260M [02:11<01:16, 765kiB/s]
Downloading: 77%|███████▋ | 201M/260M [02:11<00:54, 1.07MiB/s]
Downloading: 77%|███████▋ | 201M/260M [02:11<00:52, 1.11MiB/s]
Downloading: 78%|███████▊ | 201M/260M [02:11<00:48, 1.20MiB/s]
Downloading: 78%|███████▊ | 201M/260M [02:11<00:46, 1.25MiB/s]
Downloading: 78%|███████▊ | 201M/260M [02:11<00:43, 1.33MiB/s]
Downloading: 78%|███████▊ | 202M/260M [02:12<00:46, 1.24MiB/s]
Downloading: 78%|███████▊ | 202M/260M [02:12<00:44, 1.30MiB/s]
Downloading: 78%|███████▊ | 202M/260M [02:12<00:36, 1.59MiB/s]
Downloading: 78%|███████▊ | 202M/260M [02:12<00:36, 1.59MiB/s]
Downloading: 78%|███████▊ | 202M/260M [02:12<00:35, 1.62MiB/s]
Downloading: 78%|███████▊ | 203M/260M [02:12<00:29, 1.95MiB/s]
Downloading: 78%|███████▊ | 203M/260M [02:12<00:24, 2.28MiB/s]
Downloading: 78%|███████▊ | 203M/260M [02:12<00:28, 1.99MiB/s]
Downloading: 78%|███████▊ | 203M/260M [02:12<00:27, 2.05MiB/s]
Downloading: 79%|███████▊ | 204M/260M [02:13<00:22, 2.50MiB/s]
Downloading: 79%|███████▊ | 204M/260M [02:13<00:22, 2.46MiB/s]
Downloading: 79%|███████▊ | 204M/260M [02:13<00:22, 2.43MiB/s]
Downloading: 79%|███████▉ | 205M/260M [02:13<00:21, 2.53MiB/s]
Downloading: 79%|███████▉ | 205M/260M [02:13<00:22, 2.42MiB/s]
Downloading: 79%|███████▉ | 205M/260M [02:13<00:22, 2.40MiB/s]
Downloading: 79%|███████▉ | 205M/260M [02:13<00:20, 2.62MiB/s]
Downloading: 79%|███████▉ | 206M/260M [02:13<00:21, 2.50MiB/s]
Downloading: 79%|███████▉ | 206M/260M [02:13<00:23, 2.26MiB/s]
Downloading: 79%|███████▉ | 206M/260M [02:14<00:25, 2.07MiB/s]
Downloading: 80%|███████▉ | 206M/260M [02:14<00:24, 2.16MiB/s]
Downloading: 80%|███████▉ | 207M/260M [02:14<00:25, 2.11MiB/s]
Downloading: 80%|███████▉ | 207M/260M [02:14<00:26, 1.99MiB/s]
Downloading: 80%|███████▉ | 207M/260M [02:14<00:28, 1.82MiB/s]
Downloading: 80%|███████▉ | 207M/260M [02:14<00:23, 2.17MiB/s]
Downloading: 80%|████████ | 208M/260M [02:14<00:22, 2.30MiB/s]
Downloading: 80%|████████ | 208M/260M [02:14<00:24, 2.14MiB/s]
Downloading: 80%|████████ | 208M/260M [02:14<00:23, 2.19MiB/s]
Downloading: 80%|████████ | 209M/260M [02:15<00:20, 2.48MiB/s]
Downloading: 80%|████████ | 209M/260M [02:15<00:20, 2.45MiB/s]
Downloading: 81%|████████ | 209M/260M [02:15<00:21, 2.37MiB/s]
Downloading: 81%|████████ | 209M/260M [02:15<00:20, 2.48MiB/s]
Downloading: 81%|████████ | 210M/260M [02:15<00:21, 2.29MiB/s]
Downloading: 81%|████████ | 210M/260M [02:15<00:22, 2.22MiB/s]
Downloading: 81%|████████ | 210M/260M [02:15<00:22, 2.22MiB/s]
Downloading: 81%|████████ | 210M/260M [02:15<00:22, 2.18MiB/s]
Downloading: 81%|████████ | 210M/260M [02:15<00:23, 2.10MiB/s]
Downloading: 81%|████████ | 211M/260M [02:16<00:26, 1.87MiB/s]
Downloading: 81%|████████▏ | 211M/260M [02:16<00:20, 2.32MiB/s]
Downloading: 81%|████████▏ | 211M/260M [02:16<00:21, 2.29MiB/s]
Downloading: 82%|████████▏ | 212M/260M [02:16<00:24, 1.99MiB/s]
Downloading: 82%|████████▏ | 212M/260M [02:16<00:21, 2.21MiB/s]
Downloading: 82%|████████▏ | 212M/260M [02:16<00:22, 2.16MiB/s]
Downloading: 82%|████████▏ | 212M/260M [02:16<00:21, 2.25MiB/s]
Downloading: 82%|████████▏ | 213M/260M [02:16<00:20, 2.24MiB/s]
Downloading: 82%|████████▏ | 213M/260M [02:17<00:20, 2.32MiB/s]
Downloading: 82%|████████▏ | 213M/260M [02:17<00:20, 2.25MiB/s]
Downloading: 82%|████████▏ | 213M/260M [02:17<00:24, 1.89MiB/s]
Downloading: 82%|████████▏ | 213M/260M [02:17<00:25, 1.81MiB/s]
Downloading: 82%|████████▏ | 214M/260M [02:17<00:22, 2.02MiB/s]
Downloading: 82%|████████▏ | 214M/260M [02:17<00:24, 1.88MiB/s]
Downloading: 83%|████████▎ | 214M/260M [02:17<00:23, 1.90MiB/s]
Downloading: 83%|████████▎ | 214M/260M [02:17<00:21, 2.13MiB/s]
Downloading: 83%|████████▎ | 215M/260M [02:17<00:20, 2.14MiB/s]
Downloading: 83%|████████▎ | 215M/260M [02:18<00:22, 1.98MiB/s]
Downloading: 83%|████████▎ | 215M/260M [02:18<00:24, 1.80MiB/s]
Downloading: 83%|████████▎ | 215M/260M [02:18<00:24, 1.83MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:18<00:22, 1.93MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:18<00:24, 1.82MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:18<00:27, 1.59MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:18<00:27, 1.57MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:18<00:27, 1.55MiB/s]
Downloading: 83%|████████▎ | 216M/260M [02:19<00:28, 1.50MiB/s]
Downloading: 83%|████████▎ | 217M/260M [02:19<00:28, 1.50MiB/s]
Downloading: 83%|████████▎ | 217M/260M [02:19<00:29, 1.48MiB/s]
Downloading: 84%|████████▎ | 217M/260M [02:19<00:28, 1.48MiB/s]
Downloading: 84%|████████▎ | 217M/260M [02:19<00:30, 1.42MiB/s]
Downloading: 84%|████████▎ | 217M/260M [02:19<00:34, 1.22MiB/s]
Downloading: 84%|████████▎ | 217M/260M [02:19<00:34, 1.22MiB/s]
Downloading: 84%|████████▍ | 217M/260M [02:19<00:34, 1.22MiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:19<00:34, 1.22MiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:20<00:34, 1.23MiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:20<01:38, 424kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:21<02:18, 302kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:22<03:18, 209kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:22<03:48, 182kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:22<03:54, 177kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:23<04:17, 161kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:23<05:22, 129kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:23<05:03, 137kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:23<04:26, 155kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:24<03:55, 176kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:24<03:02, 227kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:24<02:21, 292kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:24<01:52, 366kiB/s]
Downloading: 84%|████████▍ | 218M/260M [02:24<01:36, 427kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:24<01:23, 490kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:24<01:09, 592kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:24<01:01, 661kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:24<00:59, 685kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:25<00:59, 684kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:25<00:56, 717kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:25<00:50, 799kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:25<00:53, 753kiB/s]
Downloading: 84%|████████▍ | 219M/260M [02:25<00:52, 770kiB/s]
Downloading: 85%|████████▍ | 219M/260M [02:25<00:52, 766kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:25<00:44, 901kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:25<00:45, 871kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:45, 869kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:43, 917kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:43, 914kiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:39, 1.01MiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:37, 1.04MiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:37, 1.03MiB/s]
Downloading: 85%|████████▍ | 220M/260M [02:26<00:32, 1.21MiB/s]
Downloading: 85%|████████▍ | 221M/260M [02:26<00:29, 1.33MiB/s]
Downloading: 85%|████████▌ | 221M/260M [02:26<00:31, 1.23MiB/s]
Downloading: 85%|████████▌ | 221M/260M [02:26<00:31, 1.22MiB/s]
Downloading: 85%|████████▌ | 221M/260M [02:27<00:26, 1.45MiB/s]
Downloading: 85%|████████▌ | 221M/260M [02:27<00:27, 1.40MiB/s]
Downloading: 85%|████████▌ | 221M/260M [02:27<00:25, 1.49MiB/s]
Downloading: 85%|████████▌ | 222M/260M [02:27<00:25, 1.49MiB/s]
Downloading: 85%|████████▌ | 222M/260M [02:27<00:29, 1.29MiB/s]
Downloading: 85%|████████▌ | 222M/260M [02:27<00:27, 1.37MiB/s]
Downloading: 86%|████████▌ | 222M/260M [02:27<00:28, 1.33MiB/s]
Downloading: 86%|████████▌ | 222M/260M [02:27<00:28, 1.33MiB/s]
Downloading: 86%|████████▌ | 222M/260M [02:28<00:36, 1.02MiB/s]
Downloading: 86%|████████▌ | 222M/260M [02:28<00:33, 1.10MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:31, 1.18MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:30, 1.19MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:25, 1.42MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:23, 1.56MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:22, 1.58MiB/s]
Downloading: 86%|████████▌ | 223M/260M [02:28<00:23, 1.52MiB/s]
Downloading: 86%|████████▌ | 224M/260M [02:28<00:22, 1.58MiB/s]
Downloading: 86%|████████▌ | 224M/260M [02:29<00:23, 1.54MiB/s]
Downloading: 86%|████████▋ | 224M/260M [02:29<00:23, 1.54MiB/s]
Downloading: 86%|████████▋ | 224M/260M [02:29<00:25, 1.40MiB/s]
Downloading: 86%|████████▋ | 224M/260M [02:29<00:25, 1.36MiB/s]
Downloading: 86%|████████▋ | 224M/260M [02:29<00:26, 1.32MiB/s]
Downloading: 87%|████████▋ | 225M/260M [02:29<00:26, 1.32MiB/s]
Downloading: 87%|████████▋ | 225M/260M [02:29<00:23, 1.45MiB/s]
Downloading: 87%|████████▋ | 225M/260M [02:29<00:22, 1.54MiB/s]
Downloading: 87%|████████▋ | 225M/260M [02:29<00:22, 1.54MiB/s]
Downloading: 87%|████████▋ | 225M/260M [02:30<00:22, 1.55MiB/s]
Downloading: 87%|████████▋ | 226M/260M [02:30<00:18, 1.81MiB/s]
Downloading: 87%|████████▋ | 226M/260M [02:30<00:17, 1.88MiB/s]
Downloading: 87%|████████▋ | 226M/260M [02:30<00:18, 1.84MiB/s]
Downloading: 87%|████████▋ | 226M/260M [02:30<00:18, 1.82MiB/s]
Downloading: 87%|████████▋ | 226M/260M [02:30<00:18, 1.81MiB/s]
Downloading: 87%|████████▋ | 227M/260M [02:30<00:18, 1.75MiB/s]
Downloading: 87%|████████▋ | 227M/260M [02:30<00:17, 1.84MiB/s]
Downloading: 87%|████████▋ | 227M/260M [02:30<00:18, 1.78MiB/s]
Downloading: 88%|████████▊ | 227M/260M [02:31<00:18, 1.73MiB/s]
Downloading: 88%|████████▊ | 227M/260M [02:31<00:19, 1.63MiB/s]
Downloading: 88%|████████▊ | 227M/260M [02:31<00:19, 1.64MiB/s]
Downloading: 88%|████████▊ | 228M/260M [02:31<00:19, 1.60MiB/s]
Downloading: 88%|████████▊ | 228M/260M [02:31<00:20, 1.57MiB/s]
Downloading: 88%|████████▊ | 228M/260M [02:31<00:19, 1.64MiB/s]
Downloading: 88%|████████▊ | 228M/260M [02:31<00:18, 1.70MiB/s]
Downloading: 88%|████████▊ | 228M/260M [02:31<00:17, 1.79MiB/s]
Downloading: 88%|████████▊ | 229M/260M [02:32<00:18, 1.66MiB/s]
Downloading: 88%|████████▊ | 229M/260M [02:32<00:15, 1.97MiB/s]
Downloading: 88%|████████▊ | 229M/260M [02:32<00:16, 1.90MiB/s]
Downloading: 88%|████████▊ | 229M/260M [02:32<00:15, 1.99MiB/s]
Downloading: 88%|████████▊ | 230M/260M [02:32<00:15, 1.96MiB/s]
Downloading: 89%|████████▊ | 230M/260M [02:32<00:17, 1.67MiB/s]
Downloading: 89%|████████▊ | 230M/260M [02:32<00:18, 1.64MiB/s]
Downloading: 89%|████████▊ | 230M/260M [02:32<00:17, 1.70MiB/s]
Downloading: 89%|████████▉ | 230M/260M [02:32<00:16, 1.78MiB/s]
Downloading: 89%|████████▉ | 231M/260M [02:33<00:15, 1.84MiB/s]
Downloading: 89%|████████▉ | 231M/260M [02:33<00:16, 1.78MiB/s]
Downloading: 89%|████████▉ | 231M/260M [02:33<00:17, 1.64MiB/s]
Downloading: 89%|████████▉ | 231M/260M [02:33<00:15, 1.86MiB/s]
Downloading: 89%|████████▉ | 231M/260M [02:33<00:14, 1.89MiB/s]
Downloading: 89%|████████▉ | 232M/260M [02:33<00:15, 1.84MiB/s]
Downloading: 89%|████████▉ | 232M/260M [02:33<00:14, 1.87MiB/s]
Downloading: 89%|████████▉ | 232M/260M [02:33<00:13, 2.04MiB/s]
Downloading: 89%|████████▉ | 232M/260M [02:33<00:13, 2.00MiB/s]
Downloading: 90%|████████▉ | 232M/260M [02:34<00:14, 1.89MiB/s]
Downloading: 90%|████████▉ | 233M/260M [02:34<00:14, 1.79MiB/s]
Downloading: 90%|████████▉ | 233M/260M [02:34<00:14, 1.84MiB/s]
Downloading: 90%|████████▉ | 233M/260M [02:34<00:15, 1.66MiB/s]
Downloading: 90%|████████▉ | 233M/260M [02:34<00:15, 1.72MiB/s]
Downloading: 90%|████████▉ | 233M/260M [02:34<00:16, 1.62MiB/s]
Downloading: 90%|█████████ | 234M/260M [02:34<00:14, 1.79MiB/s]
Downloading: 90%|█████████ | 234M/260M [02:34<00:15, 1.68MiB/s]
Downloading: 90%|█████████ | 234M/260M [02:35<00:14, 1.77MiB/s]
Downloading: 90%|█████████ | 234M/260M [02:35<00:23, 1.09MiB/s]
Downloading: 90%|█████████ | 234M/260M [02:36<01:06, 381kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:37<01:31, 274kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:38<01:57, 213kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:38<02:24, 173kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:38<01:52, 220kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:39<01:54, 216kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:39<01:46, 232kiB/s]
Downloading: 90%|█████████ | 235M/260M [02:39<01:44, 236kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:39<01:44, 236kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:39<01:30, 270kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:39<01:20, 304kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:39<01:18, 313kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<01:16, 322kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<01:17, 317kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<01:10, 347kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<00:54, 448kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<00:42, 574kiB/s]
Downloading: 91%|█████████ | 235M/260M [02:40<00:33, 710kiB/s]
Downloading: 91%|█████████ | 236M/260M [02:40<00:27, 857kiB/s]
Downloading: 91%|█████████ | 236M/260M [02:40<00:25, 941kiB/s]
Downloading: 91%|█████████ | 236M/260M [02:40<00:21, 1.11MiB/s]
Downloading: 91%|█████████ | 236M/260M [02:41<00:19, 1.19MiB/s]
Downloading: 91%|█████████ | 236M/260M [02:41<00:17, 1.31MiB/s]
Downloading: 91%|█████████ | 236M/260M [02:41<00:15, 1.51MiB/s]
Downloading: 91%|█████████ | 237M/260M [02:41<00:13, 1.66MiB/s]
Downloading: 91%|█████████▏| 237M/260M [02:41<00:12, 1.88MiB/s]
Downloading: 91%|█████████▏| 237M/260M [02:41<00:11, 1.97MiB/s]
Downloading: 91%|█████████▏| 237M/260M [02:41<00:10, 2.19MiB/s]
Downloading: 92%|█████████▏| 238M/260M [02:41<00:10, 2.11MiB/s]
Downloading: 92%|█████████▏| 238M/260M [02:41<00:09, 2.28MiB/s]
Downloading: 92%|█████████▏| 238M/260M [02:41<00:08, 2.53MiB/s]
Downloading: 92%|█████████▏| 238M/260M [02:42<00:08, 2.51MiB/s]
Downloading: 92%|█████████▏| 239M/260M [02:42<00:07, 2.86MiB/s]
Downloading: 92%|█████████▏| 239M/260M [02:42<00:06, 3.06MiB/s]
Downloading: 92%|█████████▏| 240M/260M [02:42<00:05, 3.40MiB/s]
Downloading: 92%|█████████▏| 240M/260M [02:42<00:05, 3.35MiB/s]
Downloading: 93%|█████████▎| 240M/260M [02:42<00:06, 3.16MiB/s]
Downloading: 93%|█████████▎| 241M/260M [02:42<00:06, 3.09MiB/s]
Downloading: 93%|█████████▎| 241M/260M [02:42<00:06, 2.93MiB/s]
Downloading: 93%|█████████▎| 241M/260M [02:42<00:05, 3.15MiB/s]
Downloading: 93%|█████████▎| 242M/260M [02:43<00:04, 3.88MiB/s]
Downloading: 93%|█████████▎| 242M/260M [02:43<00:04, 3.48MiB/s]
Downloading: 94%|█████████▎| 243M/260M [02:43<00:05, 3.13MiB/s]
Downloading: 94%|█████████▍| 243M/260M [02:43<00:04, 3.94MiB/s]
Downloading: 94%|█████████▍| 244M/260M [02:43<00:03, 4.00MiB/s]
Downloading: 94%|█████████▍| 244M/260M [02:43<00:03, 3.84MiB/s]
Downloading: 94%|█████████▍| 245M/260M [02:43<00:03, 4.17MiB/s]
Downloading: 94%|█████████▍| 245M/260M [02:43<00:03, 3.80MiB/s]
Downloading: 95%|█████████▍| 246M/260M [02:44<00:03, 4.06MiB/s]
Downloading: 95%|█████████▍| 246M/260M [02:44<00:03, 3.82MiB/s]
Downloading: 95%|█████████▍| 246M/260M [02:44<00:03, 3.56MiB/s]
Downloading: 95%|█████████▌| 247M/260M [02:44<00:03, 3.91MiB/s]
Downloading: 95%|█████████▌| 247M/260M [02:44<00:02, 4.06MiB/s]
Downloading: 95%|█████████▌| 248M/260M [02:44<00:03, 3.80MiB/s]
Downloading: 96%|█████████▌| 248M/260M [02:44<00:03, 3.34MiB/s]
Downloading: 96%|█████████▌| 249M/260M [02:44<00:03, 3.24MiB/s]
Downloading: 96%|█████████▌| 249M/260M [02:44<00:02, 3.57MiB/s]
Downloading: 96%|█████████▌| 250M/260M [02:45<00:02, 3.84MiB/s]
Downloading: 96%|█████████▋| 250M/260M [02:45<00:02, 3.70MiB/s]
Downloading: 96%|█████████▋| 250M/260M [02:45<00:02, 3.69MiB/s]
Downloading: 97%|█████████▋| 251M/260M [02:45<00:02, 3.68MiB/s]
Downloading: 97%|█████████▋| 251M/260M [02:45<00:02, 3.53MiB/s]
Downloading: 97%|█████████▋| 252M/260M [02:45<00:02, 3.75MiB/s]
Downloading: 97%|█████████▋| 252M/260M [02:45<00:01, 4.02MiB/s]
Downloading: 97%|█████████▋| 252M/260M [02:45<00:01, 3.82MiB/s]
Downloading: 97%|█████████▋| 253M/260M [02:45<00:01, 4.18MiB/s]
Downloading: 98%|█████████▊| 253M/260M [02:46<00:01, 3.88MiB/s]
Downloading: 98%|█████████▊| 254M/260M [02:46<00:01, 3.58MiB/s]
Downloading: 98%|█████████▊| 254M/260M [02:46<00:01, 3.89MiB/s]
Downloading: 98%|█████████▊| 255M/260M [02:46<00:01, 3.69MiB/s]
Downloading: 98%|█████████▊| 255M/260M [02:46<00:01, 4.17MiB/s]
Downloading: 98%|█████████▊| 256M/260M [02:46<00:01, 3.78MiB/s]
Downloading: 99%|█████████▊| 256M/260M [02:46<00:00, 3.65MiB/s]
Downloading: 99%|█████████▉| 256M/260M [02:46<00:00, 3.40MiB/s]
Downloading: 99%|█████████▉| 257M/260M [02:47<00:00, 3.57MiB/s]
Downloading: 99%|█████████▉| 257M/260M [02:47<00:00, 3.95MiB/s]
Downloading: 99%|█████████▉| 258M/260M [02:47<00:00, 3.47MiB/s]
Downloading: 99%|█████████▉| 258M/260M [02:47<00:00, 3.74MiB/s]
Downloading: 100%|█████████▉| 259M/260M [02:47<00:00, 4.02MiB/s]
Downloading: 100%|█████████▉| 259M/260M [02:47<00:00, 4.06MiB/s]
Downloading: 100%|██████████| 260M/260M [02:47<00:00, 1.55MiB/s]
Extracting: 0%| | 0/324045 [00:00<?, ?file/s]
Extracting: 1%| | 2749/324045 [00:00<00:11, 27486.88file/s]
Extracting: 2%|▏ | 5967/324045 [00:00<00:10, 30243.27file/s]
Extracting: 3%|▎ | 9413/324045 [00:00<00:09, 32167.14file/s]
Extracting: 4%|▍ | 12786/324045 [00:00<00:09, 32780.92file/s]
Extracting: 5%|▌ | 16249/324045 [00:00<00:09, 33446.44file/s]
Extracting: 6%|▌ | 19594/324045 [00:00<00:09, 33426.20file/s]
Extracting: 7%|▋ | 22937/324045 [00:00<00:09, 32192.43file/s]
Extracting: 8%|▊ | 26344/324045 [00:00<00:09, 32773.86file/s]
Extracting: 9%|▉ | 29629/324045 [00:00<00:09, 32000.39file/s]
Extracting: 10%|█ | 33082/324045 [00:01<00:08, 32757.61file/s]
Extracting: 11%|█ | 36366/324045 [00:01<00:08, 32714.77file/s]
Extracting: 12%|█▏ | 39643/324045 [00:01<00:08, 31730.55file/s]
Extracting: 13%|█▎ | 42825/324045 [00:01<00:08, 31371.47file/s]
Extracting: 14%|█▍ | 45969/324045 [00:01<00:08, 31380.41file/s]
Extracting: 15%|█▌ | 49254/324045 [00:01<00:08, 31811.92file/s]
Extracting: 16%|█▌ | 52580/324045 [00:01<00:08, 32238.66file/s]
Extracting: 17%|█▋ | 55958/324045 [00:01<00:08, 32694.67file/s]
Extracting: 18%|█▊ | 59315/324045 [00:01<00:08, 32953.09file/s]
Extracting: 19%|█▉ | 62613/324045 [00:01<00:08, 32390.96file/s]
Extracting: 20%|██ | 66085/324045 [00:02<00:07, 33076.88file/s]
Extracting: 21%|██▏ | 69455/324045 [00:02<00:07, 33260.43file/s]
Extracting: 22%|██▏ | 72784/324045 [00:02<00:07, 33166.67file/s]
Extracting: 24%|██▎ | 76240/324045 [00:02<00:07, 33581.17file/s]
Extracting: 25%|██▍ | 79613/324045 [00:02<00:07, 33624.95file/s]
Extracting: 26%|██▌ | 83008/324045 [00:02<00:07, 33719.85file/s]
Extracting: 27%|██▋ | 86472/324045 [00:02<00:06, 33994.04file/s]
Extracting: 28%|██▊ | 89873/324045 [00:02<00:07, 33339.31file/s]
Extracting: 29%|██▉ | 93275/324045 [00:02<00:06, 33538.13file/s]
Extracting: 30%|██▉ | 96632/324045 [00:02<00:06, 33500.64file/s]
Extracting: 31%|███ | 99984/324045 [00:03<00:06, 32695.36file/s]
Extracting: 32%|███▏ | 103283/324045 [00:03<00:06, 32780.55file/s]
Extracting: 33%|███▎ | 106565/324045 [00:03<00:06, 32269.00file/s]
Extracting: 34%|███▍ | 109899/324045 [00:03<00:06, 32582.75file/s]
Extracting: 35%|███▍ | 113161/324045 [00:03<00:06, 31898.36file/s]
Extracting: 36%|███▌ | 116356/324045 [00:03<00:06, 31466.39file/s]
Extracting: 37%|███▋ | 119643/324045 [00:03<00:06, 31874.12file/s]
Extracting: 38%|███▊ | 123068/324045 [00:03<00:06, 32571.54file/s]
Extracting: 39%|███▉ | 126381/324045 [00:03<00:06, 32736.36file/s]
Extracting: 40%|████ | 129818/324045 [00:03<00:05, 33220.02file/s]
Extracting: 41%|████ | 133143/324045 [00:04<00:05, 33202.03file/s]
Extracting: 42%|████▏ | 136520/324045 [00:04<00:05, 33356.70file/s]
Extracting: 43%|████▎ | 139881/324045 [00:04<00:05, 33431.67file/s]
Extracting: 44%|████▍ | 143226/324045 [00:04<00:05, 32002.14file/s]
Extracting: 45%|████▌ | 146544/324045 [00:04<00:05, 32341.43file/s]
Extracting: 46%|████▋ | 149947/324045 [00:04<00:05, 32834.41file/s]
Extracting: 47%|████▋ | 153397/324045 [00:04<00:05, 33324.97file/s]
Extracting: 48%|████▊ | 156737/324045 [00:04<00:05, 32588.52file/s]
Extracting: 49%|████▉ | 160128/324045 [00:04<00:04, 32974.26file/s]
Extracting: 50%|█████ | 163432/324045 [00:05<00:04, 32417.61file/s]
Extracting: 51%|█████▏ | 166680/324045 [00:05<00:04, 32385.32file/s]
Extracting: 52%|█████▏ | 169923/324045 [00:05<00:04, 31896.47file/s]
Extracting: 53%|█████▎ | 173283/324045 [00:05<00:04, 32395.01file/s]
Extracting: 54%|█████▍ | 176527/324045 [00:05<00:04, 31676.88file/s]
Extracting: 55%|█████▌ | 179811/324045 [00:05<00:04, 32014.74file/s]
Extracting: 56%|█████▋ | 183027/324045 [00:05<00:04, 32043.98file/s]
Extracting: 57%|█████▋ | 186235/324045 [00:05<00:04, 31313.41file/s]
Extracting: 59%|█████▊ | 189664/324045 [00:05<00:04, 32182.64file/s]
Extracting: 60%|█████▉ | 193036/324045 [00:05<00:04, 32634.58file/s]
Extracting: 61%|██████ | 196410/324045 [00:06<00:03, 32960.45file/s]
Extracting: 62%|██████▏ | 199710/324045 [00:06<00:03, 32564.57file/s]
Extracting: 63%|██████▎ | 202970/324045 [00:06<00:03, 32540.96file/s]
Extracting: 64%|██████▎ | 206227/324045 [00:06<00:03, 32167.22file/s]
Extracting: 65%|██████▍ | 209545/324045 [00:06<00:03, 32465.49file/s]
Extracting: 66%|██████▌ | 212886/324045 [00:06<00:03, 32744.08file/s]
Extracting: 67%|██████▋ | 216163/324045 [00:06<00:03, 31636.46file/s]
Extracting: 68%|██████▊ | 219336/324045 [00:06<00:03, 31656.27file/s]
Extracting: 69%|██████▊ | 222552/324045 [00:06<00:03, 31802.72file/s]
Extracting: 70%|██████▉ | 225737/324045 [00:06<00:03, 31158.55file/s]
Extracting: 71%|███████ | 229155/324045 [00:07<00:02, 32041.84file/s]
Extracting: 72%|███████▏ | 232366/324045 [00:07<00:02, 31693.53file/s]
Extracting: 73%|███████▎ | 235827/324045 [00:07<00:02, 32548.14file/s]
Extracting: 74%|███████▍ | 239087/324045 [00:07<00:02, 32230.56file/s]
Extracting: 75%|███████▍ | 242314/324045 [00:07<00:02, 32016.43file/s]
Extracting: 76%|███████▌ | 245664/324045 [00:07<00:02, 32453.45file/s]
Extracting: 77%|███████▋ | 248912/324045 [00:07<00:02, 31689.03file/s]
Extracting: 78%|███████▊ | 252310/324045 [00:07<00:02, 32356.38file/s]
Extracting: 79%|███████▉ | 255559/324045 [00:07<00:02, 32394.24file/s]
Extracting: 80%|███████▉ | 258803/324045 [00:07<00:02, 32291.19file/s]
Extracting: 81%|████████ | 262035/324045 [00:08<00:01, 32135.60file/s]
Extracting: 82%|████████▏ | 265285/324045 [00:08<00:01, 32241.67file/s]
Extracting: 83%|████████▎ | 268670/324045 [00:08<00:01, 32717.80file/s]
Extracting: 84%|████████▍ | 272033/324045 [00:08<00:01, 32986.94file/s]
Extracting: 85%|████████▌ | 275457/324045 [00:08<00:01, 33360.76file/s]
Extracting: 86%|████████▌ | 278794/324045 [00:08<00:01, 32033.45file/s]
Extracting: 87%|████████▋ | 282009/324045 [00:08<00:01, 31725.49file/s]
Extracting: 88%|████████▊ | 285309/324045 [00:08<00:01, 32096.48file/s]
Extracting: 89%|████████▉ | 288526/324045 [00:08<00:01, 31500.76file/s]
Extracting: 90%|█████████ | 291968/324045 [00:09<00:00, 32350.65file/s]
Extracting: 91%|█████████ | 295210/324045 [00:09<00:00, 31313.51file/s]
Extracting: 92%|█████████▏| 298352/324045 [00:09<00:00, 31150.10file/s]
Extracting: 93%|█████████▎| 301526/324045 [00:09<00:00, 31319.55file/s]
Extracting: 94%|█████████▍| 304758/324045 [00:09<00:00, 31610.96file/s]
Extracting: 95%|█████████▌| 307924/324045 [00:09<00:00, 31137.93file/s]
Extracting: 96%|█████████▌| 311195/324045 [00:09<00:00, 31597.99file/s]
Extracting: 97%|█████████▋| 314366/324045 [00:09<00:00, 31628.56file/s]
Extracting: 98%|█████████▊| 317612/324045 [00:09<00:00, 31874.70file/s]
Extracting: 99%|█████████▉| 320802/324045 [00:09<00:00, 31872.42file/s]
Extracting: 100%|██████████| 324045/324045 [00:10<00:00, 32348.47file/s]
Extracted to /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/
Using default config file.
using dataset: MetaFi DATA
S02 ['A02', 'A03', 'A04', 'A05', 'A14', 'A18', 'A19', 'A21', 'A22', 'A23', 'A27']
S03 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22']
S05 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S06 ['A02', 'A04', 'A05', 'A14', 'A17', 'A18', 'A20', 'A21', 'A22', 'A23', 'A27']
S08 ['A02', 'A03', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A23', 'A27']
S09 ['A02', 'A17', 'A18', 'A20', 'A21', 'A22', 'A23', 'A27']
S11 ['A02', 'A03', 'A04', 'A13', 'A14', 'A18', 'A20', 'A21', 'A22', 'A23']
S12 ['A02', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A27']
S13 ['A02', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A27']
S14 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A23']
S15 ['A02', 'A03', 'A04', 'A05', 'A13', 'A17', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S16 ['A02', 'A05', 'A13', 'A14', 'A18', 'A19', 'A20', 'A22', 'A23', 'A27']
S17 ['A02', 'A03', 'A04', 'A05', 'A13', 'A18', 'A19', 'A20', 'A21', 'A23']
S18 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A23', 'A27']
S19 ['A02', 'A03', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23']
S21 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A18', 'A20', 'A21', 'A22', 'A23', 'A27']
S23 ['A02', 'A03', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A21', 'A22', 'A27']
S25 ['A02', 'A03', 'A04', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S26 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A19', 'A20', 'A23']
S27 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A20', 'A21', 'A22', 'A23']
S28 ['A02', 'A03', 'A04', 'A05', 'A13', 'A17', 'A18', 'A19', 'A21', 'A27']
S29 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A19', 'A22', 'A23', 'A27']
S30 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A22', 'A23', 'A27']
S31 ['A02', 'A03', 'A04', 'A05', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S32 ['A02', 'A03', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S33 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S34 ['A02', 'A03', 'A04', 'A13', 'A14', 'A17', 'A18', 'A19', 'A23', 'A27']
S35 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23']
S36 ['A02', 'A03', 'A05', 'A13', 'A19', 'A20', 'A21', 'A22', 'A27']
S37 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A22', 'A23', 'A27']
S38 ['A02', 'A04', 'A05', 'A13', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S40 ['A02', 'A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A21', 'A22', 'A23', 'A27']
S04 ['A03', 'A04', 'A14', 'A17', 'A20', 'A21', 'A22', 'A27']
S07 ['A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A27']
S20 ['A03', 'A04', 'A13', 'A14', 'A17', 'A20', 'A21', 'A22', 'A23', 'A27']
S22 ['A03', 'A04', 'A13', 'A14', 'A17', 'A18', 'A20', 'A21', 'A22', 'A23', 'A27']
S24 ['A03', 'A04', 'A05', 'A14', 'A17', 'A19', 'A20', 'A21', 'A22', 'A23', 'A27']
S39 ['A03', 'A04', 'A05', 'A13', 'A14', 'A17', 'A18', 'A19', 'A21', 'A22', 'A23', 'A27']
S01 ['A04', 'A14', 'A17', 'A18', 'A19', 'A20', 'A22', 'A23', 'A27']
S10 ['A04', 'A05', 'A18', 'A19', 'A20', 'A22', 'A23', 'A27']
S01 ['A02', 'A03', 'A05', 'A13', 'A21']
S04 ['A02', 'A05', 'A13', 'A18', 'A19', 'A23']
S07 ['A02', 'A23']
S10 ['A02', 'A03', 'A13', 'A14', 'A17', 'A21']
S20 ['A02', 'A05', 'A18', 'A19']
S22 ['A02', 'A05', 'A19']
S24 ['A02', 'A13', 'A18']
S39 ['A02', 'A20']
S06 ['A03', 'A13', 'A19']
S09 ['A03', 'A04', 'A05', 'A13', 'A14', 'A19']
S12 ['A03', 'A04', 'A23']
S13 ['A03', 'A22', 'A23']
S16 ['A03', 'A04', 'A17', 'A21']
S38 ['A03', 'A14']
S08 ['A04', 'A22']
S19 ['A04', 'A27']
S23 ['A04', 'A20', 'A23']
S32 ['A04']
S36 ['A04', 'A14', 'A17', 'A18', 'A23']
S11 ['A05', 'A17', 'A19', 'A27']
S25 ['A05']
S34 ['A05', 'A20', 'A21', 'A22']
S02 ['A13', 'A17', 'A20']
S31 ['A13', 'A14']
S15 ['A14', 'A18']
S17 ['A14', 'A17', 'A22', 'A27']
S28 ['A14', 'A20', 'A22', 'A23']
S21 ['A17', 'A19']
S26 ['A17', 'A18', 'A21', 'A22', 'A27']
S05 ['A18']
S29 ['A18', 'A20', 'A21']
S27 ['A19', 'A27']
S30 ['A20', 'A21']
S40 ['A20']
S37 ['A21']
S14 ['A22', 'A27']
S18 ['A22']
S03 ['A23', 'A27']
S35 ['A27']
Visualize the PC data¶
In[6]:
from matplotlib import pyplot as plt
from pysensing.mmwave.PC.tutorial.plot import plot_3d_graph
# Example of the samples in the dataset
index = 10 # Randomly select an index
pc,pose = train_dataset.__getitem__(index)
print(pc.shape, type(pose))
plot_3d_graph(pose, pc[0])

(5, 150, 5) <class 'torch.Tensor'>
Create model¶
mmFi utilizes PointTransformer model as a baseline hpe method. From model.hpe, we can import desired hpe model designed for mmWave PC. The model parameter for PointTransformer reimplemented for mmFi is as follows:
In[7]:
from pysensing.mmwave.PC.model.hpe import PointTransformerReg
model = PointTransformerReg(
input_dim = 5,
nblocks = 5,
n_p = 17
)
print(model)
PointTransformerReg(
(backbone): Backbone(
(fc1): Sequential(
(0): Linear(in_features=5, out_features=32, bias=True)
(1): ReLU()
(2): Linear(in_features=32, out_features=32, bias=True)
)
(transformer1): TransformerBlock(
(fc1): Linear(in_features=32, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=32, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(transition_downs): ModuleList(
(0): TransitionDown(
(conv1): Sequential(
(0): Conv1d(35, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(64, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(1): TransitionDown(
(conv1): Sequential(
(0): Conv1d(67, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(128, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(2): TransitionDown(
(conv1): Sequential(
(0): Conv1d(131, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(256, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(3): TransitionDown(
(conv1): Sequential(
(0): Conv1d(259, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(512, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
)
(transformers): ModuleList(
(0): TransformerBlock(
(fc1): Linear(in_features=64, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=64, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(1): TransformerBlock(
(fc1): Linear(in_features=128, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=128, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(2): TransformerBlock(
(fc1): Linear(in_features=256, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=256, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(3): TransformerBlock(
(fc1): Linear(in_features=512, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=512, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
)
)
(transformer): Transformer(
(layers): ModuleList(
(0-4): 5 x ModuleList(
(0): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): Attention(
(to_k): Linear(in_features=512, out_features=512, bias=False)
(to_v): Linear(in_features=512, out_features=512, bias=False)
(to_q): Linear(in_features=512, out_features=512, bias=False)
(to_out): Sequential(
(0): Linear(in_features=512, out_features=512, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
)
)
)
)
(1): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): FeedForward(
(net): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
(3): Linear(in_features=256, out_features=512, bias=True)
(4): Dropout(p=0.0, inplace=False)
)
)
)
)
)
)
)
(fc2): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): Dropout(p=0.0, inplace=False)
(2): ReLU()
(3): Linear(in_features=256, out_features=32, bias=True)
)
(fc3): Sequential(
(0): ReLU()
(1): Linear(in_features=32, out_features=64, bias=True)
(2): Dropout(p=0.0, inplace=False)
(3): ReLU()
(4): Linear(in_features=64, out_features=3, bias=True)
)
)
A shortcut for loading the hpe model to avoid the tedious hyper-parameter setting.
In[8]:
from pysensing.mmwave.PC.model.hpe import load_hpe_model
model = load_hpe_model("MetaFi", "PointTransformer")
print(model)
PointTransformerReg(
(backbone): Backbone(
(fc1): Sequential(
(0): Linear(in_features=5, out_features=32, bias=True)
(1): ReLU()
(2): Linear(in_features=32, out_features=32, bias=True)
)
(transformer1): TransformerBlock(
(fc1): Linear(in_features=32, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=32, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(transition_downs): ModuleList(
(0): TransitionDown(
(conv1): Sequential(
(0): Conv1d(35, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(64, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(1): TransitionDown(
(conv1): Sequential(
(0): Conv1d(67, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(128, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(2): TransitionDown(
(conv1): Sequential(
(0): Conv1d(131, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(256, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(3): TransitionDown(
(conv1): Sequential(
(0): Conv1d(259, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(512, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
)
(transformers): ModuleList(
(0): TransformerBlock(
(fc1): Linear(in_features=64, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=64, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(1): TransformerBlock(
(fc1): Linear(in_features=128, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=128, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(2): TransformerBlock(
(fc1): Linear(in_features=256, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=256, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(3): TransformerBlock(
(fc1): Linear(in_features=512, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=512, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
)
)
(transformer): Transformer(
(layers): ModuleList(
(0-4): 5 x ModuleList(
(0): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): Attention(
(to_k): Linear(in_features=512, out_features=512, bias=False)
(to_v): Linear(in_features=512, out_features=512, bias=False)
(to_q): Linear(in_features=512, out_features=512, bias=False)
(to_out): Sequential(
(0): Linear(in_features=512, out_features=512, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
)
)
)
)
(1): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): FeedForward(
(net): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
(3): Linear(in_features=256, out_features=512, bias=True)
(4): Dropout(p=0.0, inplace=False)
)
)
)
)
)
)
)
(fc2): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): Dropout(p=0.0, inplace=False)
(2): ReLU()
(3): Linear(in_features=256, out_features=32, bias=True)
)
(fc3): Sequential(
(0): ReLU()
(1): Linear(in_features=32, out_features=64, bias=True)
(2): Dropout(p=0.0, inplace=False)
(3): ReLU()
(4): Linear(in_features=64, out_features=3, bias=True)
)
)
Model Train¶
pysensing library support quick training of model with the following steps. The training interface incorporates pytorch loss functions, optimizers and dataloaders to facilate training. An example is provided for how to define the aforemetioned terms.
In[11]:
# Create pytorch dataloaders
train_loader = torch.utils.data.DataLoader(train_dataset, shuffle=True, batch_size=16, num_workers=16)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=16, shuffle=False, num_workers=16)
# Define pytorch loss function as criterion
criterion = nn.CrossEntropyLoss()
# Define pytorch optimizer for training
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
# GPU acceleration with cuda
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
A quick training using hpe_train. The resulted model parameters will be saved into “train_{num_epochs}.pth”.
In[12]:
# Pysensing training interface
from pysensing.mmwave.PC.inference.hpe import hpe_train
# hpe_train(model, train_loader, num_epochs=1, optimizer=optimizer, criterion=criterion, device=device)
Model inference¶
Load the pretrained model, e.g. from https://pysensing.oss-ap-southeast-1.aliyuncs.com/pretrain/mmwave_pc/hpe/MetaFi_PointTransformer.pth , and perform human pose estimation!
In[13]:
# load pretrained model
from pysensing.mmwave.PC.inference import load_pretrain
model = load_pretrain(model, "MetaFi", "PointTransformer").to(device)
model.eval()
Use pretrained model!
PointTransformerReg(
(backbone): Backbone(
(fc1): Sequential(
(0): Linear(in_features=5, out_features=32, bias=True)
(1): ReLU()
(2): Linear(in_features=32, out_features=32, bias=True)
)
(transformer1): TransformerBlock(
(fc1): Linear(in_features=32, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=32, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(transition_downs): ModuleList(
(0): TransitionDown(
(conv1): Sequential(
(0): Conv1d(35, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(64, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(1): TransitionDown(
(conv1): Sequential(
(0): Conv1d(67, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(128, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(2): TransitionDown(
(conv1): Sequential(
(0): Conv1d(131, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(256, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(3): TransitionDown(
(conv1): Sequential(
(0): Conv1d(259, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(512, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
)
(transformers): ModuleList(
(0): TransformerBlock(
(fc1): Linear(in_features=64, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=64, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(1): TransformerBlock(
(fc1): Linear(in_features=128, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=128, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(2): TransformerBlock(
(fc1): Linear(in_features=256, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=256, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(3): TransformerBlock(
(fc1): Linear(in_features=512, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=512, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
)
)
(transformer): Transformer(
(layers): ModuleList(
(0-4): 5 x ModuleList(
(0): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): Attention(
(to_k): Linear(in_features=512, out_features=512, bias=False)
(to_v): Linear(in_features=512, out_features=512, bias=False)
(to_q): Linear(in_features=512, out_features=512, bias=False)
(to_out): Sequential(
(0): Linear(in_features=512, out_features=512, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
)
)
)
)
(1): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): FeedForward(
(net): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
(3): Linear(in_features=256, out_features=512, bias=True)
(4): Dropout(p=0.0, inplace=False)
)
)
)
)
)
)
)
(fc2): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): Dropout(p=0.0, inplace=False)
(2): ReLU()
(3): Linear(in_features=256, out_features=32, bias=True)
)
(fc3): Sequential(
(0): ReLU()
(1): Linear(in_features=32, out_features=64, bias=True)
(2): Dropout(p=0.0, inplace=False)
(3): ReLU()
(4): Linear(in_features=64, out_features=3, bias=True)
)
)
Test the model on testing dataset.
In[14]:
from pysensing.mmwave.PC.inference.hpe import hpe_test
# hpe_test(model, test_loader, criterion=criterion, device=device)
Model inference on sample and deep feature embedding of input modality in HPE task.
In[15]:
# Model inference
idx = 5
points, pose= test_dataset.__getitem__(idx)
points = torch.tensor(points).unsqueeze(0).float().to(device)
predicted_result = model(points)
print("The predicted pose is {}, while the ground truth is {}".format(predicted_result.cpu(),pose))
# Deep feature embedding
from pysensing.mmwave.PC.inference.embedding import embedding
emb = embedding(input = points, model=model, dataset_name = "MetaFi", model_name = "PointTransformer", device=device)
print("The shape of feature embedding is: ", emb.shape)
The predicted pose is tensor([[[-0.1173, 0.0153, 3.0501],
[-0.2115, 0.0202, 3.0561],
[-0.2253, 0.3597, 3.0622],
[-0.2422, 0.7359, 3.0763],
[ 0.0275, -0.0367, 3.0689],
[ 0.0280, 0.3391, 3.0851],
[ 0.0785, 0.7613, 3.1083],
[-0.1009, -0.2694, 3.0435],
[-0.0910, -0.5694, 3.0297],
[-0.0988, -0.6771, 3.0037],
[-0.1014, -0.7289, 3.0262],
[ 0.0349, -0.5211, 3.0320],
[ 0.2234, -0.4633, 2.9764],
[ 0.1241, -0.5345, 2.8527],
[-0.1986, -0.5264, 3.0985],
[-0.3518, -0.4575, 3.0666],
[-0.2247, -0.4778, 2.9471]]], grad_fn=<ToCopyBackward0>), while the ground truth is tensor([[-0.0626, -0.0378, 3.3111],
[-0.1724, -0.0395, 3.3111],
[-0.1786, 0.3689, 3.3083],
[-0.2026, 0.7605, 3.3111],
[ 0.0473, -0.0362, 3.3111],
[ 0.0633, 0.3689, 3.3111],
[ 0.0673, 0.7605, 3.3111],
[-0.0685, -0.3322, 3.3016],
[-0.0744, -0.6267, 3.2920],
[-0.0642, -0.7458, 3.2512],
[-0.0653, -0.8049, 3.2850],
[ 0.0914, -0.5671, 3.3118],
[ 0.3367, -0.5248, 3.3104],
[ 0.2930, -0.5677, 3.0678],
[-0.2505, -0.5671, 3.3131],
[-0.5012, -0.5671, 3.3116],
[-0.4514, -0.5674, 3.0686]])
The shape of feature embedding is: torch.Size([1, 17, 32])
mmDiff: diffusion model for mmWave radar HPE¶
Load Diffusion Runner with model initialized. This process will define the setting for model and dataset. Currently two settings are implemented: 1. “mmBody + P4Transformer”:
Phase 1: Input [b, 4, 5000, 6]; Output: [b, 17, 3] and [b, 17, 64]. Phase 2: GRC, LRC, TMC, SLC
- “MetaFi + PointTransformer”:
Phase 1: Input [b, 5, 150, 5]; Output: [b, 17, 3] and [b, 17, 32]. Phase 2: GRC, TMC, SLC
In[16]:
from pysensing.mmwave.PC.model.hpe.mmDiff.load_mmDiff import load_mmDiff
mmDiffRunner = load_mmDiff("MetaFi")
Self.model_feat vadility passes.
MMdiff using PointTransformer as feature extractor.
- Phase 1 Training: Can train phase 1 from scratch (is_train = True) or load pretrained phase 1 model (is_train = False).
Set is_save = True to facilitate phase 2 training acceleration.
If phase 1 features are saved, set is_save = False.
In[17]:
mmDiffRunner.phase1_train(train_dataset, test_dataset, is_train=False, is_save=False)
Phase 1 use pretrained model!
Phase 1 can also receive self defined model and the model should follow the setting defined above. The Self-defined model should output coarse joints and coarse joint features.
In[18]:
# Self defined model should output coarse joints and coarse joint features
from pysensing.mmwave.PC.model.hpe.pointTrans import PointTransformerReg_feat
model = PointTransformerReg_feat(
input_dim = 5,
nblocks = 5,
n_p = 17
)
print(model)
mmDiffRunner.phase1_train(train_dataset, test_dataset, model_self=model, is_train=False, is_save=False)
PointTransformerReg_feat(
(backbone): Backbone(
(fc1): Sequential(
(0): Linear(in_features=5, out_features=32, bias=True)
(1): ReLU()
(2): Linear(in_features=32, out_features=32, bias=True)
)
(transformer1): TransformerBlock(
(fc1): Linear(in_features=32, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=32, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(transition_downs): ModuleList(
(0): TransitionDown(
(conv1): Sequential(
(0): Conv1d(35, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(64, 64, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(1): TransitionDown(
(conv1): Sequential(
(0): Conv1d(67, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(128, 128, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(2): TransitionDown(
(conv1): Sequential(
(0): Conv1d(131, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(256, 256, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
(3): TransitionDown(
(conv1): Sequential(
(0): Conv1d(259, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
(conv2): Sequential(
(0): Conv1d(512, 512, kernel_size=(1,), stride=(1,))
(1): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(2): ReLU()
)
)
)
(transformers): ModuleList(
(0): TransformerBlock(
(fc1): Linear(in_features=64, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=64, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(1): TransformerBlock(
(fc1): Linear(in_features=128, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=128, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(2): TransformerBlock(
(fc1): Linear(in_features=256, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=256, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
(3): TransformerBlock(
(fc1): Linear(in_features=512, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=512, bias=True)
(fc_delta): Sequential(
(0): Linear(in_features=3, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(fc_gamma): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU()
(2): Linear(in_features=128, out_features=128, bias=True)
)
(w_qs): Linear(in_features=128, out_features=128, bias=False)
(w_ks): Linear(in_features=128, out_features=128, bias=False)
(w_vs): Linear(in_features=128, out_features=128, bias=False)
)
)
)
(transformer): Transformer(
(layers): ModuleList(
(0-4): 5 x ModuleList(
(0): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): Attention(
(to_k): Linear(in_features=512, out_features=512, bias=False)
(to_v): Linear(in_features=512, out_features=512, bias=False)
(to_q): Linear(in_features=512, out_features=512, bias=False)
(to_out): Sequential(
(0): Linear(in_features=512, out_features=512, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
)
)
)
)
(1): Residual(
(fn): PreNorm(
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(fn): FeedForward(
(net): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): GELU(approximate='none')
(2): Dropout(p=0.0, inplace=False)
(3): Linear(in_features=256, out_features=512, bias=True)
(4): Dropout(p=0.0, inplace=False)
)
)
)
)
)
)
)
(fc2): Sequential(
(0): Linear(in_features=512, out_features=256, bias=True)
(1): Dropout(p=0.0, inplace=False)
(2): ReLU()
(3): Linear(in_features=256, out_features=32, bias=True)
)
(fc3): Sequential(
(0): ReLU()
(1): Linear(in_features=32, out_features=64, bias=True)
(2): Dropout(p=0.0, inplace=False)
(3): ReLU()
(4): Linear(in_features=64, out_features=3, bias=True)
)
)
Self.model_feat vadility passes.
Phase 1 use self defined model!
Phase 2 Training: Can train from scratch (is_train = True) or load pretrained phase 2 model (is_train = False).
In[19]:
mmDiffRunner.phase2_train(train_loader = None, is_train = False)
Phase 2 use pretrained model!
Testing mmDiff
In[20]:
#mmDiffRunner.test()
Total running time of the script: (4 minutes 45.885 seconds)