Shortcuts

Tutorial for Human Gesture Recognition

!/usr/bin/env python

coding: utf-8

In[1]:

import yaml
import torch
import torch.nn as nn
from tqdm import tqdm
import os

Dataset with M-Gesture:

Point cloud gesture dataset collected using FMCW mmWave Radar, TI-IWR1443 single-chip 76-GHz to 81-GHz mmWave sensor evaluation module. 2 scenarios are included: short range (i.e. Human-Radar Distance(HRD) < 0.5 m) and long range (i.e. 2m < HRD < 5m); Only long-range gesture recognition is supported as only long-range dataset contain point cloud data.

Load the data

In[2]:

from pysensing.mmwave.PC.dataset.hgr import load_hgr_dataset
# The path contains the radHAR dataset
train_dataset, test_dataset = load_hgr_dataset("M-Gesture")
Try to download M-Gesture dateset in /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/mGesture
Downloading M-Gesture to /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/mGesture.zip...

Downloading:   0%|          | 0.00/220M [00:00<?, ?iB/s]
Downloading:   0%|          | 16.4k/220M [00:00<54:39, 67.1kiB/s]
Downloading:   0%|          | 65.5k/220M [00:00<26:41, 137kiB/s]
Downloading:   0%|          | 180k/220M [00:00<09:48, 374kiB/s]
Downloading:   0%|          | 234k/220M [00:00<10:25, 352kiB/s]
Downloading:   0%|          | 328k/220M [00:02<27:58, 131kiB/s]
Downloading:   0%|          | 410k/220M [00:02<21:08, 173kiB/s]
Downloading:   0%|          | 492k/220M [00:02<16:00, 229kiB/s]
Downloading:   0%|          | 617k/220M [00:02<10:24, 352kiB/s]
Downloading:   0%|          | 687k/220M [00:02<09:38, 380kiB/s]
Downloading:   0%|          | 786k/220M [00:03<11:59, 305kiB/s]
Downloading:   0%|          | 868k/220M [00:03<10:00, 365kiB/s]
Downloading:   1%|          | 1.18M/220M [00:03<04:43, 774kiB/s]
Downloading:   1%|          | 1.30M/220M [00:03<05:21, 681kiB/s]
Downloading:   1%|          | 1.41M/220M [00:03<05:46, 631kiB/s]
Downloading:   1%|          | 1.49M/220M [00:03<06:40, 546kiB/s]
Downloading:   1%|          | 1.57M/220M [00:04<06:24, 569kiB/s]
Downloading:   1%|          | 1.64M/220M [00:04<08:23, 434kiB/s]
Downloading:   1%|          | 1.69M/220M [00:04<09:03, 402kiB/s]
Downloading:   1%|          | 1.84M/220M [00:04<06:40, 545kiB/s]
Downloading:   1%|          | 1.90M/220M [00:04<06:33, 555kiB/s]
Downloading:   1%|          | 1.97M/220M [00:04<06:29, 560kiB/s]
Downloading:   1%|          | 2.03M/220M [00:05<06:18, 577kiB/s]
Downloading:   1%|          | 2.10M/220M [00:05<06:19, 576kiB/s]
Downloading:   1%|          | 2.16M/220M [00:05<06:20, 574kiB/s]
Downloading:   1%|          | 2.24M/220M [00:05<05:58, 609kiB/s]
Downloading:   1%|          | 2.33M/220M [00:05<05:57, 609kiB/s]
Downloading:   1%|          | 2.41M/220M [00:05<05:43, 634kiB/s]
Downloading:   1%|          | 2.50M/220M [00:05<05:06, 711kiB/s]
Downloading:   1%|          | 2.59M/220M [00:05<04:58, 730kiB/s]
Downloading:   1%|          | 2.69M/220M [00:05<04:46, 758kiB/s]
Downloading:   1%|▏         | 2.80M/220M [00:06<04:25, 817kiB/s]
Downloading:   1%|▏         | 2.90M/220M [00:06<04:12, 860kiB/s]
Downloading:   1%|▏         | 3.01M/220M [00:06<03:57, 913kiB/s]
Downloading:   1%|▏         | 3.13M/220M [00:06<04:04, 888kiB/s]
Downloading:   1%|▏         | 3.24M/220M [00:06<03:48, 952kiB/s]
Downloading:   2%|▏         | 3.36M/220M [00:06<03:42, 974kiB/s]
Downloading:   2%|▏         | 3.47M/220M [00:06<03:34, 1.01MiB/s]
Downloading:   2%|▏         | 3.59M/220M [00:06<03:34, 1.01MiB/s]
Downloading:   2%|▏         | 3.69M/220M [00:06<03:33, 1.01MiB/s]
Downloading:   2%|▏         | 3.80M/220M [00:07<03:30, 1.03MiB/s]
Downloading:   2%|▏         | 3.92M/220M [00:07<03:28, 1.04MiB/s]
Downloading:   2%|▏         | 4.03M/220M [00:07<03:24, 1.05MiB/s]
Downloading:   2%|▏         | 4.14M/220M [00:07<03:38, 991kiB/s]
Downloading:   2%|▏         | 4.26M/220M [00:07<03:26, 1.05MiB/s]
Downloading:   2%|▏         | 4.41M/220M [00:07<03:13, 1.11MiB/s]
Downloading:   2%|▏         | 4.52M/220M [00:07<03:12, 1.12MiB/s]
Downloading:   2%|▏         | 4.69M/220M [00:07<02:54, 1.23MiB/s]
Downloading:   2%|▏         | 4.82M/220M [00:07<02:54, 1.23MiB/s]
Downloading:   2%|▏         | 4.98M/220M [00:08<02:42, 1.32MiB/s]
Downloading:   2%|▏         | 5.11M/220M [00:08<02:49, 1.27MiB/s]
Downloading:   2%|▏         | 5.26M/220M [00:08<02:46, 1.29MiB/s]
Downloading:   2%|▏         | 5.39M/220M [00:08<02:46, 1.29MiB/s]
Downloading:   3%|▎         | 5.52M/220M [00:08<02:46, 1.29MiB/s]
Downloading:   3%|▎         | 5.65M/220M [00:08<02:48, 1.27MiB/s]
Downloading:   3%|▎         | 5.78M/220M [00:08<03:05, 1.16MiB/s]
Downloading:   3%|▎         | 5.90M/220M [00:08<03:04, 1.16MiB/s]
Downloading:   3%|▎         | 6.01M/220M [00:08<03:39, 975kiB/s]
Downloading:   3%|▎         | 6.13M/220M [00:09<03:34, 998kiB/s]
Downloading:   3%|▎         | 6.23M/220M [00:09<03:40, 969kiB/s]
Downloading:   3%|▎         | 6.33M/220M [00:09<03:49, 932kiB/s]
Downloading:   3%|▎         | 6.47M/220M [00:09<03:30, 1.02MiB/s]
Downloading:   3%|▎         | 6.58M/220M [00:09<05:01, 708kiB/s]
Downloading:   3%|▎         | 6.67M/220M [00:09<04:44, 751kiB/s]
Downloading:   3%|▎         | 6.85M/220M [00:09<03:36, 984kiB/s]
Downloading:   3%|▎         | 7.00M/220M [00:10<03:17, 1.08MiB/s]
Downloading:   3%|▎         | 7.27M/220M [00:10<02:21, 1.50MiB/s]
Downloading:   3%|▎         | 7.47M/220M [00:10<02:11, 1.61MiB/s]
Downloading:   4%|▎         | 7.82M/220M [00:10<01:41, 2.10MiB/s]
Downloading:   4%|▎         | 8.11M/220M [00:10<01:30, 2.34MiB/s]
Downloading:   4%|▍         | 8.40M/220M [00:10<01:25, 2.48MiB/s]
Downloading:   4%|▍         | 8.66M/220M [00:10<01:41, 2.09MiB/s]
Downloading:   4%|▍         | 8.89M/220M [00:10<01:51, 1.90MiB/s]
Downloading:   4%|▍         | 9.09M/220M [00:11<02:05, 1.68MiB/s]
Downloading:   4%|▍         | 9.27M/220M [00:11<02:40, 1.32MiB/s]
Downloading:   4%|▍         | 9.42M/220M [00:11<02:50, 1.23MiB/s]
Downloading:   4%|▍         | 9.56M/220M [00:11<02:58, 1.18MiB/s]
Downloading:   4%|▍         | 9.68M/220M [00:11<03:00, 1.17MiB/s]
Downloading:   4%|▍         | 9.83M/220M [00:11<02:50, 1.23MiB/s]
Downloading:   5%|▍         | 9.98M/220M [00:11<02:43, 1.28MiB/s]
Downloading:   5%|▍         | 10.1M/220M [00:11<02:45, 1.27MiB/s]
Downloading:   5%|▍         | 10.3M/220M [00:12<02:45, 1.27MiB/s]
Downloading:   5%|▍         | 10.4M/220M [00:12<02:48, 1.24MiB/s]
Downloading:   5%|▍         | 10.5M/220M [00:12<02:53, 1.21MiB/s]
Downloading:   5%|▍         | 10.6M/220M [00:12<03:06, 1.12MiB/s]
Downloading:   5%|▍         | 10.7M/220M [00:12<03:10, 1.10MiB/s]
Downloading:   5%|▍         | 10.9M/220M [00:12<03:11, 1.09MiB/s]
Downloading:   5%|▍         | 11.0M/220M [00:12<03:15, 1.07MiB/s]
Downloading:   5%|▌         | 11.1M/220M [00:12<03:16, 1.06MiB/s]
Downloading:   5%|▌         | 11.2M/220M [00:12<03:19, 1.05MiB/s]
Downloading:   5%|▌         | 11.3M/220M [00:13<03:09, 1.10MiB/s]
Downloading:   5%|▌         | 11.4M/220M [00:13<03:08, 1.11MiB/s]
Downloading:   5%|▌         | 11.6M/220M [00:13<03:03, 1.13MiB/s]
Downloading:   5%|▌         | 11.7M/220M [00:13<03:26, 1.01MiB/s]
Downloading:   5%|▌         | 11.8M/220M [00:13<03:09, 1.10MiB/s]
Downloading:   5%|▌         | 12.0M/220M [00:13<02:54, 1.19MiB/s]
Downloading:   6%|▌         | 12.1M/220M [00:13<02:47, 1.24MiB/s]
Downloading:   6%|▌         | 12.3M/220M [00:13<02:41, 1.29MiB/s]
Downloading:   6%|▌         | 12.4M/220M [00:13<02:42, 1.28MiB/s]
Downloading:   6%|▌         | 12.5M/220M [00:14<02:45, 1.26MiB/s]
Downloading:   6%|▌         | 12.7M/220M [00:14<02:46, 1.25MiB/s]
Downloading:   6%|▌         | 12.8M/220M [00:14<04:54, 705kiB/s]
Downloading:   6%|▌         | 12.9M/220M [00:15<08:17, 417kiB/s]
Downloading:   6%|▌         | 13.0M/220M [00:15<10:48, 319kiB/s]
Downloading:   6%|▌         | 13.0M/220M [00:15<13:40, 253kiB/s]
Downloading:   6%|▌         | 13.1M/220M [00:16<16:56, 204kiB/s]
Downloading:   6%|▌         | 13.1M/220M [00:16<20:58, 165kiB/s]
Downloading:   6%|▌         | 13.1M/220M [00:17<23:10, 149kiB/s]
Downloading:   6%|▌         | 13.2M/220M [00:17<20:56, 165kiB/s]
Downloading:   6%|▌         | 13.2M/220M [00:17<20:23, 169kiB/s]
Downloading:   6%|▌         | 13.2M/220M [00:17<24:56, 138kiB/s]
Downloading:   6%|▌         | 13.2M/220M [00:17<25:18, 136kiB/s]
Downloading:   6%|▌         | 13.3M/220M [00:17<24:42, 140kiB/s]
Downloading:   6%|▌         | 13.3M/220M [00:18<22:03, 156kiB/s]
Downloading:   6%|▌         | 13.3M/220M [00:18<19:14, 179kiB/s]
Downloading:   6%|▌         | 13.4M/220M [00:18<15:28, 223kiB/s]
Downloading:   6%|▌         | 13.4M/220M [00:18<14:41, 235kiB/s]
Downloading:   6%|▌         | 13.4M/220M [00:18<13:34, 254kiB/s]
Downloading:   6%|▌         | 13.5M/220M [00:18<12:11, 283kiB/s]
Downloading:   6%|▌         | 13.5M/220M [00:18<11:46, 293kiB/s]
Downloading:   6%|▌         | 13.6M/220M [00:19<10:58, 314kiB/s]
Downloading:   6%|▌         | 13.6M/220M [00:19<09:42, 355kiB/s]
Downloading:   6%|▌         | 13.7M/220M [00:19<09:50, 350kiB/s]
Downloading:   6%|▌         | 13.7M/220M [00:19<07:51, 438kiB/s]
Downloading:   6%|▋         | 13.8M/220M [00:19<07:25, 463kiB/s]
Downloading:   6%|▋         | 13.8M/220M [00:19<07:36, 452kiB/s]
Downloading:   6%|▋         | 13.9M/220M [00:19<06:49, 503kiB/s]
Downloading:   6%|▋         | 14.0M/220M [00:19<06:57, 494kiB/s]
Downloading:   6%|▋         | 14.0M/220M [00:19<06:56, 495kiB/s]
Downloading:   6%|▋         | 14.1M/220M [00:20<06:26, 533kiB/s]
Downloading:   6%|▋         | 14.2M/220M [00:20<06:12, 553kiB/s]
Downloading:   6%|▋         | 14.2M/220M [00:20<06:41, 514kiB/s]
Downloading:   6%|▋         | 14.3M/220M [00:20<06:45, 508kiB/s]
Downloading:   7%|▋         | 14.3M/220M [00:20<08:03, 426kiB/s]
Downloading:   7%|▋         | 14.4M/220M [00:20<06:48, 504kiB/s]
Downloading:   7%|▋         | 14.5M/220M [00:20<05:56, 578kiB/s]
Downloading:   7%|▋         | 14.6M/220M [00:20<05:36, 611kiB/s]
Downloading:   7%|▋         | 14.7M/220M [00:21<05:23, 636kiB/s]
Downloading:   7%|▋         | 14.8M/220M [00:21<04:34, 749kiB/s]
Downloading:   7%|▋         | 14.9M/220M [00:21<04:14, 806kiB/s]
Downloading:   7%|▋         | 15.0M/220M [00:21<04:07, 829kiB/s]
Downloading:   7%|▋         | 15.1M/220M [00:21<03:44, 913kiB/s]
Downloading:   7%|▋         | 15.2M/220M [00:21<03:32, 966kiB/s]
Downloading:   7%|▋         | 15.3M/220M [00:21<03:53, 878kiB/s]
Downloading:   7%|▋         | 15.4M/220M [00:21<03:26, 993kiB/s]
Downloading:   7%|▋         | 15.6M/220M [00:21<03:05, 1.10MiB/s]
Downloading:   7%|▋         | 15.7M/220M [00:22<03:00, 1.14MiB/s]
Downloading:   7%|▋         | 15.8M/220M [00:22<03:04, 1.11MiB/s]
Downloading:   7%|▋         | 16.0M/220M [00:22<02:49, 1.20MiB/s]
Downloading:   7%|▋         | 16.1M/220M [00:22<02:52, 1.19MiB/s]
Downloading:   7%|▋         | 16.2M/220M [00:22<03:01, 1.13MiB/s]
Downloading:   7%|▋         | 16.4M/220M [00:22<02:53, 1.18MiB/s]
Downloading:   8%|▊         | 16.5M/220M [00:22<02:44, 1.24MiB/s]
Downloading:   8%|▊         | 16.7M/220M [00:22<02:47, 1.22MiB/s]
Downloading:   8%|▊         | 16.8M/220M [00:22<02:59, 1.13MiB/s]
Downloading:   8%|▊         | 17.0M/220M [00:23<02:47, 1.22MiB/s]
Downloading:   8%|▊         | 17.1M/220M [00:23<02:35, 1.30MiB/s]
Downloading:   8%|▊         | 17.3M/220M [00:23<02:37, 1.29MiB/s]
Downloading:   8%|▊         | 17.4M/220M [00:23<02:54, 1.16MiB/s]
Downloading:   8%|▊         | 17.5M/220M [00:23<03:06, 1.09MiB/s]
Downloading:   8%|▊         | 17.7M/220M [00:23<02:50, 1.19MiB/s]
Downloading:   8%|▊         | 17.8M/220M [00:23<02:50, 1.19MiB/s]
Downloading:   8%|▊         | 17.9M/220M [00:23<02:51, 1.18MiB/s]
Downloading:   8%|▊         | 18.0M/220M [00:23<02:53, 1.16MiB/s]
Downloading:   8%|▊         | 18.1M/220M [00:24<03:11, 1.05MiB/s]
Downloading:   8%|▊         | 18.3M/220M [00:24<02:55, 1.15MiB/s]
Downloading:   8%|▊         | 18.4M/220M [00:24<03:05, 1.09MiB/s]
Downloading:   8%|▊         | 18.5M/220M [00:24<03:36, 931kiB/s]
Downloading:   8%|▊         | 18.6M/220M [00:24<03:34, 940kiB/s]
Downloading:   9%|▊         | 18.7M/220M [00:24<03:39, 920kiB/s]
Downloading:   9%|▊         | 18.8M/220M [00:24<03:28, 968kiB/s]
Downloading:   9%|▊         | 18.9M/220M [00:24<03:36, 930kiB/s]
Downloading:   9%|▊         | 19.0M/220M [00:25<03:42, 902kiB/s]
Downloading:   9%|▊         | 19.2M/220M [00:25<03:36, 929kiB/s]
Downloading:   9%|▉         | 19.3M/220M [00:25<03:15, 1.03MiB/s]
Downloading:   9%|▉         | 19.4M/220M [00:25<03:21, 996kiB/s]
Downloading:   9%|▉         | 19.5M/220M [00:25<03:19, 1.01MiB/s]
Downloading:   9%|▉         | 19.6M/220M [00:25<03:11, 1.05MiB/s]
Downloading:   9%|▉         | 19.7M/220M [00:25<03:13, 1.04MiB/s]
Downloading:   9%|▉         | 19.9M/220M [00:25<03:01, 1.10MiB/s]
Downloading:   9%|▉         | 20.0M/220M [00:25<03:17, 1.01MiB/s]
Downloading:   9%|▉         | 20.1M/220M [00:26<02:59, 1.11MiB/s]
Downloading:   9%|▉         | 20.3M/220M [00:26<02:48, 1.19MiB/s]
Downloading:   9%|▉         | 20.4M/220M [00:26<02:35, 1.29MiB/s]
Downloading:   9%|▉         | 20.6M/220M [00:26<02:44, 1.21MiB/s]
Downloading:   9%|▉         | 20.7M/220M [00:26<02:51, 1.17MiB/s]
Downloading:   9%|▉         | 20.9M/220M [00:26<02:36, 1.27MiB/s]
Downloading:  10%|▉         | 21.0M/220M [00:26<02:31, 1.31MiB/s]
Downloading:  10%|▉         | 21.2M/220M [00:26<02:33, 1.30MiB/s]
Downloading:  10%|▉         | 21.3M/220M [00:26<02:31, 1.31MiB/s]
Downloading:  10%|▉         | 21.5M/220M [00:27<02:32, 1.30MiB/s]
Downloading:  10%|▉         | 21.6M/220M [00:27<02:50, 1.16MiB/s]
Downloading:  10%|▉         | 21.8M/220M [00:27<02:22, 1.40MiB/s]
Downloading:  10%|▉         | 22.0M/220M [00:27<02:47, 1.18MiB/s]
Downloading:  10%|█         | 22.1M/220M [00:27<02:57, 1.12MiB/s]
Downloading:  10%|█         | 22.2M/220M [00:27<02:59, 1.10MiB/s]
Downloading:  10%|█         | 22.4M/220M [00:27<02:51, 1.15MiB/s]
Downloading:  10%|█         | 22.5M/220M [00:27<02:53, 1.14MiB/s]
Downloading:  10%|█         | 22.6M/220M [00:28<02:52, 1.15MiB/s]
Downloading:  10%|█         | 22.7M/220M [00:28<03:09, 1.04MiB/s]
Downloading:  10%|█         | 22.9M/220M [00:28<03:04, 1.07MiB/s]
Downloading:  10%|█         | 23.0M/220M [00:28<03:07, 1.05MiB/s]
Downloading:  10%|█         | 23.1M/220M [00:28<03:07, 1.05MiB/s]
Downloading:  11%|█         | 23.2M/220M [00:28<03:30, 938kiB/s]
Downloading:  11%|█         | 23.4M/220M [00:28<02:52, 1.14MiB/s]
Downloading:  11%|█         | 23.5M/220M [00:28<03:07, 1.05MiB/s]
Downloading:  11%|█         | 23.6M/220M [00:29<03:13, 1.02MiB/s]
Downloading:  11%|█         | 23.7M/220M [00:29<03:06, 1.05MiB/s]
Downloading:  11%|█         | 23.8M/220M [00:29<04:59, 656kiB/s]
Downloading:  11%|█         | 23.9M/220M [00:31<18:41, 175kiB/s]
Downloading:  11%|█         | 24.0M/220M [00:32<24:29, 134kiB/s]
Downloading:  11%|█         | 24.0M/220M [00:32<25:15, 129kiB/s]
Downloading:  11%|█         | 24.2M/220M [00:32<19:38, 166kiB/s]
Downloading:  11%|█         | 24.3M/220M [00:33<10:57, 298kiB/s]
Downloading:  11%|█         | 24.4M/220M [00:33<09:08, 357kiB/s]
Downloading:  11%|█         | 24.6M/220M [00:33<06:49, 477kiB/s]
Downloading:  11%|█         | 24.7M/220M [00:33<05:28, 595kiB/s]
Downloading:  11%|█▏        | 24.9M/220M [00:33<04:16, 762kiB/s]
Downloading:  11%|█▏        | 25.1M/220M [00:33<03:35, 906kiB/s]
Downloading:  12%|█▏        | 25.3M/220M [00:33<02:41, 1.21MiB/s]
Downloading:  12%|█▏        | 25.5M/220M [00:33<02:33, 1.27MiB/s]
Downloading:  12%|█▏        | 25.7M/220M [00:33<02:38, 1.23MiB/s]
Downloading:  12%|█▏        | 26.0M/220M [00:34<02:03, 1.57MiB/s]
Downloading:  12%|█▏        | 26.2M/220M [00:34<01:56, 1.67MiB/s]
Downloading:  12%|█▏        | 26.5M/220M [00:34<01:51, 1.74MiB/s]
Downloading:  12%|█▏        | 26.8M/220M [00:34<01:38, 1.97MiB/s]
Downloading:  12%|█▏        | 27.2M/220M [00:34<01:24, 2.27MiB/s]
Downloading:  12%|█▏        | 27.4M/220M [00:34<01:41, 1.90MiB/s]
Downloading:  13%|█▎        | 27.6M/220M [00:34<01:42, 1.87MiB/s]
Downloading:  13%|█▎        | 27.8M/220M [00:35<01:42, 1.88MiB/s]
Downloading:  13%|█▎        | 28.1M/220M [00:35<01:36, 2.00MiB/s]
Downloading:  13%|█▎        | 28.3M/220M [00:35<01:34, 2.03MiB/s]
Downloading:  13%|█▎        | 28.5M/220M [00:35<01:35, 2.02MiB/s]
Downloading:  13%|█▎        | 28.7M/220M [00:35<01:34, 2.02MiB/s]
Downloading:  13%|█▎        | 28.9M/220M [00:35<01:42, 1.88MiB/s]
Downloading:  13%|█▎        | 29.1M/220M [00:35<01:41, 1.88MiB/s]
Downloading:  13%|█▎        | 29.3M/220M [00:35<01:36, 1.99MiB/s]
Downloading:  13%|█▎        | 29.5M/220M [00:35<01:39, 1.92MiB/s]
Downloading:  13%|█▎        | 29.7M/220M [00:36<01:53, 1.68MiB/s]
Downloading:  14%|█▎        | 29.9M/220M [00:36<01:44, 1.82MiB/s]
Downloading:  14%|█▎        | 30.2M/220M [00:36<01:36, 1.97MiB/s]
Downloading:  14%|█▍        | 30.5M/220M [00:36<01:26, 2.20MiB/s]
Downloading:  14%|█▍        | 30.9M/220M [00:36<01:14, 2.55MiB/s]
Downloading:  14%|█▍        | 31.2M/220M [00:36<01:08, 2.77MiB/s]
Downloading:  14%|█▍        | 31.5M/220M [00:36<01:07, 2.80MiB/s]
Downloading:  14%|█▍        | 31.8M/220M [00:36<01:09, 2.69MiB/s]
Downloading:  15%|█▍        | 32.1M/220M [00:36<01:12, 2.59MiB/s]
Downloading:  15%|█▍        | 32.3M/220M [00:37<01:21, 2.31MiB/s]
Downloading:  15%|█▍        | 32.6M/220M [00:37<01:32, 2.03MiB/s]
Downloading:  15%|█▍        | 32.8M/220M [00:37<01:28, 2.12MiB/s]
Downloading:  15%|█▌        | 33.0M/220M [00:37<01:31, 2.05MiB/s]
Downloading:  15%|█▌        | 33.3M/220M [00:37<01:34, 1.99MiB/s]
Downloading:  15%|█▌        | 33.5M/220M [00:37<01:45, 1.77MiB/s]
Downloading:  15%|█▌        | 33.6M/220M [00:37<01:47, 1.73MiB/s]
Downloading:  15%|█▌        | 33.8M/220M [00:37<02:01, 1.54MiB/s]
Downloading:  15%|█▌        | 34.0M/220M [00:38<01:52, 1.65MiB/s]
Downloading:  16%|█▌        | 34.2M/220M [00:38<02:09, 1.44MiB/s]
Downloading:  16%|█▌        | 34.4M/220M [00:38<02:09, 1.44MiB/s]
Downloading:  16%|█▌        | 34.5M/220M [00:38<02:04, 1.50MiB/s]
Downloading:  16%|█▌        | 34.7M/220M [00:38<02:07, 1.46MiB/s]
Downloading:  16%|█▌        | 34.8M/220M [00:38<02:24, 1.28MiB/s]
Downloading:  16%|█▌        | 35.0M/220M [00:38<02:10, 1.41MiB/s]
Downloading:  16%|█▌        | 35.2M/220M [00:38<02:40, 1.15MiB/s]
Downloading:  16%|█▌        | 35.3M/220M [00:39<02:39, 1.16MiB/s]
Downloading:  16%|█▌        | 35.4M/220M [00:39<02:59, 1.03MiB/s]
Downloading:  16%|█▌        | 35.5M/220M [00:39<03:03, 1.01MiB/s]
Downloading:  16%|█▌        | 35.6M/220M [00:39<03:22, 912kiB/s]
Downloading:  16%|█▌        | 35.8M/220M [00:39<03:20, 921kiB/s]
Downloading:  16%|█▋        | 35.9M/220M [00:39<03:12, 957kiB/s]
Downloading:  16%|█▋        | 36.0M/220M [00:39<03:08, 976kiB/s]
Downloading:  16%|█▋        | 36.1M/220M [00:40<03:10, 967kiB/s]
Downloading:  16%|█▋        | 36.3M/220M [00:40<03:11, 962kiB/s]
Downloading:  17%|█▋        | 36.4M/220M [00:40<03:11, 959kiB/s]
Downloading:  17%|█▋        | 36.5M/220M [00:40<04:08, 740kiB/s]
Downloading:  17%|█▋        | 36.5M/220M [00:40<04:12, 727kiB/s]
Downloading:  17%|█▋        | 36.6M/220M [00:40<04:13, 723kiB/s]
Downloading:  17%|█▋        | 36.7M/220M [00:40<04:05, 748kiB/s]
Downloading:  17%|█▋        | 36.9M/220M [00:41<03:57, 772kiB/s]
Downloading:  17%|█▋        | 36.9M/220M [00:41<04:03, 754kiB/s]
Downloading:  17%|█▋        | 37.0M/220M [00:41<04:07, 740kiB/s]
Downloading:  17%|█▋        | 37.1M/220M [00:41<03:55, 777kiB/s]
Downloading:  17%|█▋        | 37.2M/220M [00:41<03:57, 771kiB/s]
Downloading:  17%|█▋        | 37.3M/220M [00:41<03:54, 780kiB/s]
Downloading:  17%|█▋        | 37.4M/220M [00:41<03:58, 767kiB/s]
Downloading:  17%|█▋        | 37.4M/220M [00:41<04:28, 680kiB/s]
Downloading:  17%|█▋        | 37.5M/220M [00:41<04:32, 670kiB/s]
Downloading:  17%|█▋        | 37.6M/220M [00:42<04:08, 736kiB/s]
Downloading:  17%|█▋        | 37.7M/220M [00:42<04:24, 690kiB/s]
Downloading:  17%|█▋        | 37.8M/220M [00:42<04:45, 639kiB/s]
Downloading:  17%|█▋        | 37.8M/220M [00:42<05:04, 598kiB/s]
Downloading:  17%|█▋        | 37.9M/220M [00:42<04:49, 629kiB/s]
Downloading:  17%|█▋        | 38.0M/220M [00:42<05:16, 577kiB/s]
Downloading:  17%|█▋        | 38.0M/220M [00:42<05:13, 581kiB/s]
Downloading:  17%|█▋        | 38.1M/220M [00:42<05:09, 589kiB/s]
Downloading:  17%|█▋        | 38.2M/220M [00:43<04:27, 679kiB/s]
Downloading:  17%|█▋        | 38.3M/220M [00:43<04:13, 718kiB/s]
Downloading:  17%|█▋        | 38.4M/220M [00:43<04:37, 654kiB/s]
Downloading:  17%|█▋        | 38.5M/220M [00:43<04:15, 712kiB/s]
Downloading:  18%|█▊        | 38.6M/220M [00:43<04:19, 701kiB/s]
Downloading:  18%|█▊        | 38.6M/220M [00:43<04:22, 691kiB/s]
Downloading:  18%|█▊        | 38.7M/220M [00:43<04:10, 726kiB/s]
Downloading:  18%|█▊        | 38.8M/220M [00:43<04:09, 729kiB/s]
Downloading:  18%|█▊        | 38.9M/220M [00:43<04:15, 711kiB/s]
Downloading:  18%|█▊        | 38.9M/220M [00:44<04:19, 698kiB/s]
Downloading:  18%|█▊        | 39.0M/220M [00:44<04:48, 628kiB/s]
Downloading:  18%|█▊        | 39.1M/220M [00:44<08:35, 351kiB/s]
Downloading:  18%|█▊        | 39.2M/220M [00:44<08:30, 355kiB/s]
Downloading:  18%|█▊        | 39.2M/220M [00:44<08:55, 338kiB/s]
Downloading:  18%|█▊        | 39.2M/220M [00:45<12:35, 239kiB/s]
Downloading:  18%|█▊        | 39.3M/220M [00:45<12:55, 233kiB/s]
Downloading:  18%|█▊        | 39.3M/220M [00:45<17:01, 177kiB/s]
Downloading:  18%|█▊        | 39.3M/220M [00:46<20:01, 151kiB/s]
Downloading:  18%|█▊        | 39.4M/220M [00:46<20:26, 147kiB/s]
Downloading:  18%|█▊        | 39.4M/220M [00:46<31:17, 96.3kiB/s]
Downloading:  18%|█▊        | 39.4M/220M [00:47<33:11, 90.8kiB/s]
Downloading:  18%|█▊        | 39.4M/220M [00:47<37:19, 80.7kiB/s]
Downloading:  18%|█▊        | 39.5M/220M [00:47<33:53, 88.9kiB/s]
Downloading:  18%|█▊        | 39.5M/220M [00:47<32:29, 92.7kiB/s]
Downloading:  18%|█▊        | 39.5M/220M [00:48<22:26, 134kiB/s]
Downloading:  18%|█▊        | 39.6M/220M [00:48<17:14, 175kiB/s]
Downloading:  18%|█▊        | 39.6M/220M [00:48<17:33, 171kiB/s]
Downloading:  18%|█▊        | 39.6M/220M [00:48<16:55, 178kiB/s]
Downloading:  18%|█▊        | 39.6M/220M [00:48<16:53, 178kiB/s]
Downloading:  18%|█▊        | 39.7M/220M [00:48<16:29, 183kiB/s]
Downloading:  18%|█▊        | 39.7M/220M [00:48<11:22, 264kiB/s]
Downloading:  18%|█▊        | 39.8M/220M [00:49<11:59, 251kiB/s]
Downloading:  18%|█▊        | 39.8M/220M [00:49<10:16, 292kiB/s]
Downloading:  18%|█▊        | 39.9M/220M [00:49<10:32, 285kiB/s]
Downloading:  18%|█▊        | 39.9M/220M [00:49<09:29, 317kiB/s]
Downloading:  18%|█▊        | 40.0M/220M [00:49<07:57, 377kiB/s]
Downloading:  18%|█▊        | 40.1M/220M [00:49<06:02, 497kiB/s]
Downloading:  18%|█▊        | 40.2M/220M [00:49<04:39, 643kiB/s]
Downloading:  18%|█▊        | 40.3M/220M [00:49<03:58, 753kiB/s]
Downloading:  18%|█▊        | 40.5M/220M [00:50<02:55, 1.02MiB/s]
Downloading:  18%|█▊        | 40.7M/220M [00:50<02:21, 1.27MiB/s]
Downloading:  19%|█▊        | 40.9M/220M [00:50<02:08, 1.39MiB/s]
Downloading:  19%|█▊        | 41.1M/220M [00:50<02:06, 1.42MiB/s]
Downloading:  19%|█▉        | 41.3M/220M [00:50<01:42, 1.74MiB/s]
Downloading:  19%|█▉        | 41.5M/220M [00:50<01:43, 1.73MiB/s]
Downloading:  19%|█▉        | 41.8M/220M [00:50<01:30, 1.96MiB/s]
Downloading:  19%|█▉        | 42.1M/220M [00:50<01:37, 1.83MiB/s]
Downloading:  19%|█▉        | 42.4M/220M [00:50<01:19, 2.22MiB/s]
Downloading:  19%|█▉        | 42.8M/220M [00:51<01:10, 2.51MiB/s]
Downloading:  20%|█▉        | 43.0M/220M [00:51<01:13, 2.42MiB/s]
Downloading:  20%|█▉        | 43.3M/220M [00:51<01:12, 2.45MiB/s]
Downloading:  20%|█▉        | 43.6M/220M [00:51<01:27, 2.03MiB/s]
Downloading:  20%|█▉        | 44.0M/220M [00:51<01:10, 2.49MiB/s]
Downloading:  20%|██        | 44.4M/220M [00:51<00:57, 3.04MiB/s]
Downloading:  20%|██        | 44.8M/220M [00:51<01:05, 2.69MiB/s]
Downloading:  21%|██        | 45.2M/220M [00:51<00:57, 3.02MiB/s]
Downloading:  21%|██        | 45.5M/220M [00:52<00:57, 3.03MiB/s]
Downloading:  21%|██        | 45.8M/220M [00:52<01:02, 2.81MiB/s]
Downloading:  21%|██        | 46.2M/220M [00:52<00:58, 2.98MiB/s]
Downloading:  21%|██        | 46.6M/220M [00:52<00:55, 3.15MiB/s]
Downloading:  21%|██▏       | 47.1M/220M [00:52<00:55, 3.11MiB/s]
Downloading:  22%|██▏       | 47.6M/220M [00:52<00:51, 3.36MiB/s]
Downloading:  22%|██▏       | 48.0M/220M [00:52<00:55, 3.10MiB/s]
Downloading:  22%|██▏       | 48.3M/220M [00:52<00:55, 3.10MiB/s]
Downloading:  22%|██▏       | 48.8M/220M [00:53<00:56, 3.05MiB/s]
Downloading:  22%|██▏       | 49.2M/220M [00:53<00:53, 3.18MiB/s]
Downloading:  23%|██▎       | 49.6M/220M [00:53<00:52, 3.24MiB/s]
Downloading:  23%|██▎       | 49.9M/220M [00:53<00:52, 3.24MiB/s]
Downloading:  23%|██▎       | 50.2M/220M [00:53<00:53, 3.15MiB/s]
Downloading:  23%|██▎       | 50.6M/220M [00:53<00:51, 3.32MiB/s]
Downloading:  23%|██▎       | 51.0M/220M [00:53<00:51, 3.32MiB/s]
Downloading:  23%|██▎       | 51.3M/220M [00:53<01:03, 2.67MiB/s]
Downloading:  23%|██▎       | 51.6M/220M [00:54<01:10, 2.41MiB/s]
Downloading:  24%|██▎       | 52.1M/220M [00:54<00:57, 2.94MiB/s]
Downloading:  24%|██▍       | 52.4M/220M [00:54<01:00, 2.79MiB/s]
Downloading:  24%|██▍       | 52.7M/220M [00:54<01:00, 2.75MiB/s]
Downloading:  24%|██▍       | 53.0M/220M [00:54<01:00, 2.75MiB/s]
Downloading:  24%|██▍       | 53.3M/220M [00:54<01:03, 2.62MiB/s]
Downloading:  24%|██▍       | 53.5M/220M [00:54<01:04, 2.58MiB/s]
Downloading:  24%|██▍       | 53.9M/220M [00:54<01:01, 2.70MiB/s]
Downloading:  25%|██▍       | 54.3M/220M [00:55<00:55, 3.01MiB/s]
Downloading:  25%|██▍       | 54.8M/220M [00:55<00:51, 3.21MiB/s]
Downloading:  25%|██▌       | 55.1M/220M [00:55<00:51, 3.18MiB/s]
Downloading:  25%|██▌       | 55.4M/220M [00:55<01:02, 2.63MiB/s]
Downloading:  25%|██▌       | 55.7M/220M [00:55<01:19, 2.08MiB/s]
Downloading:  25%|██▌       | 56.0M/220M [00:55<01:16, 2.15MiB/s]
Downloading:  26%|██▌       | 56.4M/220M [00:55<01:00, 2.69MiB/s]
Downloading:  26%|██▌       | 56.7M/220M [00:55<01:00, 2.68MiB/s]
Downloading:  26%|██▌       | 57.1M/220M [00:56<01:05, 2.48MiB/s]
Downloading:  26%|██▌       | 57.4M/220M [00:56<01:10, 2.31MiB/s]
Downloading:  26%|██▋       | 58.0M/220M [00:56<00:51, 3.15MiB/s]
Downloading:  26%|██▋       | 58.3M/220M [00:56<00:51, 3.13MiB/s]
Downloading:  27%|██▋       | 58.7M/220M [00:56<00:48, 3.31MiB/s]
Downloading:  27%|██▋       | 59.2M/220M [00:56<00:45, 3.55MiB/s]
Downloading:  27%|██▋       | 59.6M/220M [00:56<00:43, 3.72MiB/s]
Downloading:  27%|██▋       | 60.0M/220M [00:56<00:47, 3.37MiB/s]
Downloading:  27%|██▋       | 60.4M/220M [00:57<01:00, 2.65MiB/s]
Downloading:  28%|██▊       | 60.7M/220M [00:57<00:59, 2.68MiB/s]
Downloading:  28%|██▊       | 61.1M/220M [00:57<00:52, 3.06MiB/s]
Downloading:  28%|██▊       | 61.4M/220M [00:57<01:10, 2.25MiB/s]
Downloading:  28%|██▊       | 61.8M/220M [00:57<01:01, 2.56MiB/s]
Downloading:  28%|██▊       | 62.2M/220M [00:57<00:54, 2.90MiB/s]
Downloading:  28%|██▊       | 62.6M/220M [00:57<00:54, 2.88MiB/s]
Downloading:  29%|██▊       | 62.9M/220M [00:58<00:56, 2.78MiB/s]
Downloading:  29%|██▊       | 63.2M/220M [00:58<01:05, 2.41MiB/s]
Downloading:  29%|██▉       | 63.5M/220M [00:58<00:59, 2.62MiB/s]
Downloading:  29%|██▉       | 63.8M/220M [00:58<01:16, 2.03MiB/s]
Downloading:  29%|██▉       | 64.4M/220M [00:58<00:53, 2.89MiB/s]
Downloading:  29%|██▉       | 64.7M/220M [00:58<01:13, 2.12MiB/s]
Downloading:  30%|██▉       | 65.1M/220M [00:59<01:04, 2.41MiB/s]
Downloading:  30%|██▉       | 65.4M/220M [00:59<01:07, 2.29MiB/s]
Downloading:  30%|██▉       | 65.7M/220M [00:59<01:20, 1.93MiB/s]
Downloading:  30%|███       | 66.2M/220M [00:59<01:08, 2.24MiB/s]
Downloading:  30%|███       | 66.4M/220M [00:59<01:10, 2.17MiB/s]
Downloading:  30%|███       | 66.6M/220M [00:59<01:11, 2.14MiB/s]
Downloading:  30%|███       | 66.9M/220M [00:59<01:16, 2.00MiB/s]
Downloading:  31%|███       | 67.2M/220M [01:00<01:10, 2.18MiB/s]
Downloading:  31%|███       | 67.5M/220M [01:00<01:07, 2.28MiB/s]
Downloading:  31%|███       | 67.7M/220M [01:00<01:05, 2.34MiB/s]
Downloading:  31%|███       | 68.0M/220M [01:00<01:05, 2.33MiB/s]
Downloading:  31%|███       | 68.4M/220M [01:00<01:02, 2.43MiB/s]
Downloading:  31%|███       | 68.6M/220M [01:00<01:00, 2.50MiB/s]
Downloading:  31%|███▏      | 68.9M/220M [01:00<00:58, 2.59MiB/s]
Downloading:  31%|███▏      | 69.2M/220M [01:00<00:58, 2.58MiB/s]
Downloading:  32%|███▏      | 69.4M/220M [01:00<01:01, 2.47MiB/s]
Downloading:  32%|███▏      | 69.9M/220M [01:01<00:51, 2.93MiB/s]
Downloading:  32%|███▏      | 70.2M/220M [01:01<00:58, 2.58MiB/s]
Downloading:  32%|███▏      | 70.6M/220M [01:01<00:51, 2.89MiB/s]
Downloading:  32%|███▏      | 71.0M/220M [01:01<00:49, 2.99MiB/s]
Downloading:  32%|███▏      | 71.5M/220M [01:01<00:46, 3.20MiB/s]
Downloading:  33%|███▎      | 71.9M/220M [01:01<00:43, 3.42MiB/s]
Downloading:  33%|███▎      | 72.3M/220M [01:01<00:44, 3.31MiB/s]
Downloading:  33%|███▎      | 72.7M/220M [01:01<00:42, 3.51MiB/s]
Downloading:  33%|███▎      | 73.1M/220M [01:02<00:42, 3.48MiB/s]
Downloading:  33%|███▎      | 73.4M/220M [01:02<00:42, 3.43MiB/s]
Downloading:  34%|███▎      | 73.8M/220M [01:02<00:51, 2.84MiB/s]
Downloading:  34%|███▍      | 74.4M/220M [01:02<00:41, 3.55MiB/s]
Downloading:  34%|███▍      | 74.7M/220M [01:02<00:42, 3.45MiB/s]
Downloading:  34%|███▍      | 75.1M/220M [01:02<00:54, 2.69MiB/s]
Downloading:  34%|███▍      | 75.4M/220M [01:02<00:53, 2.70MiB/s]
Downloading:  34%|███▍      | 75.8M/220M [01:02<00:48, 2.99MiB/s]
Downloading:  35%|███▍      | 76.2M/220M [01:03<00:55, 2.61MiB/s]
Downloading:  35%|███▍      | 76.5M/220M [01:03<00:55, 2.58MiB/s]
Downloading:  35%|███▍      | 76.7M/220M [01:03<01:04, 2.24MiB/s]
Downloading:  35%|███▍      | 77.0M/220M [01:03<01:10, 2.02MiB/s]
Downloading:  35%|███▌      | 77.2M/220M [01:03<01:25, 1.68MiB/s]
Downloading:  35%|███▌      | 77.4M/220M [01:03<01:20, 1.77MiB/s]
Downloading:  35%|███▌      | 77.6M/220M [01:04<01:16, 1.88MiB/s]
Downloading:  35%|███▌      | 78.0M/220M [01:04<01:09, 2.04MiB/s]
Downloading:  35%|███▌      | 78.2M/220M [01:04<01:13, 1.92MiB/s]
Downloading:  36%|███▌      | 78.4M/220M [01:04<01:13, 1.93MiB/s]
Downloading:  36%|███▌      | 78.8M/220M [01:04<00:59, 2.39MiB/s]
Downloading:  36%|███▌      | 79.3M/220M [01:04<00:47, 2.98MiB/s]
Downloading:  36%|███▌      | 79.6M/220M [01:04<00:48, 2.89MiB/s]
Downloading:  36%|███▋      | 79.9M/220M [01:04<00:50, 2.76MiB/s]
Downloading:  36%|███▋      | 80.3M/220M [01:04<00:48, 2.89MiB/s]
Downloading:  37%|███▋      | 80.6M/220M [01:05<00:58, 2.41MiB/s]
Downloading:  37%|███▋      | 81.2M/220M [01:05<00:42, 3.27MiB/s]
Downloading:  37%|███▋      | 81.6M/220M [01:05<00:42, 3.25MiB/s]
Downloading:  37%|███▋      | 81.9M/220M [01:05<00:47, 2.94MiB/s]
Downloading:  37%|███▋      | 82.2M/220M [01:05<00:46, 2.96MiB/s]
Downloading:  37%|███▋      | 82.6M/220M [01:05<00:50, 2.75MiB/s]
Downloading:  38%|███▊      | 83.1M/220M [01:05<00:42, 3.26MiB/s]
Downloading:  38%|███▊      | 83.5M/220M [01:05<00:41, 3.31MiB/s]
Downloading:  38%|███▊      | 83.9M/220M [01:06<00:47, 2.88MiB/s]
Downloading:  38%|███▊      | 84.4M/220M [01:06<00:39, 3.44MiB/s]
Downloading:  38%|███▊      | 84.8M/220M [01:06<00:40, 3.36MiB/s]
Downloading:  39%|███▉      | 85.4M/220M [01:06<00:35, 3.78MiB/s]
Downloading:  39%|███▉      | 86.0M/220M [01:06<00:33, 3.96MiB/s]
Downloading:  39%|███▉      | 86.8M/220M [01:06<00:28, 4.63MiB/s]
Downloading:  40%|███▉      | 87.3M/220M [01:06<00:28, 4.59MiB/s]
Downloading:  40%|███▉      | 88.0M/220M [01:07<00:25, 5.12MiB/s]
Downloading:  40%|████      | 88.6M/220M [01:07<00:26, 4.94MiB/s]
Downloading:  40%|████      | 89.1M/220M [01:07<00:31, 4.18MiB/s]
Downloading:  41%|████      | 89.5M/220M [01:07<00:36, 3.60MiB/s]
Downloading:  41%|████      | 89.9M/220M [01:07<00:37, 3.52MiB/s]
Downloading:  41%|████      | 90.3M/220M [01:07<00:41, 3.16MiB/s]
Downloading:  41%|████      | 90.6M/220M [01:07<00:39, 3.24MiB/s]
Downloading:  41%|████▏     | 91.0M/220M [01:07<00:43, 3.00MiB/s]
Downloading:  41%|████▏     | 91.3M/220M [01:08<00:42, 3.07MiB/s]
Downloading:  42%|████▏     | 91.6M/220M [01:08<00:43, 2.97MiB/s]
Downloading:  42%|████▏     | 91.9M/220M [01:08<00:44, 2.89MiB/s]
Downloading:  42%|████▏     | 92.2M/220M [01:08<00:44, 2.89MiB/s]
Downloading:  42%|████▏     | 92.5M/220M [01:08<00:48, 2.66MiB/s]
Downloading:  42%|████▏     | 92.8M/220M [01:08<00:51, 2.47MiB/s]
Downloading:  42%|████▏     | 93.0M/220M [01:08<00:56, 2.25MiB/s]
Downloading:  42%|████▏     | 93.2M/220M [01:08<01:00, 2.09MiB/s]
Downloading:  42%|████▏     | 93.5M/220M [01:09<01:04, 1.97MiB/s]
Downloading:  43%|████▎     | 93.6M/220M [01:09<01:21, 1.55MiB/s]
Downloading:  43%|████▎     | 93.8M/220M [01:09<01:25, 1.49MiB/s]
Downloading:  43%|████▎     | 94.0M/220M [01:09<01:23, 1.50MiB/s]
Downloading:  43%|████▎     | 94.1M/220M [01:09<01:25, 1.47MiB/s]
Downloading:  43%|████▎     | 94.3M/220M [01:09<01:24, 1.49MiB/s]
Downloading:  43%|████▎     | 94.5M/220M [01:09<01:22, 1.52MiB/s]
Downloading:  43%|████▎     | 94.6M/220M [01:09<01:23, 1.51MiB/s]
Downloading:  43%|████▎     | 94.8M/220M [01:10<01:28, 1.41MiB/s]
Downloading:  43%|████▎     | 94.9M/220M [01:10<01:40, 1.25MiB/s]
Downloading:  43%|████▎     | 95.1M/220M [01:10<01:41, 1.23MiB/s]
Downloading:  43%|████▎     | 95.2M/220M [01:10<01:51, 1.12MiB/s]
Downloading:  43%|████▎     | 95.3M/220M [01:10<01:51, 1.12MiB/s]
Downloading:  43%|████▎     | 95.5M/220M [01:10<01:42, 1.21MiB/s]
Downloading:  43%|████▎     | 95.6M/220M [01:10<02:01, 1.02MiB/s]
Downloading:  43%|████▎     | 95.7M/220M [01:11<02:09, 961kiB/s]
Downloading:  44%|████▎     | 95.9M/220M [01:11<01:55, 1.08MiB/s]
Downloading:  44%|████▎     | 96.1M/220M [01:11<01:40, 1.23MiB/s]
Downloading:  44%|████▎     | 96.2M/220M [01:11<01:39, 1.25MiB/s]
Downloading:  44%|████▎     | 96.3M/220M [01:11<01:36, 1.28MiB/s]
Downloading:  44%|████▍     | 96.5M/220M [01:11<01:31, 1.35MiB/s]
Downloading:  44%|████▍     | 96.6M/220M [01:11<01:38, 1.26MiB/s]
Downloading:  44%|████▍     | 96.8M/220M [01:11<01:29, 1.37MiB/s]
Downloading:  44%|████▍     | 97.0M/220M [01:11<01:24, 1.45MiB/s]
Downloading:  44%|████▍     | 97.2M/220M [01:12<01:22, 1.50MiB/s]
Downloading:  44%|████▍     | 97.3M/220M [01:12<01:24, 1.45MiB/s]
Downloading:  44%|████▍     | 97.5M/220M [01:12<01:15, 1.63MiB/s]
Downloading:  44%|████▍     | 97.7M/220M [01:12<01:16, 1.59MiB/s]
Downloading:  44%|████▍     | 97.9M/220M [01:12<01:21, 1.50MiB/s]
Downloading:  45%|████▍     | 98.0M/220M [01:12<01:24, 1.44MiB/s]
Downloading:  45%|████▍     | 98.2M/220M [01:12<01:15, 1.61MiB/s]
Downloading:  45%|████▍     | 98.4M/220M [01:12<01:20, 1.52MiB/s]
Downloading:  45%|████▍     | 98.6M/220M [01:12<01:21, 1.49MiB/s]
Downloading:  45%|████▍     | 98.7M/220M [01:13<01:21, 1.50MiB/s]
Downloading:  45%|████▍     | 98.9M/220M [01:13<01:16, 1.59MiB/s]
Downloading:  45%|████▍     | 99.1M/220M [01:13<01:15, 1.60MiB/s]
Downloading:  45%|████▌     | 99.3M/220M [01:13<01:11, 1.69MiB/s]
Downloading:  45%|████▌     | 99.4M/220M [01:13<01:14, 1.62MiB/s]
Downloading:  45%|████▌     | 99.6M/220M [01:13<01:23, 1.45MiB/s]
Downloading:  45%|████▌     | 99.8M/220M [01:13<01:12, 1.66MiB/s]
Downloading:  45%|████▌     | 100M/220M [01:13<01:16, 1.56MiB/s]
Downloading:  46%|████▌     | 100M/220M [01:13<01:11, 1.68MiB/s]
Downloading:  46%|████▌     | 100M/220M [01:14<01:13, 1.63MiB/s]
Downloading:  46%|████▌     | 101M/220M [01:14<01:13, 1.63MiB/s]
Downloading:  46%|████▌     | 101M/220M [01:14<01:13, 1.62MiB/s]
Downloading:  46%|████▌     | 101M/220M [01:14<03:18, 601kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:15<04:04, 487kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:16<07:41, 258kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:17<09:32, 208kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<14:00, 142kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<11:01, 180kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<10:36, 187kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<10:47, 184kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<10:02, 197kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<09:20, 212kiB/s]
Downloading:  46%|████▌     | 101M/220M [01:18<09:55, 200kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<08:11, 242kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<07:14, 273kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<06:55, 286kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<06:45, 292kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<06:13, 317kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<05:06, 386kiB/s]
Downloading:  46%|████▌     | 102M/220M [01:19<04:34, 431kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:19<04:41, 420kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:20<04:31, 436kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:20<03:25, 576kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:20<03:23, 580kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:20<03:03, 644kiB/s]
Downloading:  46%|████▋     | 102M/220M [01:20<02:15, 868kiB/s]
Downloading:  47%|████▋     | 102M/220M [01:20<02:16, 864kiB/s]
Downloading:  47%|████▋     | 103M/220M [01:20<02:10, 899kiB/s]
Downloading:  47%|████▋     | 103M/220M [01:20<01:46, 1.10MiB/s]
Downloading:  47%|████▋     | 103M/220M [01:20<01:37, 1.20MiB/s]
Downloading:  47%|████▋     | 103M/220M [01:21<01:43, 1.13MiB/s]
Downloading:  47%|████▋     | 103M/220M [01:21<01:35, 1.23MiB/s]
Downloading:  47%|████▋     | 103M/220M [01:21<01:24, 1.38MiB/s]
Downloading:  47%|████▋     | 104M/220M [01:21<01:13, 1.59MiB/s]
Downloading:  47%|████▋     | 104M/220M [01:21<01:16, 1.53MiB/s]
Downloading:  47%|████▋     | 104M/220M [01:21<00:59, 1.97MiB/s]
Downloading:  47%|████▋     | 104M/220M [01:21<01:02, 1.86MiB/s]
Downloading:  47%|████▋     | 105M/220M [01:21<00:54, 2.13MiB/s]
Downloading:  48%|████▊     | 105M/220M [01:21<00:54, 2.12MiB/s]
Downloading:  48%|████▊     | 105M/220M [01:22<00:54, 2.11MiB/s]
Downloading:  48%|████▊     | 105M/220M [01:22<00:47, 2.42MiB/s]
Downloading:  48%|████▊     | 106M/220M [01:22<00:50, 2.26MiB/s]
Downloading:  48%|████▊     | 106M/220M [01:22<00:50, 2.29MiB/s]
Downloading:  48%|████▊     | 106M/220M [01:22<00:46, 2.46MiB/s]
Downloading:  48%|████▊     | 107M/220M [01:22<00:42, 2.66MiB/s]
Downloading:  48%|████▊     | 107M/220M [01:22<00:46, 2.46MiB/s]
Downloading:  49%|████▊     | 107M/220M [01:22<00:45, 2.49MiB/s]
Downloading:  49%|████▊     | 107M/220M [01:22<00:46, 2.44MiB/s]
Downloading:  49%|████▉     | 108M/220M [01:23<00:47, 2.39MiB/s]
Downloading:  49%|████▉     | 108M/220M [01:23<00:51, 2.18MiB/s]
Downloading:  49%|████▉     | 108M/220M [01:23<00:44, 2.52MiB/s]
Downloading:  49%|████▉     | 109M/220M [01:23<00:42, 2.66MiB/s]
Downloading:  49%|████▉     | 109M/220M [01:23<00:40, 2.78MiB/s]
Downloading:  50%|████▉     | 109M/220M [01:23<00:36, 3.04MiB/s]
Downloading:  50%|████▉     | 110M/220M [01:23<00:38, 2.89MiB/s]
Downloading:  50%|████▉     | 110M/220M [01:23<00:40, 2.72MiB/s]
Downloading:  50%|█████     | 110M/220M [01:24<00:43, 2.51MiB/s]
Downloading:  50%|█████     | 110M/220M [01:24<00:47, 2.33MiB/s]
Downloading:  50%|█████     | 111M/220M [01:24<00:48, 2.27MiB/s]
Downloading:  50%|█████     | 111M/220M [01:24<00:49, 2.21MiB/s]
Downloading:  50%|█████     | 111M/220M [01:24<00:50, 2.15MiB/s]
Downloading:  51%|█████     | 111M/220M [01:24<00:48, 2.24MiB/s]
Downloading:  51%|█████     | 112M/220M [01:24<00:49, 2.19MiB/s]
Downloading:  51%|█████     | 112M/220M [01:24<00:56, 1.91MiB/s]
Downloading:  51%|█████     | 112M/220M [01:24<00:56, 1.93MiB/s]
Downloading:  51%|█████     | 112M/220M [01:25<00:50, 2.13MiB/s]
Downloading:  51%|█████     | 112M/220M [01:25<00:55, 1.93MiB/s]
Downloading:  51%|█████     | 113M/220M [01:25<00:55, 1.95MiB/s]
Downloading:  51%|█████     | 113M/220M [01:25<00:56, 1.89MiB/s]
Downloading:  51%|█████▏    | 113M/220M [01:25<00:58, 1.85MiB/s]
Downloading:  51%|█████▏    | 113M/220M [01:25<01:00, 1.77MiB/s]
Downloading:  52%|█████▏    | 113M/220M [01:25<00:58, 1.83MiB/s]
Downloading:  52%|█████▏    | 114M/220M [01:25<00:58, 1.82MiB/s]
Downloading:  52%|█████▏    | 114M/220M [01:26<01:06, 1.59MiB/s]
Downloading:  52%|█████▏    | 114M/220M [01:26<00:59, 1.79MiB/s]
Downloading:  52%|█████▏    | 114M/220M [01:26<01:10, 1.49MiB/s]
Downloading:  52%|█████▏    | 114M/220M [01:26<01:06, 1.59MiB/s]
Downloading:  52%|█████▏    | 115M/220M [01:26<00:57, 1.83MiB/s]
Downloading:  52%|█████▏    | 115M/220M [01:26<00:57, 1.84MiB/s]
Downloading:  52%|█████▏    | 115M/220M [01:26<00:49, 2.11MiB/s]
Downloading:  52%|█████▏    | 115M/220M [01:26<00:57, 1.83MiB/s]
Downloading:  53%|█████▎    | 116M/220M [01:26<00:51, 2.05MiB/s]
Downloading:  53%|█████▎    | 116M/220M [01:27<00:50, 2.05MiB/s]
Downloading:  53%|█████▎    | 116M/220M [01:27<00:49, 2.12MiB/s]
Downloading:  53%|█████▎    | 117M/220M [01:27<00:46, 2.22MiB/s]
Downloading:  53%|█████▎    | 117M/220M [01:27<00:47, 2.17MiB/s]
Downloading:  53%|█████▎    | 117M/220M [01:27<00:42, 2.45MiB/s]
Downloading:  53%|█████▎    | 117M/220M [01:27<00:40, 2.54MiB/s]
Downloading:  53%|█████▎    | 118M/220M [01:27<00:40, 2.50MiB/s]
Downloading:  54%|█████▎    | 118M/220M [01:27<00:51, 1.99MiB/s]
Downloading:  54%|█████▎    | 118M/220M [01:28<00:48, 2.12MiB/s]
Downloading:  54%|█████▍    | 118M/220M [01:28<00:51, 1.98MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:28<00:56, 1.80MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:28<00:57, 1.76MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:28<01:01, 1.64MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:28<01:01, 1.66MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:28<01:04, 1.56MiB/s]
Downloading:  54%|█████▍    | 119M/220M [01:29<01:22, 1.22MiB/s]
Downloading:  54%|█████▍    | 120M/220M [01:29<01:17, 1.29MiB/s]
Downloading:  54%|█████▍    | 120M/220M [01:29<01:18, 1.28MiB/s]
Downloading:  54%|█████▍    | 120M/220M [01:30<03:23, 492kiB/s]
Downloading:  54%|█████▍    | 120M/220M [01:30<05:02, 331kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:31<06:19, 264kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:31<07:19, 228kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:31<07:17, 229kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:32<10:05, 165kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:32<10:43, 155kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:32<11:32, 144kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:33<10:39, 156kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:33<09:32, 174kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:33<08:25, 198kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:33<07:33, 220kiB/s]
Downloading:  55%|█████▍    | 120M/220M [01:33<06:19, 263kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:33<05:30, 302kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:33<04:32, 366kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:33<03:37, 458kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:33<02:55, 568kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:34<02:39, 622kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:34<02:28, 669kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:34<02:25, 681kiB/s]
Downloading:  55%|█████▍    | 121M/220M [01:34<02:16, 726kiB/s]
Downloading:  55%|█████▌    | 121M/220M [01:34<02:30, 659kiB/s]
Downloading:  55%|█████▌    | 121M/220M [01:34<01:57, 845kiB/s]
Downloading:  55%|█████▌    | 121M/220M [01:34<01:55, 858kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:34<02:02, 807kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<02:06, 777kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<02:03, 795kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<01:58, 829kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<01:59, 821kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<02:01, 806kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<02:00, 817kiB/s]
Downloading:  55%|█████▌    | 122M/220M [01:35<02:04, 791kiB/s]
Downloading:  56%|█████▌    | 122M/220M [01:35<02:03, 796kiB/s]
Downloading:  56%|█████▌    | 122M/220M [01:35<02:15, 723kiB/s]
Downloading:  56%|█████▌    | 122M/220M [01:36<02:22, 685kiB/s]
Downloading:  56%|█████▌    | 122M/220M [01:36<02:19, 698kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:25, 673kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:21, 692kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:04, 783kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:10, 749kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:19, 696kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:36<02:22, 684kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<02:39, 607kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<02:28, 653kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<02:28, 652kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<02:48, 575kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<02:40, 602kiB/s]
Downloading:  56%|█████▌    | 123M/220M [01:37<03:00, 537kiB/s]
Downloading:  56%|█████▌    | 124M/220M [01:37<02:55, 550kiB/s]
Downloading:  56%|█████▌    | 124M/220M [01:37<02:38, 611kiB/s]
Downloading:  56%|█████▌    | 124M/220M [01:38<02:19, 693kiB/s]
Downloading:  56%|█████▌    | 124M/220M [01:38<02:18, 698kiB/s]
Downloading:  56%|█████▋    | 124M/220M [01:38<02:01, 794kiB/s]
Downloading:  56%|█████▋    | 124M/220M [01:38<01:46, 900kiB/s]
Downloading:  56%|█████▋    | 124M/220M [01:38<01:35, 1.00MiB/s]
Downloading:  56%|█████▋    | 124M/220M [01:38<01:41, 946kiB/s]
Downloading:  56%|█████▋    | 124M/220M [01:38<01:38, 977kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:38<01:35, 1.00MiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:38<01:33, 1.02MiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:34, 1.01MiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:51, 858kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:53, 838kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:53, 840kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:59, 794kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:51, 854kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:45, 902kiB/s]
Downloading:  57%|█████▋    | 125M/220M [01:39<01:40, 941kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:41, 938kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:43, 910kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:43, 910kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:45, 898kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:39, 951kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:37, 965kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:36, 971kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:38, 949kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:40<01:39, 942kiB/s]
Downloading:  57%|█████▋    | 126M/220M [01:41<01:49, 859kiB/s]
Downloading:  57%|█████▋    | 127M/220M [01:41<01:52, 831kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<02:05, 749kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<02:06, 741kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<01:55, 810kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<01:48, 860kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<01:39, 934kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<01:41, 920kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:41<01:36, 960kiB/s]
Downloading:  58%|█████▊    | 127M/220M [01:42<01:34, 979kiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:31, 1.01MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:31, 1.01MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:31, 1.01MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:33, 991kiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:30, 1.01MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:25, 1.08MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:29, 1.03MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:42<01:31, 1.01MiB/s]
Downloading:  58%|█████▊    | 128M/220M [01:43<01:25, 1.07MiB/s]
Downloading:  58%|█████▊    | 129M/220M [01:43<01:26, 1.06MiB/s]
Downloading:  58%|█████▊    | 129M/220M [01:43<01:24, 1.08MiB/s]
Downloading:  58%|█████▊    | 129M/220M [01:43<01:25, 1.07MiB/s]
Downloading:  59%|█████▊    | 129M/220M [01:43<01:26, 1.06MiB/s]
Downloading:  59%|█████▊    | 129M/220M [01:43<01:20, 1.13MiB/s]
Downloading:  59%|█████▊    | 129M/220M [01:43<01:17, 1.18MiB/s]
Downloading:  59%|█████▊    | 129M/220M [01:43<01:15, 1.20MiB/s]
Downloading:  59%|█████▉    | 129M/220M [01:43<01:17, 1.17MiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:44<01:21, 1.11MiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:44<01:30, 1.00MiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:44<02:04, 726kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:45<04:08, 364kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:45<07:40, 196kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:46<09:14, 163kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:47<11:45, 128kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:47<11:51, 127kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:47<12:21, 122kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:47<14:11, 106kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<12:48, 117kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<10:33, 142kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<08:53, 169kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<08:04, 186kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<07:45, 193kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<06:34, 228kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<06:26, 233kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:48<05:29, 273kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:49<05:33, 269kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:49<05:39, 264kiB/s]
Downloading:  59%|█████▉    | 130M/220M [01:49<05:45, 260kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:49<06:40, 224kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:49<04:27, 335kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:49<04:03, 368kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:49<03:32, 421kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:49<03:25, 436kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:50<03:00, 494kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:50<02:53, 515kiB/s]
Downloading:  59%|█████▉    | 131M/220M [01:50<02:36, 572kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:50<02:28, 601kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:50<02:12, 675kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:50<02:08, 692kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:50<01:59, 744kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:50<02:09, 687kiB/s]
Downloading:  60%|█████▉    | 131M/220M [01:51<02:12, 668kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<02:00, 738kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<02:01, 731kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<01:45, 840kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<01:40, 878kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<01:33, 947kiB/s]
Downloading:  60%|█████▉    | 132M/220M [01:51<01:28, 996kiB/s]
Downloading:  60%|██████    | 132M/220M [01:51<01:38, 898kiB/s]
Downloading:  60%|██████    | 132M/220M [01:51<01:40, 872kiB/s]
Downloading:  60%|██████    | 132M/220M [01:52<01:40, 877kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<01:39, 881kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<02:04, 705kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<02:17, 639kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<01:56, 749kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<01:50, 787kiB/s]
Downloading:  60%|██████    | 133M/220M [01:52<01:23, 1.05MiB/s]
Downloading:  61%|██████    | 133M/220M [01:52<01:14, 1.17MiB/s]
Downloading:  61%|██████    | 133M/220M [01:53<01:03, 1.37MiB/s]
Downloading:  61%|██████    | 134M/220M [01:53<01:02, 1.38MiB/s]
Downloading:  61%|██████    | 134M/220M [01:53<00:57, 1.51MiB/s]
Downloading:  61%|██████    | 134M/220M [01:53<00:53, 1.62MiB/s]
Downloading:  61%|██████    | 134M/220M [01:53<00:48, 1.79MiB/s]
Downloading:  61%|██████    | 134M/220M [01:53<00:42, 2.02MiB/s]
Downloading:  61%|██████    | 135M/220M [01:53<00:38, 2.23MiB/s]
Downloading:  61%|██████▏   | 135M/220M [01:53<00:33, 2.53MiB/s]
Downloading:  61%|██████▏   | 135M/220M [01:53<00:35, 2.42MiB/s]
Downloading:  62%|██████▏   | 136M/220M [01:53<00:31, 2.69MiB/s]
Downloading:  62%|██████▏   | 136M/220M [01:54<00:33, 2.48MiB/s]
Downloading:  62%|██████▏   | 136M/220M [01:54<00:32, 2.60MiB/s]
Downloading:  62%|██████▏   | 137M/220M [01:54<00:34, 2.43MiB/s]
Downloading:  62%|██████▏   | 137M/220M [01:54<00:32, 2.60MiB/s]
Downloading:  62%|██████▏   | 137M/220M [01:54<00:32, 2.55MiB/s]
Downloading:  62%|██████▏   | 138M/220M [01:54<00:26, 3.13MiB/s]
Downloading:  63%|██████▎   | 138M/220M [01:54<00:25, 3.24MiB/s]
Downloading:  63%|██████▎   | 138M/220M [01:54<00:23, 3.45MiB/s]
Downloading:  63%|██████▎   | 139M/220M [01:54<00:23, 3.44MiB/s]
Downloading:  63%|██████▎   | 139M/220M [01:55<00:27, 2.98MiB/s]
Downloading:  64%|██████▎   | 140M/220M [01:55<00:19, 4.19MiB/s]
Downloading:  64%|██████▎   | 140M/220M [01:55<00:23, 3.41MiB/s]
Downloading:  64%|██████▍   | 141M/220M [01:55<00:21, 3.75MiB/s]
Downloading:  64%|██████▍   | 141M/220M [01:55<00:20, 3.82MiB/s]
Downloading:  64%|██████▍   | 142M/220M [01:55<00:20, 3.88MiB/s]
Downloading:  65%|██████▍   | 142M/220M [01:55<00:21, 3.58MiB/s]
Downloading:  65%|██████▍   | 143M/220M [01:56<00:19, 3.92MiB/s]
Downloading:  65%|██████▍   | 143M/220M [01:56<00:19, 3.90MiB/s]
Downloading:  65%|██████▌   | 143M/220M [01:56<00:20, 3.69MiB/s]
Downloading:  65%|██████▌   | 144M/220M [01:56<00:21, 3.60MiB/s]
Downloading:  65%|██████▌   | 144M/220M [01:56<00:21, 3.58MiB/s]
Downloading:  66%|██████▌   | 145M/220M [01:56<00:19, 3.81MiB/s]
Downloading:  66%|██████▌   | 145M/220M [01:56<00:18, 3.94MiB/s]
Downloading:  66%|██████▋   | 146M/220M [01:56<00:15, 4.69MiB/s]
Downloading:  67%|██████▋   | 146M/220M [01:56<00:17, 4.29MiB/s]
Downloading:  67%|██████▋   | 147M/220M [01:57<00:15, 4.71MiB/s]
Downloading:  67%|██████▋   | 148M/220M [01:57<00:18, 3.97MiB/s]
Downloading:  67%|██████▋   | 148M/220M [01:57<00:19, 3.63MiB/s]
Downloading:  67%|██████▋   | 148M/220M [01:57<00:20, 3.55MiB/s]
Downloading:  68%|██████▊   | 149M/220M [01:57<00:19, 3.75MiB/s]
Downloading:  68%|██████▊   | 150M/220M [01:57<00:16, 4.35MiB/s]
Downloading:  68%|██████▊   | 150M/220M [01:57<00:15, 4.53MiB/s]
Downloading:  68%|██████▊   | 151M/220M [01:57<00:15, 4.51MiB/s]
Downloading:  69%|██████▊   | 151M/220M [01:58<00:15, 4.55MiB/s]
Downloading:  69%|██████▉   | 152M/220M [01:58<00:14, 4.59MiB/s]
Downloading:  69%|██████▉   | 152M/220M [01:58<00:17, 3.87MiB/s]
Downloading:  69%|██████▉   | 153M/220M [01:58<00:14, 4.54MiB/s]
Downloading:  70%|██████▉   | 154M/220M [01:58<00:13, 5.07MiB/s]
Downloading:  70%|██████▉   | 154M/220M [01:58<00:13, 4.84MiB/s]
Downloading:  70%|███████   | 155M/220M [01:58<00:13, 4.90MiB/s]
Downloading:  70%|███████   | 155M/220M [01:58<00:12, 5.19MiB/s]
Downloading:  71%|███████   | 156M/220M [01:59<00:12, 5.34MiB/s]
Downloading:  71%|███████   | 157M/220M [01:59<00:11, 5.78MiB/s]
Downloading:  71%|███████▏  | 157M/220M [01:59<00:11, 5.41MiB/s]
Downloading:  72%|███████▏  | 158M/220M [01:59<00:30, 2.05MiB/s]
Downloading:  72%|███████▏  | 158M/220M [02:02<01:37, 636kiB/s]
Downloading:  72%|███████▏  | 158M/220M [02:03<02:04, 497kiB/s]
Downloading:  72%|███████▏  | 159M/220M [02:04<02:32, 403kiB/s]
Downloading:  72%|███████▏  | 159M/220M [02:04<02:44, 374kiB/s]
Downloading:  72%|███████▏  | 159M/220M [02:05<02:01, 503kiB/s]
Downloading:  72%|███████▏  | 159M/220M [02:05<01:54, 531kiB/s]
Downloading:  72%|███████▏  | 160M/220M [02:05<01:39, 609kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:06<01:56, 518kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:06<02:06, 476kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:06<02:19, 432kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:07<03:35, 279kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:07<03:26, 292kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:07<02:05, 476kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:07<02:19, 430kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:08<02:34, 388kiB/s]
Downloading:  73%|███████▎  | 160M/220M [02:08<02:37, 379kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:08<02:35, 384kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:08<02:43, 366kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:08<02:42, 366kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:08<02:47, 357kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:09<07:39, 130kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:09<02:49, 351kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:10<02:39, 371kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:10<02:49, 348kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:10<02:54, 338kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:11<05:20, 184kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:11<02:47, 351kiB/s]
Downloading:  73%|███████▎  | 161M/220M [02:11<03:06, 316kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:11<03:12, 305kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<04:09, 235kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<04:05, 239kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<03:48, 257kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<03:25, 284kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<03:23, 287kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:12<03:10, 307kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:13<02:59, 325kiB/s]
Downloading:  73%|███████▎  | 162M/220M [02:13<02:53, 336kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:13<02:51, 341kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:13<02:54, 334kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:13<03:00, 324kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:13<03:02, 319kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:13<04:31, 215kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:14<03:33, 272kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:14<02:48, 345kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:15<06:17, 153kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:15<06:42, 144kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:15<06:48, 142kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:16<07:22, 131kiB/s]
Downloading:  74%|███████▎  | 162M/220M [02:16<06:16, 153kiB/s]
Downloading:  74%|███████▍  | 162M/220M [02:16<07:09, 135kiB/s]
Downloading:  74%|███████▍  | 162M/220M [02:16<07:20, 131kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:16<06:22, 151kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<06:14, 154kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<05:42, 169kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<05:26, 177kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<04:49, 199kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<04:57, 194kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:17<07:37, 126kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<05:49, 164kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<05:03, 189kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<03:57, 242kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<03:27, 276kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<03:02, 315kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<02:50, 337kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<03:00, 316kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:18<03:02, 314kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:03, 311kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:02, 312kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:10, 299kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:23, 280kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:18, 287kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<03:19, 286kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:19<02:52, 330kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:20<02:25, 390kiB/s]
Downloading:  74%|███████▍  | 163M/220M [02:20<01:56, 489kiB/s]
Downloading:  74%|███████▍  | 164M/220M [02:20<01:47, 525kiB/s]
Downloading:  74%|███████▍  | 164M/220M [02:20<01:27, 649kiB/s]
Downloading:  74%|███████▍  | 164M/220M [02:20<01:21, 696kiB/s]
Downloading:  74%|███████▍  | 164M/220M [02:20<01:12, 775kiB/s]
Downloading:  74%|███████▍  | 164M/220M [02:20<01:02, 896kiB/s]
Downloading:  75%|███████▍  | 164M/220M [02:20<00:47, 1.19MiB/s]
Downloading:  75%|███████▍  | 164M/220M [02:20<00:38, 1.46MiB/s]
Downloading:  75%|███████▍  | 165M/220M [02:20<00:30, 1.83MiB/s]
Downloading:  75%|███████▍  | 165M/220M [02:21<00:25, 2.20MiB/s]
Downloading:  75%|███████▌  | 165M/220M [02:21<00:22, 2.49MiB/s]
Downloading:  75%|███████▌  | 166M/220M [02:21<00:21, 2.52MiB/s]
Downloading:  75%|███████▌  | 166M/220M [02:21<00:19, 2.82MiB/s]
Downloading:  75%|███████▌  | 166M/220M [02:21<00:19, 2.78MiB/s]
Downloading:  76%|███████▌  | 167M/220M [02:21<00:17, 3.05MiB/s]
Downloading:  76%|███████▌  | 167M/220M [02:21<00:17, 3.09MiB/s]
Downloading:  76%|███████▌  | 167M/220M [02:21<00:18, 2.94MiB/s]
Downloading:  76%|███████▌  | 168M/220M [02:21<00:16, 3.18MiB/s]
Downloading:  76%|███████▋  | 168M/220M [02:22<00:15, 3.41MiB/s]
Downloading:  76%|███████▋  | 168M/220M [02:22<00:15, 3.38MiB/s]
Downloading:  77%|███████▋  | 169M/220M [02:22<00:15, 3.35MiB/s]
Downloading:  77%|███████▋  | 169M/220M [02:22<00:15, 3.36MiB/s]
Downloading:  77%|███████▋  | 170M/220M [02:22<00:14, 3.62MiB/s]
Downloading:  77%|███████▋  | 170M/220M [02:22<00:14, 3.55MiB/s]
Downloading:  77%|███████▋  | 170M/220M [02:22<00:12, 3.94MiB/s]
Downloading:  78%|███████▊  | 171M/220M [02:22<00:13, 3.72MiB/s]
Downloading:  78%|███████▊  | 171M/220M [02:22<00:12, 3.87MiB/s]
Downloading:  78%|███████▊  | 172M/220M [02:22<00:12, 3.76MiB/s]
Downloading:  78%|███████▊  | 172M/220M [02:23<00:12, 3.98MiB/s]
Downloading:  78%|███████▊  | 173M/220M [02:23<00:11, 4.22MiB/s]
Downloading:  79%|███████▊  | 173M/220M [02:23<00:10, 4.41MiB/s]
Downloading:  79%|███████▉  | 174M/220M [02:23<00:11, 4.11MiB/s]
Downloading:  79%|███████▉  | 174M/220M [02:23<00:11, 4.09MiB/s]
Downloading:  79%|███████▉  | 175M/220M [02:23<00:10, 4.36MiB/s]
Downloading:  79%|███████▉  | 175M/220M [02:23<00:10, 4.51MiB/s]
Downloading:  80%|███████▉  | 176M/220M [02:23<00:10, 4.43MiB/s]
Downloading:  80%|███████▉  | 176M/220M [02:23<00:10, 4.25MiB/s]
Downloading:  80%|████████  | 176M/220M [02:24<00:10, 4.24MiB/s]
Downloading:  80%|████████  | 177M/220M [02:24<00:10, 4.17MiB/s]
Downloading:  80%|████████  | 177M/220M [02:24<00:10, 4.27MiB/s]
Downloading:  81%|████████  | 178M/220M [02:24<00:11, 3.79MiB/s]
Downloading:  81%|████████  | 178M/220M [02:24<00:10, 3.86MiB/s]
Downloading:  81%|████████  | 179M/220M [02:24<00:12, 3.42MiB/s]
Downloading:  81%|████████  | 179M/220M [02:24<00:11, 3.54MiB/s]
Downloading:  81%|████████▏ | 179M/220M [02:24<00:12, 3.26MiB/s]
Downloading:  82%|████████▏ | 180M/220M [02:25<00:11, 3.47MiB/s]
Downloading:  82%|████████▏ | 180M/220M [02:25<00:12, 3.32MiB/s]
Downloading:  82%|████████▏ | 180M/220M [02:25<00:12, 3.15MiB/s]
Downloading:  82%|████████▏ | 181M/220M [02:25<00:12, 3.12MiB/s]
Downloading:  82%|████████▏ | 181M/220M [02:25<00:11, 3.28MiB/s]
Downloading:  82%|████████▏ | 181M/220M [02:25<00:11, 3.37MiB/s]
Downloading:  83%|████████▎ | 182M/220M [02:25<00:10, 3.78MiB/s]
Downloading:  83%|████████▎ | 182M/220M [02:25<00:11, 3.39MiB/s]
Downloading:  83%|████████▎ | 183M/220M [02:25<00:10, 3.60MiB/s]
Downloading:  83%|████████▎ | 183M/220M [02:26<00:11, 3.36MiB/s]
Downloading:  83%|████████▎ | 184M/220M [02:26<00:10, 3.65MiB/s]
Downloading:  84%|████████▎ | 184M/220M [02:26<00:10, 3.33MiB/s]
Downloading:  84%|████████▎ | 184M/220M [02:26<00:09, 3.61MiB/s]
Downloading:  84%|████████▍ | 185M/220M [02:26<00:10, 3.37MiB/s]
Downloading:  84%|████████▍ | 185M/220M [02:26<00:10, 3.22MiB/s]
Downloading:  84%|████████▍ | 186M/220M [02:26<00:09, 3.48MiB/s]
Downloading:  84%|████████▍ | 186M/220M [02:26<00:09, 3.49MiB/s]
Downloading:  85%|████████▍ | 186M/220M [02:26<00:09, 3.50MiB/s]
Downloading:  85%|████████▍ | 187M/220M [02:27<00:09, 3.50MiB/s]
Downloading:  85%|████████▍ | 187M/220M [02:27<00:08, 3.90MiB/s]
Downloading:  85%|████████▌ | 188M/220M [02:27<00:07, 4.22MiB/s]
Downloading:  85%|████████▌ | 188M/220M [02:27<00:07, 4.42MiB/s]
Downloading:  86%|████████▌ | 189M/220M [02:27<00:07, 4.33MiB/s]
Downloading:  86%|████████▌ | 189M/220M [02:27<00:07, 3.98MiB/s]
Downloading:  86%|████████▌ | 190M/220M [02:27<00:06, 4.65MiB/s]
Downloading:  86%|████████▋ | 190M/220M [02:27<00:05, 5.34MiB/s]
Downloading:  87%|████████▋ | 191M/220M [02:27<00:05, 4.97MiB/s]
Downloading:  87%|████████▋ | 191M/220M [02:28<00:06, 4.80MiB/s]
Downloading:  87%|████████▋ | 192M/220M [02:28<00:06, 4.45MiB/s]
Downloading:  87%|████████▋ | 192M/220M [02:28<00:07, 3.96MiB/s]
Downloading:  88%|████████▊ | 193M/220M [02:28<00:08, 3.30MiB/s]
Downloading:  88%|████████▊ | 193M/220M [02:28<00:09, 2.79MiB/s]
Downloading:  88%|████████▊ | 193M/220M [02:28<00:11, 2.40MiB/s]
Downloading:  88%|████████▊ | 194M/220M [02:29<00:13, 1.90MiB/s]
Downloading:  88%|████████▊ | 194M/220M [02:29<00:14, 1.78MiB/s]
Downloading:  88%|████████▊ | 194M/220M [02:29<00:17, 1.50MiB/s]
Downloading:  88%|████████▊ | 194M/220M [02:29<00:18, 1.38MiB/s]
Downloading:  88%|████████▊ | 194M/220M [02:29<00:20, 1.24MiB/s]
Downloading:  88%|████████▊ | 195M/220M [02:29<00:21, 1.17MiB/s]
Downloading:  88%|████████▊ | 195M/220M [02:30<00:22, 1.16MiB/s]
Downloading:  88%|████████▊ | 195M/220M [02:30<00:22, 1.14MiB/s]
Downloading:  89%|████████▊ | 195M/220M [02:30<00:21, 1.19MiB/s]
Downloading:  89%|████████▊ | 195M/220M [02:30<00:21, 1.17MiB/s]
Downloading:  89%|████████▊ | 195M/220M [02:30<00:20, 1.20MiB/s]
Downloading:  89%|████████▊ | 195M/220M [02:30<00:20, 1.22MiB/s]
Downloading:  89%|████████▉ | 195M/220M [02:30<00:20, 1.19MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:30<00:23, 1.06MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:30<00:24, 992kiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:25, 961kiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:23, 1.03MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:21, 1.14MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:21, 1.14MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:21, 1.10MiB/s]
Downloading:  89%|████████▉ | 196M/220M [02:31<00:20, 1.13MiB/s]
Downloading:  89%|████████▉ | 197M/220M [02:31<00:21, 1.09MiB/s]
Downloading:  89%|████████▉ | 197M/220M [02:31<00:21, 1.11MiB/s]
Downloading:  89%|████████▉ | 197M/220M [02:31<00:21, 1.11MiB/s]
Downloading:  89%|████████▉ | 197M/220M [02:32<00:21, 1.07MiB/s]
Downloading:  89%|████████▉ | 197M/220M [02:32<00:22, 1.01MiB/s]
Downloading:  90%|████████▉ | 197M/220M [02:32<00:21, 1.09MiB/s]
Downloading:  90%|████████▉ | 197M/220M [02:32<00:19, 1.18MiB/s]
Downloading:  90%|████████▉ | 198M/220M [02:32<00:15, 1.44MiB/s]
Downloading:  90%|████████▉ | 198M/220M [02:32<00:14, 1.59MiB/s]
Downloading:  90%|████████▉ | 198M/220M [02:32<00:14, 1.58MiB/s]
Downloading:  90%|████████▉ | 198M/220M [02:32<00:13, 1.69MiB/s]
Downloading:  90%|█████████ | 198M/220M [02:32<00:14, 1.48MiB/s]
Downloading:  90%|█████████ | 198M/220M [02:33<00:15, 1.40MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:17, 1.24MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:18, 1.15MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:20, 1.07MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:20, 1.05MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:18, 1.15MiB/s]
Downloading:  90%|█████████ | 199M/220M [02:33<00:17, 1.23MiB/s]
Downloading:  91%|█████████ | 199M/220M [02:33<00:15, 1.37MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:15, 1.36MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:15, 1.31MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:16, 1.20MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:16, 1.21MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:17, 1.13MiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:25, 783kiB/s]
Downloading:  91%|█████████ | 200M/220M [02:34<00:27, 736kiB/s]
Downloading:  91%|█████████ | 200M/220M [02:35<00:27, 721kiB/s]
Downloading:  91%|█████████ | 200M/220M [02:35<00:30, 646kiB/s]
Downloading:  91%|█████████ | 201M/220M [02:35<00:27, 719kiB/s]
Downloading:  91%|█████████ | 201M/220M [02:35<00:24, 806kiB/s]
Downloading:  91%|█████████ | 201M/220M [02:35<00:21, 904kiB/s]
Downloading:  91%|█████████ | 201M/220M [02:35<00:21, 912kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:35<00:21, 881kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:35<00:20, 934kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:36<00:21, 902kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:36<00:25, 737kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:36<00:30, 617kiB/s]
Downloading:  91%|█████████▏| 201M/220M [02:36<00:32, 577kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:36<00:31, 597kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:36<00:33, 551kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:36<00:32, 573kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:28, 642kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:32, 564kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:28, 642kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:23, 769kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:20, 893kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:18, 956kiB/s]
Downloading:  92%|█████████▏| 202M/220M [02:37<00:16, 1.09MiB/s]
Downloading:  92%|█████████▏| 203M/220M [02:37<00:13, 1.32MiB/s]
Downloading:  92%|█████████▏| 203M/220M [02:37<00:09, 1.77MiB/s]
Downloading:  92%|█████████▏| 203M/220M [02:38<00:08, 1.90MiB/s]
Downloading:  92%|█████████▏| 203M/220M [02:38<00:08, 1.88MiB/s]
Downloading:  92%|█████████▏| 204M/220M [02:38<00:09, 1.81MiB/s]
Downloading:  93%|█████████▎| 204M/220M [02:38<00:10, 1.62MiB/s]
Downloading:  93%|█████████▎| 204M/220M [02:38<00:11, 1.47MiB/s]
Downloading:  93%|█████████▎| 204M/220M [02:38<00:12, 1.33MiB/s]
Downloading:  93%|█████████▎| 204M/220M [02:38<00:12, 1.32MiB/s]
Downloading:  93%|█████████▎| 204M/220M [02:38<00:13, 1.22MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:12, 1.29MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:12, 1.26MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:11, 1.29MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:12, 1.23MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:12, 1.22MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:13, 1.15MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:12, 1.18MiB/s]
Downloading:  93%|█████████▎| 205M/220M [02:39<00:11, 1.23MiB/s]
Downloading:  93%|█████████▎| 206M/220M [02:40<00:13, 1.07MiB/s]
Downloading:  93%|█████████▎| 206M/220M [02:40<00:12, 1.12MiB/s]
Downloading:  93%|█████████▎| 206M/220M [02:40<00:12, 1.19MiB/s]
Downloading:  94%|█████████▎| 206M/220M [02:40<00:11, 1.21MiB/s]
Downloading:  94%|█████████▎| 206M/220M [02:40<00:12, 1.12MiB/s]
Downloading:  94%|█████████▎| 206M/220M [02:40<00:12, 1.12MiB/s]
Downloading:  94%|█████████▎| 206M/220M [02:40<00:13, 1.03MiB/s]
Downloading:  94%|█████████▎| 206M/220M [02:40<00:14, 932kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:40<00:14, 956kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 959kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 923kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 910kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 898kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 936kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:14, 921kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:13, 948kiB/s]
Downloading:  94%|█████████▍| 207M/220M [02:41<00:13, 985kiB/s]
Downloading:  94%|█████████▍| 208M/220M [02:41<00:12, 1.02MiB/s]
Downloading:  94%|█████████▍| 208M/220M [02:42<00:12, 978kiB/s]
Downloading:  94%|█████████▍| 208M/220M [02:42<00:12, 1.02MiB/s]
Downloading:  94%|█████████▍| 208M/220M [02:42<00:12, 1.01MiB/s]
Downloading:  94%|█████████▍| 208M/220M [02:42<00:10, 1.13MiB/s]
Downloading:  95%|█████████▍| 208M/220M [02:42<00:10, 1.19MiB/s]
Downloading:  95%|█████████▍| 208M/220M [02:42<00:11, 1.06MiB/s]
Downloading:  95%|█████████▍| 208M/220M [02:42<00:10, 1.09MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:42<00:11, 1.02MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:42<00:10, 1.14MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:43<00:09, 1.16MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:43<00:09, 1.17MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:43<00:09, 1.15MiB/s]
Downloading:  95%|█████████▍| 209M/220M [02:43<00:10, 1.05MiB/s]
Downloading:  95%|█████████▌| 209M/220M [02:43<00:10, 1.04MiB/s]
Downloading:  95%|█████████▌| 209M/220M [02:43<00:10, 1.04MiB/s]
Downloading:  95%|█████████▌| 209M/220M [02:43<00:11, 952kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:43<00:12, 862kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:44<00:13, 777kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:44<00:12, 808kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:44<00:28, 359kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:45<00:35, 293kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:45<00:46, 219kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:45<00:57, 177kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:46<01:01, 165kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:46<01:39, 102kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:47<01:58, 86.1kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<02:47, 60.8kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<02:06, 79.9kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<01:39, 101kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<01:13, 136kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<00:52, 191kiB/s]
Downloading:  95%|█████████▌| 210M/220M [02:48<00:47, 211kiB/s]
Downloading:  96%|█████████▌| 210M/220M [02:48<00:43, 227kiB/s]
Downloading:  96%|█████████▌| 210M/220M [02:49<00:40, 241kiB/s]
Downloading:  96%|█████████▌| 210M/220M [02:49<00:34, 286kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:49<00:29, 327kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:49<00:30, 322kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:49<00:35, 269kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:49<00:29, 330kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:26, 359kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:22, 417kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:22, 409kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:21, 444kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:20, 452kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:17, 529kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:17, 523kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:17, 529kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:50<00:13, 672kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:51<00:13, 669kiB/s]
Downloading:  96%|█████████▌| 211M/220M [02:51<00:15, 573kiB/s]
Downloading:  96%|█████████▌| 212M/220M [02:51<00:15, 575kiB/s]
Downloading:  96%|█████████▌| 212M/220M [02:51<00:15, 573kiB/s]
Downloading:  96%|█████████▌| 212M/220M [02:51<00:15, 547kiB/s]
Downloading:  96%|█████████▌| 212M/220M [02:51<00:14, 578kiB/s]
Downloading:  96%|█████████▌| 212M/220M [02:51<00:09, 875kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:51<00:10, 816kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:52<00:17, 463kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:52<00:15, 511kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:52<00:15, 520kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:52<00:15, 512kiB/s]
Downloading:  96%|█████████▋| 212M/220M [02:52<00:11, 670kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:11, 647kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:10, 702kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:10, 724kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:09, 808kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:09, 768kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:09, 727kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:09, 752kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:53<00:09, 746kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:54<00:09, 733kiB/s]
Downloading:  97%|█████████▋| 213M/220M [02:54<00:08, 847kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:07, 893kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:07, 872kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:07, 875kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:07, 896kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:07, 849kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:54<00:06, 906kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:55<00:06, 963kiB/s]
Downloading:  97%|█████████▋| 214M/220M [02:55<00:05, 1.07MiB/s]
Downloading:  97%|█████████▋| 215M/220M [02:55<00:05, 996kiB/s]
Downloading:  97%|█████████▋| 215M/220M [02:55<00:06, 841kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:55<00:06, 868kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:55<00:06, 873kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:55<00:05, 884kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:07, 715kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:06, 755kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:09, 523kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:08, 581kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:08, 575kiB/s]
Downloading:  98%|█████████▊| 215M/220M [02:56<00:08, 559kiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:56<00:06, 696kiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:05, 818kiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:04, 972kiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:03, 1.08MiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:03, 1.07MiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:03, 1.16MiB/s]
Downloading:  98%|█████████▊| 216M/220M [02:57<00:03, 1.22MiB/s]
Downloading:  98%|█████████▊| 217M/220M [02:57<00:02, 1.24MiB/s]
Downloading:  98%|█████████▊| 217M/220M [02:57<00:03, 1.16MiB/s]
Downloading:  98%|█████████▊| 217M/220M [02:57<00:02, 1.16MiB/s]
Downloading:  99%|█████████▊| 217M/220M [02:58<00:02, 1.17MiB/s]
Downloading:  99%|█████████▊| 217M/220M [02:58<00:02, 1.16MiB/s]
Downloading:  99%|█████████▊| 217M/220M [02:58<00:02, 1.22MiB/s]
Downloading:  99%|█████████▊| 217M/220M [02:58<00:02, 1.36MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:58<00:01, 1.36MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:58<00:01, 1.31MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:58<00:01, 1.41MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:58<00:01, 1.43MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:58<00:01, 1.45MiB/s]
Downloading:  99%|█████████▉| 218M/220M [02:59<00:01, 1.42MiB/s]
Downloading:  99%|█████████▉| 219M/220M [02:59<00:01, 1.48MiB/s]
Downloading:  99%|█████████▉| 219M/220M [02:59<00:00, 1.61MiB/s]
Downloading:  99%|█████████▉| 219M/220M [02:59<00:01, 715kiB/s]
Downloading:  99%|█████████▉| 219M/220M [03:00<00:03, 363kiB/s]
Downloading:  99%|█████████▉| 219M/220M [03:01<00:04, 249kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:01<00:04, 241kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:02<00:04, 210kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:02<00:04, 223kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:02<00:05, 155kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:03<00:04, 177kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:03<00:04, 193kiB/s]
Downloading: 100%|█████████▉| 219M/220M [03:03<00:03, 223kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:03<00:03, 242kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:03<00:02, 281kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:03<00:02, 312kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:03<00:01, 334kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:03<00:01, 343kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:01, 349kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:01, 411kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:00, 447kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:00, 514kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:00, 570kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:00, 621kiB/s]
Downloading: 100%|█████████▉| 220M/220M [03:04<00:00, 693kiB/s]
Downloading: 100%|██████████| 220M/220M [03:04<00:00, 1.19MiB/s]

Extracting:   0%|          | 0/31572 [00:00<?, ?file/s]
Extracting:   0%|          | 50/31572 [00:00<01:04, 490.87file/s]
Extracting:   0%|          | 100/31572 [00:00<01:18, 403.26file/s]
Extracting:   0%|          | 142/31572 [00:00<01:18, 400.71file/s]
Extracting:  10%|▉         | 3008/31572 [00:00<00:02, 10590.04file/s]
Extracting:  19%|█▉        | 6140/31572 [00:00<00:01, 17635.56file/s]
Extracting:  29%|██▉       | 9190/31572 [00:00<00:01, 21839.63file/s]
Extracting:  39%|███▉      | 12437/31572 [00:00<00:00, 25202.23file/s]
Extracting:  50%|████▉     | 15666/31572 [00:00<00:00, 27415.90file/s]
Extracting:  61%|██████    | 19313/31572 [00:00<00:00, 30208.09file/s]
Extracting:  72%|███████▏  | 22678/31572 [00:01<00:00, 31259.54file/s]
Extracting:  83%|████████▎ | 26352/31572 [00:01<00:00, 32923.80file/s]
Extracting:  95%|█████████▌| 30062/31572 [00:01<00:00, 34187.07file/s]
Extracting: 100%|██████████| 31572/31572 [00:01<00:00, 21958.69file/s]
Extracted to /home/kemove/yyz/av-gihub/tutorials/mmwave_PC_source/
using dataset: M-Gesture DATA
Generating 21356 samples...
Generating 4359 samples...

Visualize the point cloud

In[3]:

from matplotlib import pyplot as plt
from pysensing.mmwave.PC.tutorial.plot import plot_3d_graph
# Example of the samples in the dataset
index = 9  # Randomly select an index
pc,gesture = train_dataset.__getitem__(index)
print(pc.shape, type(gesture))
plot_3d_graph(None, pc[8])
mmwave PC hgr tutorial
(28, 50, 5) <class 'int'>

Create model

M-Gesture utilizes CNN-based model, EVL_NN with feature engineering module called RPM as the baseline hgr method. From model.hgr, we can import desired hgr model designed for mmWave PC. The model parameter for EVL_NN reimplemented for M-Gesture is as follows:

In[4]:

from pysensing.mmwave.PC.model.hgr import EVL_NN
model = EVL_NN(dataset="M-Gesture", num_classes=4)
print(model)
EVL_NN(
  (C1): Sequential(
    (0): Conv2d(1, 32, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3))
  )
  (M): MaxPool2d(kernel_size=(3, 3), stride=(2, 2), padding=(0, 1), dilation=1, ceil_mode=False)
  (E1): Sequential(
    (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): ReLU(inplace=True)
    (2): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  )
  (E2): Sequential(
    (0): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): ReLU(inplace=True)
    (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  )
  (F): Sequential(
    (0): Linear(in_features=1792, out_features=256, bias=True)
  )
  (classifier): Sequential(
    (0): Linear(in_features=256, out_features=4, bias=True)
    (1): Softmax(dim=-1)
  )
)

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[5]:

# Create pytorch dataloaders
train_loader = torch.utils.data.DataLoader(train_dataset, shuffle=True, batch_size=128, num_workers=16)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=128, 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-4)


# GPU acceleration with cuda
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

A quick training using har_train. The resulted model parameters will be saved into “train_{num_epochs}.pth”.

In[6]:

# Pysensing training interface
from pysensing.mmwave.PC.inference.hgr import hgr_train
# hgr_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/HGR/M-Gesture_EVL_NN.pth , and perform human gesture recognition!

In[7]:

# load pretrained model
from pysensing.mmwave.PC.inference import load_pretrain
model = load_pretrain(model, "M-Gesture", "EVL_NN").to(device)
model.eval()
Use pretrained model!

EVL_NN(
  (C1): Sequential(
    (0): Conv2d(1, 32, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3))
  )
  (M): MaxPool2d(kernel_size=(3, 3), stride=(2, 2), padding=(0, 1), dilation=1, ceil_mode=False)
  (E1): Sequential(
    (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): ReLU(inplace=True)
    (2): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  )
  (E2): Sequential(
    (0): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): ReLU(inplace=True)
    (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  )
  (F): Sequential(
    (0): Linear(in_features=1792, out_features=256, bias=True)
  )
  (classifier): Sequential(
    (0): Linear(in_features=256, out_features=4, bias=True)
    (1): Softmax(dim=-1)
  )
)

Test the model on testing dataset.

In[8]:

from pysensing.mmwave.PC.inference.hgr import hgr_test
# hgr_test(model, test_loader, criterion=criterion, device=device)

Model inference on sample and deep feature embedding of input modality in HGR task.

In[9]:

idx = 5
pc, label= test_dataset.__getitem__(idx)
print(pc.shape)
pc  = torch.tensor(pc).unsqueeze(0).float().to(device)
predicted_result = model(pc)
print("The predicted gesture is {}, while the ground truth is {}".format(label,torch.argmax(predicted_result).cpu()))

# Deep feature embedding
from pysensing.mmwave.PC.inference.embedding import embedding
emb = embedding(input = pc, model=model, dataset_name = "M-Gesture", model_name = "EVL_NN", device=device)
print("The shape of feature embedding is: ", emb.shape)
(28, 50, 5)
The predicted gesture is 0, while the ground truth is 0
The shape of feature embedding is:  torch.Size([256])

Total running time of the script: (3 minutes 9.096 seconds)

Gallery generated by Sphinx-Gallery

Docs

Access documentation for Pysensing

View Docs

Tutorials

Get started with tutorials and examples

View Tutorials

Get Started

Find resources and how to start using pysensing

View Resources