Text Predictionnavigate_next Text Prediction - Customized Hyperparameter Search
Quick search
code
Show Source
Stable Version Documentation API Installation Tutorials Github Other Versions Documentation
AutoGluon Documentation
Table Of Contents
  • Tabular Prediction
    • Predicting Columns in a Table - Quick Start
    • Predicting Columns in a Table - In Depth
    • How to use AutoGluon for Kaggle competitions
    • FAQ
  • Image Classification
    • Image Classification - Quick Start
    • Image Classification - Search Space and Hyperparameter Optimization (HPO)
    • Image Classification - How to Use Your Own Datasets
  • Object Detection
    • Object Detection - Quick Start
  • Text Prediction
    • Text Prediction - Quick Start
    • Text Prediction - Customized Hyperparameter Search
    • Text Prediction - Heterogeneous Data Types
  • Customize AutoGluon
    • Search Space and Decorator
    • Search Algorithms
    • Customize User Objects
    • Customize Training Script
    • Distributed Search
    • Getting started with Advanced HPO Algorithms
  • Neural Architecture Search
    • Demo RL Searcher
    • How to Use ENAS/ProxylessNAS in Ten Minutes
  • For PyTorch Users
    • MNIST Training in PyTorch
  • autogluon.space
  • autogluon.core
  • autogluon.task
  • autogluon.scheduler
  • autogluon.searcher
  • autogluon.utils
  • autogluon.model_zoo
AutoGluon Documentation
Table Of Contents
  • Tabular Prediction
    • Predicting Columns in a Table - Quick Start
    • Predicting Columns in a Table - In Depth
    • How to use AutoGluon for Kaggle competitions
    • FAQ
  • Image Classification
    • Image Classification - Quick Start
    • Image Classification - Search Space and Hyperparameter Optimization (HPO)
    • Image Classification - How to Use Your Own Datasets
  • Object Detection
    • Object Detection - Quick Start
  • Text Prediction
    • Text Prediction - Quick Start
    • Text Prediction - Customized Hyperparameter Search
    • Text Prediction - Heterogeneous Data Types
  • Customize AutoGluon
    • Search Space and Decorator
    • Search Algorithms
    • Customize User Objects
    • Customize Training Script
    • Distributed Search
    • Getting started with Advanced HPO Algorithms
  • Neural Architecture Search
    • Demo RL Searcher
    • How to Use ENAS/ProxylessNAS in Ten Minutes
  • For PyTorch Users
    • MNIST Training in PyTorch
  • autogluon.space
  • autogluon.core
  • autogluon.task
  • autogluon.scheduler
  • autogluon.searcher
  • autogluon.utils
  • autogluon.model_zoo

Text Prediction - Customized Hyperparameter Search¶

This tutorial teaches you how to control the hyperparameter tuning process in TextPrediction by specifying:

  • A custom search space of candidate hyperparameter values to consider.

  • Which hyperparameter optimization algorithm should be used to actually search through this space.

import numpy as np
import warnings
warnings.filterwarnings('ignore')
np.random.seed(123)

Paraphrase Identification¶

We consider a Paraphrase Identification task for illustration. Given a pair of sentences, the goal is to predict whether or not one sentence is a restatement of the other (a binary classification task). Here we train models on the Microsoft Research Paraphrase Corpus dataset.

from autogluon.utils.tabular.utils.loaders import load_pd

train_data = load_pd.load('https://autogluon-text.s3-accelerate.amazonaws.com/glue/mrpc/train.parquet')
dev_data = load_pd.load('https://autogluon-text.s3-accelerate.amazonaws.com/glue/mrpc/dev.parquet')
train_data.head(10)
Loaded data from: https://autogluon-text.s3-accelerate.amazonaws.com/glue/mrpc/train.parquet | Columns = 3 / 3 | Rows = 3668 -> 3668
Loaded data from: https://autogluon-text.s3-accelerate.amazonaws.com/glue/mrpc/dev.parquet | Columns = 3 / 3 | Rows = 408 -> 408
sentence1 sentence2 label
0 Amrozi accused his brother , whom he called " ... Referring to him as only " the witness " , Amr... 1
1 Yucaipa owned Dominick 's before selling the c... Yucaipa bought Dominick 's in 1995 for $ 693 m... 0
2 They had published an advertisement on the Int... On June 10 , the ship 's owners had published ... 1
3 Around 0335 GMT , Tab shares were up 19 cents ... Tab shares jumped 20 cents , or 4.6 % , to set... 0
4 The stock rose $ 2.11 , or about 11 percent , ... PG & E Corp. shares jumped $ 1.63 or 8 percent... 1
5 Revenue in the first quarter of the year dropp... With the scandal hanging over Stewart 's compa... 1
6 The Nasdaq had a weekly gain of 17.27 , or 1.2... The tech-laced Nasdaq Composite .IXIC rallied ... 0
7 The DVD-CCA then appealed to the state Supreme... The DVD CCA appealed that decision to the U.S.... 1
8 That compared with $ 35.18 million , or 24 cen... Earnings were affected by a non-recurring $ 8 ... 0
9 Shares of Genentech , a much larger company wi... Shares of Xoma fell 16 percent in early trade ... 0
from autogluon_contrib_nlp.data.tokenizers import MosesTokenizer
tokenizer = MosesTokenizer('en')  # just used to display sentences
row_index = 2
print('Paraphrase example:')
print('Sentence1: ', tokenizer.decode(train_data['sentence1'][row_index].split()))
print('Sentence2: ', tokenizer.decode(train_data['sentence2'][row_index].split()))
print('Label: ', train_data['label'][row_index])

row_index = 3
print('\nNot Paraphrase example:')
print('Sentence1:', tokenizer.decode(train_data['sentence1'][row_index].split()))
print('Sentence2:', tokenizer.decode(train_data['sentence2'][row_index].split()))
print('Label:', train_data['label'][row_index])
/var/lib/jenkins/miniconda3/envs/autogluon_docs-v0_0_15/lib/python3.7/site-packages/ipykernel/ipkernel.py:287: DeprecationWarning: should_run_async will not call transform_cell automatically in the future. Please pass the result to transformed_cell argument and any exception that happen during thetransform in preprocessing_exc_tuple in IPython 7.17 and above.
  and should_run_async(code)
Paraphrase example:
Sentence1:  They had published an advertisement on the Internet on June 10, offering the cargo for sale, he added.
Sentence2:  On June 10, the ship's owners had published an advertisement on the Internet, offering the explosives for sale.
Label:  1

Not Paraphrase example:
Sentence1: Around 0335 GMT, Tab shares were up 19 cents, or 4.4%, at A $4.56, having earlier set a record high of A $4.57.
Sentence2: Tab shares jumped 20 cents, or 4.6%, to set a record closing high at A $4.57.
Label: 0

Perform HPO over a Customized Search Space with Random Search¶

To control which hyperparameter values are considered during fit(), we specify the hyperparameters argument. Rather than specifying a particular fixed value for a hyperparameter, we can specify a space of values to search over via ag.space. We can also specify which HPO algorithm to use for the search via search_strategy (a simple random search is specified below). In this example, we search for good values of the following hyperparameters:

  • warmup

  • learning rate

  • dropout before the first task-specific layer

  • layer-wise learning rate decay

  • number of task-specific layers

import autogluon as ag
from autogluon import TextPrediction as task

hyperparameters = {
    'models': {
            'BertForTextPredictionBasic': {
                'search_space': {
                    'model.network.agg_net.num_layers': ag.space.Int(0, 3),
                    'model.network.agg_net.data_dropout': ag.space.Categorical(False, True),
                    'optimization.num_train_epochs': 4,
                    'optimization.warmup_portion': ag.space.Real(0.1, 0.2),
                    'optimization.layerwise_lr_decay': ag.space.Real(0.8, 1.0),
                    'optimization.lr': ag.space.Real(1E-5, 1E-4)
                }
            },
    },
    'hpo_params': {
        'scheduler': 'fifo',  # schedule training jobs in a sequential first-in first-out fashion during HPO
        'search_strategy': 'random'  # perform HPO via simple random search
    }
}

We can now call fit() with hyperparameter-tuning over our custom search space. Below num_trials controls the maximal number of different hyperparameter configurations for which AutoGluon will train models (5 models are trained under different hyperparameter configurations in this case). To achieve good performance in your applications, you should use larger values of num_trials, which may identify superior hyperparameter values but will require longer runtimes.

predictor_mrpc = task.fit(train_data,
                          label='label',
                          hyperparameters=hyperparameters,
                          num_trials=5,  # increase this to achieve good performance in your applications
                          time_limits=60 * 6,
                          ngpus_per_trial=1,
                          seed=123,
                          output_directory='./ag_mrpc_random_search')
NumPy-shape semantics has been activated in your code. This is required for creating and manipulating scalar and zero-size tensors, which were not supported in MXNet before, as in the official NumPy library. Please DO NOT manually deactivate this semantics while using mxnet.numpy and mxnet.numpy_extension modules.
2020-12-08 20:21:49,199 - root - INFO - All Logs will be saved to ./ag_mrpc_random_search/ag_text_prediction.log
2020-12-08 20:21:49,215 - root - INFO - Train Dataset:
2020-12-08 20:21:49,216 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=2934/0
   length, min/avg/max=38/118.03/226
)
- Text(
   name="sentence2"
   #total/missing=2934/0
   length, min/avg/max=42/118.07/215
)
- Categorical(
   name="label"
   #total/missing=2934/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[962, 1972]
)


2020-12-08 20:21:49,216 - root - INFO - Tuning Dataset:
2020-12-08 20:21:49,216 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=734/0
   length, min/avg/max=40/120.27/209
)
- Text(
   name="sentence2"
   #total/missing=734/0
   length, min/avg/max=42/121.55/212
)
- Categorical(
   name="label"
   #total/missing=734/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[232, 502]
)


2020-12-08 20:21:49,217 - root - INFO - Label columns=['label'], Feature columns=['sentence1', 'sentence2'], Problem types=['classification'], Label shapes=[2]
2020-12-08 20:21:49,217 - root - INFO - Eval Metric=acc, Stop Metric=acc, Log Metrics=['f1', 'mcc', 'auc', 'acc', 'nll']
HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=5.0), HTML(value='')))
  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:01,  1.52it/s]
  1%|          | 2/368 [00:00<03:11,  1.92it/s]
  1%|          | 3/368 [00:01<02:33,  2.38it/s]
  1%|          | 4/368 [00:01<02:01,  2.99it/s]
  1%|▏         | 5/368 [00:01<01:46,  3.42it/s]
  2%|▏         | 6/368 [00:01<01:30,  3.98it/s]
  2%|▏         | 7/368 [00:01<01:18,  4.59it/s]
  2%|▏         | 8/368 [00:01<01:08,  5.29it/s]
  2%|▏         | 9/368 [00:01<01:07,  5.33it/s]
  3%|▎         | 10/368 [00:02<02:31,  2.36it/s]
  3%|▎         | 11/368 [00:03<02:00,  2.96it/s]
  3%|▎         | 12/368 [00:03<01:43,  3.44it/s]
  4%|▎         | 13/368 [00:03<01:28,  3.99it/s]
  4%|▍         | 14/368 [00:03<01:17,  4.57it/s]
  4%|▍         | 15/368 [00:03<01:10,  5.02it/s]
  4%|▍         | 16/368 [00:03<01:06,  5.26it/s]
  5%|▍         | 17/368 [00:04<01:00,  5.84it/s]
  5%|▍         | 18/368 [00:04<00:54,  6.46it/s]
  5%|▌         | 19/368 [00:04<00:52,  6.61it/s]
  5%|▌         | 20/368 [00:05<02:23,  2.42it/s]
  6%|▌         | 21/368 [00:05<01:55,  3.01it/s]
  6%|▌         | 22/368 [00:05<01:32,  3.72it/s]
  6%|▋         | 23/368 [00:05<01:18,  4.41it/s]
  7%|▋         | 24/368 [00:05<01:07,  5.08it/s]
  7%|▋         | 25/368 [00:05<00:59,  5.75it/s]
  7%|▋         | 26/368 [00:06<00:57,  5.95it/s]
  7%|▋         | 27/368 [00:06<00:54,  6.20it/s]
  8%|▊         | 28/368 [00:06<00:53,  6.31it/s]
  8%|▊         | 29/368 [00:06<00:50,  6.73it/s]
  8%|▊         | 30/368 [00:07<02:20,  2.40it/s]
  8%|▊         | 31/368 [00:07<01:51,  3.02it/s]
  9%|▊         | 32/368 [00:07<01:32,  3.63it/s]
  9%|▉         | 33/368 [00:07<01:17,  4.35it/s]
  9%|▉         | 34/368 [00:08<01:05,  5.08it/s]
 10%|▉         | 35/368 [00:08<00:59,  5.64it/s]
 10%|▉         | 36/368 [00:08<00:57,  5.78it/s]
 10%|█         | 37/368 [00:08<00:52,  6.30it/s]
 10%|█         | 38/368 [00:08<00:52,  6.34it/s]
 11%|█         | 39/368 [00:08<00:52,  6.24it/s]
 11%|█         | 40/368 [00:09<02:17,  2.39it/s]
 11%|█         | 41/368 [00:09<01:48,  3.02it/s]
 11%|█▏        | 42/368 [00:10<01:27,  3.72it/s]
 12%|█▏        | 43/368 [00:10<01:12,  4.46it/s]
 12%|█▏        | 44/368 [00:10<01:02,  5.15it/s]
 12%|█▏        | 45/368 [00:10<00:55,  5.78it/s]
 12%|█▎        | 46/368 [00:10<00:50,  6.34it/s]
 13%|█▎        | 47/368 [00:10<00:46,  6.84it/s]
 13%|█▎        | 48/368 [00:10<00:44,  7.24it/s]
 13%|█▎        | 49/368 [00:10<00:42,  7.49it/s]
 14%|█▎        | 50/368 [00:11<01:54,  2.77it/s]
 14%|█▍        | 51/368 [00:11<01:32,  3.43it/s]
 14%|█▍        | 52/368 [00:12<01:16,  4.12it/s]
 14%|█▍        | 53/368 [00:12<01:05,  4.82it/s]
 15%|█▍        | 54/368 [00:12<00:56,  5.51it/s]
 15%|█▍        | 55/368 [00:12<00:51,  6.10it/s]
 15%|█▌        | 56/368 [00:12<00:48,  6.41it/s]
 15%|█▌        | 57/368 [00:12<00:47,  6.62it/s]
 16%|█▌        | 58/368 [00:12<00:43,  7.10it/s]
 16%|█▌        | 59/368 [00:12<00:41,  7.46it/s]
 16%|█▋        | 60/368 [00:13<01:50,  2.79it/s]
 17%|█▋        | 61/368 [00:13<01:28,  3.45it/s]
 17%|█▋        | 62/368 [00:14<01:14,  4.10it/s]
 17%|█▋        | 63/368 [00:14<01:05,  4.62it/s]
 17%|█▋        | 64/368 [00:14<00:56,  5.33it/s]
 18%|█▊        | 65/368 [00:14<00:50,  5.98it/s]
 18%|█▊        | 66/368 [00:14<00:46,  6.45it/s]
 18%|█▊        | 67/368 [00:14<00:44,  6.78it/s]
 18%|█▊        | 68/368 [00:14<00:42,  7.03it/s]
 19%|█▉        | 69/368 [00:15<00:41,  7.29it/s]
 19%|█▉        | 70/368 [00:15<01:45,  2.82it/s]
 19%|█▉        | 71/368 [00:16<01:25,  3.48it/s]
 20%|█▉        | 72/368 [00:16<01:13,  4.02it/s]
 20%|█▉        | 73/368 [00:16<01:02,  4.71it/s]
 20%|██        | 74/368 [00:16<00:58,  5.05it/s]
 20%|██        | 75/368 [00:16<00:50,  5.78it/s]
 21%|██        | 76/368 [00:16<00:46,  6.32it/s]
 21%|██        | 77/368 [00:16<00:42,  6.78it/s]
 21%|██        | 78/368 [00:16<00:40,  7.11it/s]
 21%|██▏       | 79/368 [00:17<00:39,  7.34it/s]
 22%|██▏       | 80/368 [00:17<01:42,  2.81it/s]
 22%|██▏       | 81/368 [00:18<01:23,  3.44it/s]
 22%|██▏       | 82/368 [00:18<01:09,  4.13it/s]
 23%|██▎       | 83/368 [00:18<00:58,  4.85it/s]
 23%|██▎       | 84/368 [00:18<00:51,  5.49it/s]
 23%|██▎       | 85/368 [00:18<00:46,  6.12it/s]
 23%|██▎       | 86/368 [00:18<00:42,  6.57it/s]
 24%|██▎       | 87/368 [00:18<00:40,  6.92it/s]
 24%|██▍       | 88/368 [00:18<00:39,  7.04it/s]
 24%|██▍       | 89/368 [00:19<00:37,  7.37it/s]
 24%|██▍       | 90/368 [00:19<01:39,  2.80it/s]
 25%|██▍       | 91/368 [00:20<01:20,  3.45it/s]
 25%|██▌       | 92/368 [00:20<01:05,  4.19it/s]
 25%|██▌       | 93/368 [00:20<00:55,  4.93it/s]
 26%|██▌       | 94/368 [00:20<00:49,  5.52it/s]
 26%|██▌       | 95/368 [00:20<00:45,  6.05it/s]
 26%|██▌       | 96/368 [00:20<00:41,  6.52it/s]
 26%|██▋       | 97/368 [00:20<00:39,  6.90it/s]
 27%|██▋       | 98/368 [00:20<00:37,  7.14it/s]
 27%|██▋       | 99/368 [00:21<00:38,  6.91it/s]
 27%|██▋       | 100/368 [00:22<01:51,  2.40it/s]
 27%|██▋       | 101/368 [00:22<01:28,  3.01it/s]
 28%|██▊       | 102/368 [00:22<01:12,  3.67it/s]
 28%|██▊       | 103/368 [00:22<01:00,  4.35it/s]
 28%|██▊       | 104/368 [00:22<00:51,  5.08it/s]
 29%|██▊       | 105/368 [00:22<00:46,  5.71it/s]
 29%|██▉       | 106/368 [00:22<00:41,  6.27it/s]
 29%|██▉       | 107/368 [00:23<00:38,  6.74it/s]
 29%|██▉       | 108/368 [00:23<00:36,  7.16it/s]
 30%|██▉       | 109/368 [00:23<00:34,  7.45it/s]
 30%|██▉       | 110/368 [00:24<01:31,  2.81it/s]
 30%|███       | 111/368 [00:24<01:14,  3.46it/s]
 30%|███       | 112/368 [00:24<01:03,  4.04it/s]
 31%|███       | 113/368 [00:24<00:53,  4.73it/s]
 31%|███       | 114/368 [00:24<00:48,  5.26it/s]
 31%|███▏      | 115/368 [00:24<00:43,  5.87it/s]
 32%|███▏      | 116/368 [00:24<00:39,  6.33it/s]
 32%|███▏      | 117/368 [00:25<00:36,  6.92it/s]
 32%|███▏      | 118/368 [00:25<00:33,  7.36it/s]
 32%|███▏      | 119/368 [00:25<00:32,  7.58it/s]
 33%|███▎      | 120/368 [00:26<01:41,  2.43it/s]
 33%|███▎      | 121/368 [00:26<01:21,  3.03it/s]
 33%|███▎      | 122/368 [00:26<01:06,  3.68it/s]
 33%|███▎      | 123/368 [00:26<00:55,  4.40it/s]
 34%|███▎      | 124/368 [00:26<00:49,  4.96it/s]
 34%|███▍      | 125/368 [00:27<00:43,  5.52it/s]
 34%|███▍      | 126/368 [00:27<00:40,  6.00it/s]
 35%|███▍      | 127/368 [00:27<00:37,  6.50it/s]
 35%|███▍      | 128/368 [00:27<00:34,  6.87it/s]
 35%|███▌      | 129/368 [00:27<00:34,  7.02it/s]
 35%|███▌      | 130/368 [00:28<01:27,  2.73it/s]
 36%|███▌      | 131/368 [00:28<01:10,  3.36it/s]
 36%|███▌      | 132/368 [00:28<00:58,  4.04it/s]
 36%|███▌      | 133/368 [00:28<00:49,  4.75it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.35it/s]
 37%|███▋      | 135/368 [00:29<00:39,  5.96it/s]
 37%|███▋      | 136/368 [00:29<00:36,  6.37it/s]
 37%|███▋      | 137/368 [00:29<00:34,  6.77it/s]
 38%|███▊      | 138/368 [00:29<00:32,  7.10it/s]
 38%|███▊      | 139/368 [00:29<00:32,  7.09it/s]
 38%|███▊      | 140/368 [00:30<01:35,  2.40it/s]
 38%|███▊      | 141/368 [00:30<01:15,  3.03it/s]
 39%|███▊      | 142/368 [00:30<01:00,  3.75it/s]
 39%|███▉      | 143/368 [00:31<00:50,  4.48it/s]
 39%|███▉      | 144/368 [00:31<00:43,  5.10it/s]
 39%|███▉      | 145/368 [00:31<00:42,  5.25it/s]
 40%|███▉      | 146/368 [00:31<00:37,  5.84it/s]
 40%|███▉      | 147/368 [00:31<00:34,  6.36it/s]
 40%|████      | 148/368 [00:31<00:32,  6.74it/s]
 40%|████      | 149/368 [00:31<00:31,  6.98it/s]
 41%|████      | 150/368 [00:32<01:30,  2.41it/s]
 41%|████      | 151/368 [00:33<01:11,  3.04it/s]
 41%|████▏     | 152/368 [00:33<00:57,  3.74it/s]
 42%|████▏     | 153/368 [00:33<00:48,  4.45it/s]
 42%|████▏     | 154/368 [00:33<00:41,  5.17it/s]
 42%|████▏     | 155/368 [00:33<00:37,  5.63it/s]
 42%|████▏     | 156/368 [00:33<00:34,  6.15it/s]
 43%|████▎     | 157/368 [00:33<00:32,  6.57it/s]
 43%|████▎     | 158/368 [00:33<00:30,  6.98it/s]
 43%|████▎     | 159/368 [00:34<00:28,  7.23it/s]
 43%|████▎     | 160/368 [00:35<01:16,  2.73it/s]
 44%|████▍     | 161/368 [00:35<01:01,  3.38it/s]
 44%|████▍     | 162/368 [00:35<00:50,  4.08it/s]
 44%|████▍     | 163/368 [00:35<00:42,  4.78it/s]
 45%|████▍     | 164/368 [00:35<00:37,  5.43it/s]
 45%|████▍     | 165/368 [00:35<00:34,  5.91it/s]
 45%|████▌     | 166/368 [00:35<00:31,  6.49it/s]
 45%|████▌     | 167/368 [00:35<00:29,  6.84it/s]
 46%|████▌     | 168/368 [00:36<00:27,  7.18it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.31it/s]
 46%|████▌     | 170/368 [00:37<01:12,  2.75it/s]
 46%|████▋     | 171/368 [00:37<00:57,  3.40it/s]
 47%|████▋     | 172/368 [00:37<00:47,  4.10it/s]
 47%|████▋     | 173/368 [00:37<00:40,  4.76it/s]
 47%|████▋     | 174/368 [00:37<00:35,  5.43it/s]
 48%|████▊     | 175/368 [00:37<00:32,  5.87it/s]
 48%|████▊     | 176/368 [00:37<00:30,  6.38it/s]
 48%|████▊     | 177/368 [00:37<00:29,  6.58it/s]
 48%|████▊     | 178/368 [00:38<00:27,  6.80it/s]
 49%|████▊     | 179/368 [00:38<00:26,  7.08it/s]
 49%|████▉     | 180/368 [00:39<01:09,  2.71it/s]
 49%|████▉     | 181/368 [00:39<00:56,  3.31it/s]
 49%|████▉     | 182/368 [00:39<00:46,  3.96it/s]
 50%|████▉     | 183/368 [00:39<00:40,  4.58it/s]
 50%|█████     | 184/368 [00:39<00:34,  5.27it/s]
 50%|█████     | 185/368 [00:39<00:31,  5.75it/s]
 51%|█████     | 186/368 [00:39<00:29,  6.26it/s]
 51%|█████     | 187/368 [00:40<00:27,  6.68it/s]
 51%|█████     | 188/368 [00:40<00:25,  7.01it/s]
 51%|█████▏    | 189/368 [00:40<00:25,  7.15it/s]
 52%|█████▏    | 190/368 [00:41<01:05,  2.71it/s]
 52%|█████▏    | 191/368 [00:41<00:52,  3.37it/s]
 52%|█████▏    | 192/368 [00:41<00:43,  4.07it/s]
 52%|█████▏    | 193/368 [00:41<00:37,  4.70it/s]
 53%|█████▎    | 194/368 [00:41<00:33,  5.26it/s]
 53%|█████▎    | 195/368 [00:41<00:29,  5.80it/s]
 53%|█████▎    | 196/368 [00:42<00:27,  6.32it/s]
 54%|█████▎    | 197/368 [00:42<00:25,  6.65it/s]
 54%|█████▍    | 198/368 [00:42<00:24,  6.94it/s]
 54%|█████▍    | 199/368 [00:42<00:23,  7.08it/s]
 54%|█████▍    | 200/368 [00:43<01:01,  2.74it/s]
 55%|█████▍    | 201/368 [00:43<00:49,  3.40it/s]
 55%|█████▍    | 202/368 [00:43<00:40,  4.12it/s]
 55%|█████▌    | 203/368 [00:43<00:34,  4.83it/s]
 55%|█████▌    | 204/368 [00:43<00:29,  5.49it/s]
 56%|█████▌    | 205/368 [00:43<00:27,  5.98it/s]
 56%|█████▌    | 206/368 [00:44<00:25,  6.40it/s]
 56%|█████▋    | 207/368 [00:44<00:23,  6.85it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.20it/s]
 57%|█████▋    | 209/368 [00:44<00:21,  7.48it/s]
 57%|█████▋    | 210/368 [00:45<00:57,  2.76it/s]
 57%|█████▋    | 211/368 [00:45<00:46,  3.37it/s]
 58%|█████▊    | 212/368 [00:45<00:38,  4.04it/s]
 58%|█████▊    | 213/368 [00:45<00:32,  4.75it/s]
 58%|█████▊    | 214/368 [00:45<00:28,  5.32it/s]
 58%|█████▊    | 215/368 [00:45<00:26,  5.86it/s]
 59%|█████▊    | 216/368 [00:46<00:23,  6.37it/s]
 59%|█████▉    | 217/368 [00:46<00:22,  6.71it/s]
 59%|█████▉    | 218/368 [00:46<00:21,  6.93it/s]
 60%|█████▉    | 219/368 [00:46<00:20,  7.22it/s]
 60%|█████▉    | 220/368 [00:47<00:54,  2.70it/s]
 60%|██████    | 221/368 [00:47<00:44,  3.31it/s]
 60%|██████    | 222/368 [00:47<00:36,  4.00it/s]
 61%|██████    | 223/368 [00:47<00:30,  4.72it/s]
 61%|██████    | 224/368 [00:47<00:26,  5.41it/s]
 61%|██████    | 225/368 [00:48<00:24,  5.95it/s]
 61%|██████▏   | 226/368 [00:48<00:22,  6.38it/s]
 62%|██████▏   | 227/368 [00:48<00:21,  6.71it/s]
 62%|██████▏   | 228/368 [00:48<00:19,  7.02it/s]
 62%|██████▏   | 229/368 [00:48<00:18,  7.47it/s]
 62%|██████▎   | 230/368 [00:49<00:50,  2.75it/s]
 63%|██████▎   | 231/368 [00:49<00:40,  3.40it/s]
 63%|██████▎   | 232/368 [00:49<00:33,  4.11it/s]
 63%|██████▎   | 233/368 [00:49<00:28,  4.76it/s]
 64%|██████▎   | 234/368 [00:49<00:25,  5.36it/s]
 64%|██████▍   | 235/368 [00:50<00:22,  5.99it/s]
 64%|██████▍   | 236/368 [00:50<00:20,  6.43it/s]
 64%|██████▍   | 237/368 [00:50<00:19,  6.66it/s]
 65%|██████▍   | 238/368 [00:50<00:18,  7.09it/s]
 65%|██████▍   | 239/368 [00:50<00:17,  7.35it/s]
 65%|██████▌   | 240/368 [00:51<00:46,  2.75it/s]
 65%|██████▌   | 241/368 [00:51<00:37,  3.40it/s]
 66%|██████▌   | 242/368 [00:51<00:30,  4.09it/s]
 66%|██████▌   | 243/368 [00:51<00:25,  4.85it/s]
 66%|██████▋   | 244/368 [00:52<00:22,  5.44it/s]
 67%|██████▋   | 245/368 [00:52<00:20,  5.98it/s]
 67%|██████▋   | 246/368 [00:52<00:19,  6.39it/s]
 67%|██████▋   | 247/368 [00:52<00:18,  6.51it/s]
 67%|██████▋   | 248/368 [00:52<00:17,  6.86it/s]
 68%|██████▊   | 249/368 [00:52<00:16,  7.14it/s]
 68%|██████▊   | 250/368 [00:53<00:50,  2.35it/s]
 68%|██████▊   | 251/368 [00:53<00:39,  3.00it/s]
 68%|██████▊   | 252/368 [00:54<00:31,  3.66it/s]
 69%|██████▉   | 253/368 [00:54<00:26,  4.36it/s]
 69%|██████▉   | 254/368 [00:54<00:22,  5.02it/s]
 69%|██████▉   | 255/368 [00:54<00:19,  5.68it/s]
 70%|██████▉   | 256/368 [00:54<00:18,  5.97it/s]
 70%|██████▉   | 257/368 [00:54<00:17,  6.26it/s]
 70%|███████   | 258/368 [00:54<00:16,  6.63it/s]
 70%|███████   | 259/368 [00:54<00:16,  6.77it/s]
 71%|███████   | 260/368 [00:55<00:40,  2.69it/s]
 71%|███████   | 261/368 [00:55<00:32,  3.31it/s]
 71%|███████   | 262/368 [00:56<00:26,  3.99it/s]
 71%|███████▏  | 263/368 [00:56<00:22,  4.67it/s]
 72%|███████▏  | 264/368 [00:56<00:19,  5.33it/s]
 72%|███████▏  | 265/368 [00:56<00:17,  5.84it/s]
 72%|███████▏  | 266/368 [00:56<00:16,  6.18it/s]
 73%|███████▎  | 267/368 [00:56<00:15,  6.45it/s]
 73%|███████▎  | 268/368 [00:56<00:15,  6.63it/s]
 73%|███████▎  | 269/368 [00:57<00:14,  6.94it/s]
 73%|███████▎  | 270/368 [00:57<00:36,  2.72it/s]
 74%|███████▎  | 271/368 [00:58<00:28,  3.37it/s]
 74%|███████▍  | 272/368 [00:58<00:23,  4.06it/s]
 74%|███████▍  | 273/368 [00:58<00:19,  4.77it/s]
 74%|███████▍  | 274/368 [00:58<00:17,  5.48it/s]
 75%|███████▍  | 275/368 [00:58<00:15,  6.13it/s]
 75%|███████▌  | 276/368 [00:58<00:13,  6.59it/s]
 75%|███████▌  | 277/368 [00:58<00:13,  6.86it/s]
 76%|███████▌  | 278/368 [00:58<00:12,  7.25it/s]
 76%|███████▌  | 279/368 [00:59<00:11,  7.47it/s]
 76%|███████▌  | 280/368 [00:59<00:31,  2.77it/s]
 76%|███████▋  | 281/368 [01:00<00:25,  3.41it/s]
 77%|███████▋  | 282/368 [01:00<00:21,  4.08it/s]
 77%|███████▋  | 283/368 [01:00<00:17,  4.80it/s]
 77%|███████▋  | 284/368 [01:00<00:15,  5.40it/s]
 77%|███████▋  | 285/368 [01:00<00:13,  6.03it/s]
 78%|███████▊  | 286/368 [01:00<00:12,  6.49it/s]
 78%|███████▊  | 287/368 [01:00<00:11,  6.76it/s]
 78%|███████▊  | 288/368 [01:00<00:11,  7.06it/s]
 79%|███████▊  | 289/368 [01:01<00:10,  7.27it/s]
 79%|███████▉  | 290/368 [01:01<00:28,  2.76it/s]
 79%|███████▉  | 291/368 [01:02<00:22,  3.41it/s]
 79%|███████▉  | 292/368 [01:02<00:18,  4.12it/s]
 80%|███████▉  | 293/368 [01:02<00:16,  4.67it/s]
 80%|███████▉  | 294/368 [01:02<00:13,  5.34it/s]
 80%|████████  | 295/368 [01:02<00:12,  5.99it/s]
 80%|████████  | 296/368 [01:02<00:11,  6.24it/s]
 81%|████████  | 297/368 [01:02<00:10,  6.60it/s]
 81%|████████  | 298/368 [01:03<00:10,  6.99it/s]
 81%|████████▏ | 299/368 [01:03<00:09,  7.22it/s]
 82%|████████▏ | 300/368 [01:04<00:24,  2.75it/s]
 82%|████████▏ | 301/368 [01:04<00:19,  3.39it/s]
 82%|████████▏ | 302/368 [01:04<00:16,  4.12it/s]
 82%|████████▏ | 303/368 [01:04<00:13,  4.81it/s]
 83%|████████▎ | 304/368 [01:04<00:11,  5.36it/s]
 83%|████████▎ | 305/368 [01:04<00:10,  5.93it/s]
 83%|████████▎ | 306/368 [01:04<00:09,  6.43it/s]
 83%|████████▎ | 307/368 [01:04<00:08,  6.85it/s]
 84%|████████▎ | 308/368 [01:05<00:08,  7.18it/s]
 84%|████████▍ | 309/368 [01:05<00:07,  7.39it/s]
 84%|████████▍ | 310/368 [01:06<00:21,  2.76it/s]
 85%|████████▍ | 311/368 [01:06<00:16,  3.40it/s]
 85%|████████▍ | 312/368 [01:06<00:13,  4.11it/s]
 85%|████████▌ | 313/368 [01:06<00:11,  4.83it/s]
 85%|████████▌ | 314/368 [01:06<00:09,  5.47it/s]
 86%|████████▌ | 315/368 [01:06<00:08,  5.96it/s]
 86%|████████▌ | 316/368 [01:06<00:08,  6.48it/s]
 86%|████████▌ | 317/368 [01:06<00:07,  6.96it/s]
 86%|████████▋ | 318/368 [01:07<00:06,  7.19it/s]
 87%|████████▋ | 319/368 [01:07<00:06,  7.17it/s]
 87%|████████▋ | 320/368 [01:08<00:17,  2.73it/s]
 87%|████████▋ | 321/368 [01:08<00:14,  3.32it/s]
 88%|████████▊ | 322/368 [01:08<00:11,  4.06it/s]
 88%|████████▊ | 323/368 [01:08<00:09,  4.77it/s]
 88%|████████▊ | 324/368 [01:08<00:08,  5.42it/s]
 88%|████████▊ | 325/368 [01:08<00:07,  5.95it/s]
 89%|████████▊ | 326/368 [01:08<00:06,  6.45it/s]
 89%|████████▉ | 327/368 [01:09<00:05,  6.93it/s]
 89%|████████▉ | 328/368 [01:09<00:05,  7.16it/s]
 89%|████████▉ | 329/368 [01:09<00:05,  7.49it/s]
 90%|████████▉ | 330/368 [01:10<00:13,  2.73it/s]
 90%|████████▉ | 331/368 [01:10<00:10,  3.37it/s]
 90%|█████████ | 332/368 [01:10<00:08,  4.10it/s]
 90%|█████████ | 333/368 [01:10<00:07,  4.81it/s]
 91%|█████████ | 334/368 [01:10<00:06,  5.48it/s]
 91%|█████████ | 335/368 [01:10<00:05,  6.04it/s]
 91%|█████████▏| 336/368 [01:10<00:04,  6.45it/s]
 92%|█████████▏| 337/368 [01:11<00:04,  6.55it/s]
 92%|█████████▏| 338/368 [01:11<00:04,  6.88it/s]
 92%|█████████▏| 339/368 [01:11<00:04,  7.12it/s]
 92%|█████████▏| 340/368 [01:12<00:10,  2.74it/s]
 93%|█████████▎| 341/368 [01:12<00:07,  3.38it/s]
 93%|█████████▎| 342/368 [01:12<00:06,  4.09it/s]
 93%|█████████▎| 343/368 [01:12<00:05,  4.84it/s]
 93%|█████████▎| 344/368 [01:12<00:04,  5.43it/s]
 94%|█████████▍| 345/368 [01:12<00:03,  6.01it/s]
 94%|█████████▍| 346/368 [01:13<00:03,  6.35it/s]
 94%|█████████▍| 347/368 [01:13<00:03,  6.79it/s]
 95%|█████████▍| 348/368 [01:13<00:02,  7.09it/s]
 95%|█████████▍| 349/368 [01:14<00:04,  4.70it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:01,  1.52it/s]
  1%|          | 2/368 [00:00<03:11,  1.91it/s]
  1%|          | 3/368 [00:01<02:34,  2.35it/s]
  1%|          | 4/368 [00:01<02:05,  2.89it/s]
  1%|▏         | 5/368 [00:01<01:46,  3.41it/s]
  2%|▏         | 6/368 [00:01<01:29,  4.03it/s]
  2%|▏         | 7/368 [00:01<01:18,  4.61it/s]
  2%|▏         | 8/368 [00:01<01:10,  5.11it/s]
  2%|▏         | 9/368 [00:01<01:06,  5.40it/s]
  3%|▎         | 10/368 [00:03<02:38,  2.26it/s]
  3%|▎         | 11/368 [00:03<02:06,  2.82it/s]
  3%|▎         | 12/368 [00:03<01:42,  3.47it/s]
  4%|▎         | 13/368 [00:03<01:26,  4.11it/s]
  4%|▍         | 14/368 [00:03<01:15,  4.67it/s]
  4%|▍         | 15/368 [00:03<01:06,  5.34it/s]
  4%|▍         | 16/368 [00:03<01:02,  5.63it/s]
  5%|▍         | 17/368 [00:04<00:57,  6.06it/s]
  5%|▍         | 18/368 [00:04<00:58,  6.02it/s]
  5%|▌         | 19/368 [00:04<00:56,  6.22it/s]
  5%|▌         | 20/368 [00:05<02:29,  2.33it/s]
  6%|▌         | 21/368 [00:05<02:02,  2.83it/s]
  6%|▌         | 22/368 [00:05<01:39,  3.46it/s]
  6%|▋         | 23/368 [00:05<01:25,  4.01it/s]
  7%|▋         | 24/368 [00:05<01:13,  4.71it/s]
  7%|▋         | 25/368 [00:06<01:07,  5.09it/s]
  7%|▋         | 26/368 [00:06<01:01,  5.60it/s]
  7%|▋         | 27/368 [00:06<00:58,  5.82it/s]
  8%|▊         | 28/368 [00:06<00:53,  6.35it/s]
  8%|▊         | 29/368 [00:06<00:50,  6.70it/s]
  8%|▊         | 30/368 [00:07<02:09,  2.60it/s]
  8%|▊         | 31/368 [00:07<01:44,  3.22it/s]
  9%|▊         | 32/368 [00:07<01:27,  3.85it/s]
  9%|▉         | 33/368 [00:08<01:13,  4.55it/s]
  9%|▉         | 34/368 [00:08<01:04,  5.20it/s]
 10%|▉         | 35/368 [00:08<00:58,  5.72it/s]
 10%|▉         | 36/368 [00:08<00:54,  6.04it/s]
 10%|█         | 37/368 [00:08<01:00,  5.43it/s]
 10%|█         | 38/368 [00:08<00:57,  5.76it/s]
 11%|█         | 39/368 [00:08<00:53,  6.15it/s]
 11%|█         | 40/368 [00:10<02:23,  2.29it/s]
 11%|█         | 41/368 [00:10<01:51,  2.92it/s]
 11%|█▏        | 42/368 [00:10<01:32,  3.54it/s]
 12%|█▏        | 43/368 [00:10<01:20,  4.06it/s]
 12%|█▏        | 44/368 [00:10<01:07,  4.77it/s]
 12%|█▏        | 45/368 [00:10<01:00,  5.38it/s]
 12%|█▎        | 46/368 [00:10<00:54,  5.95it/s]
 13%|█▎        | 47/368 [00:10<00:48,  6.57it/s]
 13%|█▎        | 48/368 [00:11<00:46,  6.93it/s]
 13%|█▎        | 49/368 [00:11<00:44,  7.25it/s]
 14%|█▎        | 50/368 [00:12<02:12,  2.40it/s]
 14%|█▍        | 51/368 [00:12<01:45,  3.00it/s]
 14%|█▍        | 52/368 [00:12<01:25,  3.71it/s]
 14%|█▍        | 53/368 [00:12<01:14,  4.22it/s]
 15%|█▍        | 54/368 [00:12<01:08,  4.60it/s]
 15%|█▍        | 55/368 [00:12<00:59,  5.25it/s]
 15%|█▌        | 56/368 [00:13<00:54,  5.76it/s]
 15%|█▌        | 57/368 [00:13<00:49,  6.29it/s]
 16%|█▌        | 58/368 [00:13<00:45,  6.78it/s]
 16%|█▌        | 59/368 [00:13<00:44,  7.02it/s]
 16%|█▋        | 60/368 [00:14<01:53,  2.71it/s]
 17%|█▋        | 61/368 [00:14<01:31,  3.37it/s]
 17%|█▋        | 62/368 [00:14<01:15,  4.08it/s]
 17%|█▋        | 63/368 [00:14<01:03,  4.81it/s]
 17%|█▋        | 64/368 [00:14<00:55,  5.46it/s]
 18%|█▊        | 65/368 [00:15<00:50,  6.02it/s]
 18%|█▊        | 66/368 [00:15<00:46,  6.53it/s]
 18%|█▊        | 67/368 [00:15<00:43,  6.85it/s]
 18%|█▊        | 68/368 [00:15<00:41,  7.19it/s]
 19%|█▉        | 69/368 [00:15<00:40,  7.40it/s]
 19%|█▉        | 70/368 [00:16<01:48,  2.76it/s]
 19%|█▉        | 71/368 [00:16<01:28,  3.37it/s]
 20%|█▉        | 72/368 [00:16<01:12,  4.06it/s]
 20%|█▉        | 73/368 [00:16<01:01,  4.77it/s]
 20%|██        | 74/368 [00:16<00:54,  5.37it/s]
 20%|██        | 75/368 [00:17<00:49,  5.95it/s]
 21%|██        | 76/368 [00:17<00:45,  6.45it/s]
 21%|██        | 77/368 [00:17<00:42,  6.82it/s]
 21%|██        | 78/368 [00:17<00:40,  7.24it/s]
 21%|██▏       | 79/368 [00:17<00:37,  7.63it/s]
 22%|██▏       | 80/368 [00:18<01:43,  2.77it/s]
 22%|██▏       | 81/368 [00:18<01:23,  3.42it/s]
 22%|██▏       | 82/368 [00:18<01:08,  4.15it/s]
 23%|██▎       | 83/368 [00:18<00:58,  4.85it/s]
 23%|██▎       | 84/368 [00:18<00:51,  5.46it/s]
 23%|██▎       | 85/368 [00:19<00:47,  5.94it/s]
 23%|██▎       | 86/368 [00:19<00:44,  6.40it/s]
 24%|██▎       | 87/368 [00:19<00:43,  6.41it/s]
 24%|██▍       | 88/368 [00:19<00:41,  6.74it/s]
 24%|██▍       | 89/368 [00:19<00:40,  6.94it/s]
 24%|██▍       | 90/368 [00:20<01:59,  2.33it/s]
 25%|██▍       | 91/368 [00:20<01:34,  2.94it/s]
 25%|██▌       | 92/368 [00:21<01:19,  3.48it/s]
 25%|██▌       | 93/368 [00:21<01:06,  4.15it/s]
 26%|██▌       | 94/368 [00:21<00:56,  4.82it/s]
 26%|██▌       | 95/368 [00:21<00:50,  5.42it/s]
 26%|██▌       | 96/368 [00:21<00:45,  6.00it/s]
 26%|██▋       | 97/368 [00:21<00:42,  6.44it/s]
 27%|██▋       | 98/368 [00:21<00:40,  6.61it/s]
 27%|██▋       | 99/368 [00:21<00:38,  7.02it/s]
 27%|██▋       | 100/368 [00:22<01:39,  2.69it/s]
 27%|██▋       | 101/368 [00:22<01:20,  3.33it/s]
 28%|██▊       | 102/368 [00:23<01:05,  4.03it/s]
 28%|██▊       | 103/368 [00:23<00:55,  4.77it/s]
 28%|██▊       | 104/368 [00:23<00:49,  5.28it/s]
 29%|██▊       | 105/368 [00:23<00:45,  5.78it/s]
 29%|██▉       | 106/368 [00:23<00:41,  6.28it/s]
 29%|██▉       | 107/368 [00:23<00:39,  6.65it/s]
 29%|██▉       | 108/368 [00:23<00:36,  7.09it/s]
 30%|██▉       | 109/368 [00:24<00:35,  7.34it/s]
 30%|██▉       | 110/368 [00:24<01:34,  2.74it/s]
 30%|███       | 111/368 [00:25<01:16,  3.38it/s]
 30%|███       | 112/368 [00:25<01:02,  4.09it/s]
 31%|███       | 113/368 [00:25<00:53,  4.75it/s]
 31%|███       | 114/368 [00:25<00:47,  5.35it/s]
 31%|███▏      | 115/368 [00:25<00:42,  5.91it/s]
 32%|███▏      | 116/368 [00:25<00:39,  6.36it/s]
 32%|███▏      | 117/368 [00:25<00:37,  6.73it/s]
 32%|███▏      | 118/368 [00:25<00:35,  7.02it/s]
 32%|███▏      | 119/368 [00:26<00:34,  7.19it/s]
 33%|███▎      | 120/368 [00:27<01:42,  2.42it/s]
 33%|███▎      | 121/368 [00:27<01:21,  3.02it/s]
 33%|███▎      | 122/368 [00:27<01:05,  3.74it/s]
 33%|███▎      | 123/368 [00:27<00:54,  4.47it/s]
 34%|███▎      | 124/368 [00:27<00:47,  5.10it/s]
 34%|███▍      | 125/368 [00:27<00:42,  5.72it/s]
 34%|███▍      | 126/368 [00:27<00:38,  6.34it/s]
 35%|███▍      | 127/368 [00:28<00:36,  6.65it/s]
 35%|███▍      | 128/368 [00:28<00:34,  7.00it/s]
 35%|███▌      | 129/368 [00:28<00:33,  7.23it/s]
 35%|███▌      | 130/368 [00:29<01:27,  2.73it/s]
 36%|███▌      | 131/368 [00:29<01:09,  3.39it/s]
 36%|███▌      | 132/368 [00:29<00:57,  4.11it/s]
 36%|███▌      | 133/368 [00:29<00:48,  4.80it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.43it/s]
 37%|███▋      | 135/368 [00:29<00:38,  6.11it/s]
 37%|███▋      | 136/368 [00:29<00:35,  6.54it/s]
 37%|███▋      | 137/368 [00:30<00:34,  6.75it/s]
 38%|███▊      | 138/368 [00:30<00:33,  6.88it/s]
 38%|███▊      | 139/368 [00:30<00:32,  7.11it/s]
 38%|███▊      | 140/368 [00:31<01:36,  2.37it/s]
 38%|███▊      | 141/368 [00:31<01:15,  3.02it/s]
 39%|███▊      | 142/368 [00:31<01:00,  3.73it/s]
 39%|███▉      | 143/368 [00:31<00:50,  4.47it/s]
 39%|███▉      | 144/368 [00:31<00:43,  5.17it/s]
 39%|███▉      | 145/368 [00:32<00:38,  5.79it/s]
 40%|███▉      | 146/368 [00:32<00:35,  6.32it/s]
 40%|███▉      | 147/368 [00:32<00:32,  6.81it/s]
 40%|████      | 148/368 [00:32<00:31,  6.91it/s]
 40%|████      | 149/368 [00:32<00:30,  7.22it/s]
 41%|████      | 150/368 [00:33<01:19,  2.75it/s]
 41%|████      | 151/368 [00:33<01:03,  3.40it/s]
 41%|████▏     | 152/368 [00:33<00:52,  4.11it/s]
 42%|████▏     | 153/368 [00:33<00:45,  4.76it/s]
 42%|████▏     | 154/368 [00:33<00:40,  5.33it/s]
 42%|████▏     | 155/368 [00:34<00:35,  6.01it/s]
 42%|████▏     | 156/368 [00:34<00:32,  6.56it/s]
 43%|████▎     | 157/368 [00:34<00:30,  7.01it/s]
 43%|████▎     | 158/368 [00:34<00:28,  7.36it/s]
 43%|████▎     | 159/368 [00:34<00:27,  7.61it/s]
 43%|████▎     | 160/368 [00:35<01:15,  2.76it/s]
 44%|████▍     | 161/368 [00:35<01:01,  3.39it/s]
 44%|████▍     | 162/368 [00:35<00:50,  4.12it/s]
 44%|████▍     | 163/368 [00:35<00:43,  4.69it/s]
 45%|████▍     | 164/368 [00:35<00:37,  5.38it/s]
 45%|████▍     | 165/368 [00:36<00:33,  5.99it/s]
 45%|████▌     | 166/368 [00:36<00:31,  6.44it/s]
 45%|████▌     | 167/368 [00:36<00:29,  6.78it/s]
 46%|████▌     | 168/368 [00:36<00:28,  7.11it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.36it/s]
 46%|████▌     | 170/368 [00:37<01:10,  2.79it/s]
 46%|████▋     | 171/368 [00:37<00:57,  3.46it/s]
 47%|████▋     | 172/368 [00:37<00:47,  4.15it/s]
 47%|████▋     | 173/368 [00:37<00:40,  4.78it/s]
 47%|████▋     | 174/368 [00:37<00:35,  5.40it/s]
 48%|████▊     | 175/368 [00:38<00:32,  5.98it/s]
 48%|████▊     | 176/368 [00:38<00:29,  6.46it/s]
 48%|████▊     | 177/368 [00:38<00:27,  6.85it/s]
 48%|████▊     | 178/368 [00:38<00:26,  7.05it/s]
 49%|████▊     | 179/368 [00:38<00:25,  7.41it/s]
 49%|████▉     | 180/368 [00:39<01:07,  2.77it/s]
 49%|████▉     | 181/368 [00:39<00:54,  3.43it/s]
 49%|████▉     | 182/368 [00:39<00:45,  4.13it/s]
 50%|████▉     | 183/368 [00:39<00:37,  4.89it/s]
 50%|█████     | 184/368 [00:39<00:33,  5.57it/s]
 50%|█████     | 185/368 [00:40<00:30,  6.10it/s]
 51%|█████     | 186/368 [00:40<00:28,  6.37it/s]
 51%|█████     | 187/368 [00:40<00:26,  6.77it/s]
 51%|█████     | 188/368 [00:40<00:24,  7.30it/s]
 51%|█████▏    | 189/368 [00:40<00:23,  7.56it/s]
 52%|█████▏    | 190/368 [00:41<01:03,  2.79it/s]
 52%|█████▏    | 191/368 [00:41<00:51,  3.42it/s]
 52%|█████▏    | 192/368 [00:41<00:42,  4.11it/s]
 52%|█████▏    | 193/368 [00:41<00:36,  4.77it/s]
 53%|█████▎    | 194/368 [00:42<00:32,  5.43it/s]
 53%|█████▎    | 195/368 [00:42<00:29,  5.87it/s]
 53%|█████▎    | 196/368 [00:42<00:27,  6.35it/s]
 54%|█████▎    | 197/368 [00:42<00:25,  6.74it/s]
 54%|█████▍    | 198/368 [00:42<00:24,  7.06it/s]
 54%|█████▍    | 199/368 [00:42<00:22,  7.36it/s]
 54%|█████▍    | 200/368 [00:43<01:00,  2.78it/s]
 55%|█████▍    | 201/368 [00:43<00:49,  3.36it/s]
 55%|█████▍    | 202/368 [00:43<00:40,  4.08it/s]
 55%|█████▌    | 203/368 [00:43<00:34,  4.79it/s]
 55%|█████▌    | 204/368 [00:44<00:30,  5.41it/s]
 56%|█████▌    | 205/368 [00:44<00:27,  5.99it/s]
 56%|█████▌    | 206/368 [00:44<00:25,  6.37it/s]
 56%|█████▋    | 207/368 [00:44<00:23,  6.75it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.13it/s]
 57%|█████▋    | 209/368 [00:44<00:21,  7.23it/s]
 57%|█████▋    | 210/368 [00:45<00:57,  2.75it/s]
 57%|█████▋    | 211/368 [00:45<00:45,  3.42it/s]
 58%|█████▊    | 212/368 [00:45<00:38,  4.06it/s]
 58%|█████▊    | 213/368 [00:45<00:31,  4.85it/s]
 58%|█████▊    | 214/368 [00:46<00:28,  5.46it/s]
 58%|█████▊    | 215/368 [00:46<00:25,  6.06it/s]
 59%|█████▊    | 216/368 [00:46<00:23,  6.54it/s]
 59%|█████▉    | 217/368 [00:46<00:21,  6.99it/s]
 59%|█████▉    | 218/368 [00:46<00:21,  7.12it/s]
 60%|█████▉    | 219/368 [00:46<00:20,  7.22it/s]
 60%|█████▉    | 220/368 [00:47<00:53,  2.75it/s]
 60%|██████    | 221/368 [00:47<00:43,  3.40it/s]
 60%|██████    | 222/368 [00:47<00:35,  4.10it/s]
 61%|██████    | 223/368 [00:48<00:29,  4.85it/s]
 61%|██████    | 224/368 [00:48<00:27,  5.32it/s]
 61%|██████    | 225/368 [00:48<00:24,  5.84it/s]
 61%|██████▏   | 226/368 [00:48<00:22,  6.30it/s]
 62%|██████▏   | 227/368 [00:48<00:20,  6.75it/s]
 62%|██████▏   | 228/368 [00:48<00:19,  7.00it/s]
 62%|██████▏   | 229/368 [00:48<00:18,  7.39it/s]
 62%|██████▎   | 230/368 [00:49<00:49,  2.78it/s]
 63%|██████▎   | 231/368 [00:49<00:39,  3.43it/s]
 63%|██████▎   | 232/368 [00:49<00:33,  4.12it/s]
 63%|██████▎   | 233/368 [00:50<00:27,  4.84it/s]
 64%|██████▎   | 234/368 [00:50<00:24,  5.50it/s]
 64%|██████▍   | 235/368 [00:50<00:21,  6.14it/s]
 64%|██████▍   | 236/368 [00:50<00:19,  6.63it/s]
 64%|██████▍   | 237/368 [00:50<00:18,  7.04it/s]
 65%|██████▍   | 238/368 [00:50<00:17,  7.33it/s]
 65%|██████▍   | 239/368 [00:51<00:27,  4.62it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:05,  1.50it/s]
  1%|          | 2/368 [00:00<03:11,  1.92it/s]
  1%|          | 3/368 [00:01<02:33,  2.38it/s]
  1%|          | 4/368 [00:01<02:02,  2.97it/s]
  1%|▏         | 5/368 [00:01<01:41,  3.56it/s]
  2%|▏         | 6/368 [00:01<01:29,  4.04it/s]
  2%|▏         | 7/368 [00:01<01:18,  4.61it/s]
  2%|▏         | 8/368 [00:01<01:09,  5.20it/s]
  2%|▏         | 9/368 [00:01<01:03,  5.69it/s]
  3%|▎         | 10/368 [00:02<02:36,  2.28it/s]
  3%|▎         | 11/368 [00:03<02:03,  2.89it/s]
  3%|▎         | 12/368 [00:03<01:41,  3.49it/s]
  4%|▎         | 13/368 [00:03<01:27,  4.06it/s]
  4%|▍         | 14/368 [00:03<01:19,  4.47it/s]
  4%|▍         | 15/368 [00:03<01:15,  4.66it/s]
  4%|▍         | 16/368 [00:03<01:10,  4.98it/s]
  5%|▍         | 17/368 [00:04<01:05,  5.36it/s]
  5%|▍         | 18/368 [00:04<00:58,  6.02it/s]
  5%|▌         | 19/368 [00:04<00:56,  6.18it/s]
  5%|▌         | 20/368 [00:05<02:13,  2.62it/s]
  6%|▌         | 21/368 [00:05<01:46,  3.24it/s]
  6%|▌         | 22/368 [00:05<01:27,  3.94it/s]
  6%|▋         | 23/368 [00:05<01:14,  4.65it/s]
  7%|▋         | 24/368 [00:05<01:05,  5.28it/s]
  7%|▋         | 25/368 [00:05<00:59,  5.79it/s]
  7%|▋         | 26/368 [00:06<00:58,  5.86it/s]
  7%|▋         | 27/368 [00:06<00:54,  6.25it/s]
  8%|▊         | 28/368 [00:06<00:50,  6.77it/s]
  8%|▊         | 29/368 [00:06<00:48,  6.92it/s]
  8%|▊         | 30/368 [00:07<02:20,  2.40it/s]
  8%|▊         | 31/368 [00:07<01:51,  3.01it/s]
  9%|▊         | 32/368 [00:07<01:30,  3.73it/s]
  9%|▉         | 33/368 [00:07<01:16,  4.39it/s]
  9%|▉         | 34/368 [00:08<01:05,  5.09it/s]
 10%|▉         | 35/368 [00:08<00:58,  5.72it/s]
 10%|▉         | 36/368 [00:08<00:52,  6.30it/s]
 10%|█         | 37/368 [00:08<00:48,  6.80it/s]
 10%|█         | 38/368 [00:08<00:45,  7.26it/s]
 11%|█         | 39/368 [00:08<00:47,  6.98it/s]
 11%|█         | 40/368 [00:09<01:59,  2.75it/s]
 11%|█         | 41/368 [00:09<01:36,  3.39it/s]
 11%|█▏        | 42/368 [00:09<01:19,  4.11it/s]
 12%|█▏        | 43/368 [00:09<01:07,  4.82it/s]
 12%|█▏        | 44/368 [00:10<01:00,  5.33it/s]
 12%|█▏        | 45/368 [00:10<00:54,  5.94it/s]
 12%|█▎        | 46/368 [00:10<00:49,  6.49it/s]
 13%|█▎        | 47/368 [00:10<00:48,  6.65it/s]
 13%|█▎        | 48/368 [00:10<00:45,  7.06it/s]
 13%|█▎        | 49/368 [00:10<00:47,  6.75it/s]
 14%|█▎        | 50/368 [00:11<02:13,  2.38it/s]
 14%|█▍        | 51/368 [00:11<01:44,  3.04it/s]
 14%|█▍        | 52/368 [00:12<01:24,  3.74it/s]
 14%|█▍        | 53/368 [00:12<01:11,  4.42it/s]
 15%|█▍        | 54/368 [00:12<01:03,  4.98it/s]
 15%|█▍        | 55/368 [00:12<00:55,  5.65it/s]
 15%|█▌        | 56/368 [00:12<00:49,  6.32it/s]
 15%|█▌        | 57/368 [00:12<00:46,  6.66it/s]
 16%|█▌        | 58/368 [00:12<00:44,  7.04it/s]
 16%|█▌        | 59/368 [00:12<00:44,  6.93it/s]
 16%|█▋        | 60/368 [00:13<02:06,  2.43it/s]
 17%|█▋        | 61/368 [00:14<01:39,  3.07it/s]
 17%|█▋        | 62/368 [00:14<01:24,  3.63it/s]
 17%|█▋        | 63/368 [00:14<01:10,  4.33it/s]
 17%|█▋        | 64/368 [00:14<01:00,  5.01it/s]
 18%|█▊        | 65/368 [00:14<00:54,  5.55it/s]
 18%|█▊        | 66/368 [00:14<00:50,  6.02it/s]
 18%|█▊        | 67/368 [00:14<00:46,  6.44it/s]
 18%|█▊        | 68/368 [00:15<00:47,  6.36it/s]
 19%|█▉        | 69/368 [00:15<00:48,  6.11it/s]
 19%|█▉        | 70/368 [00:16<01:54,  2.61it/s]
 19%|█▉        | 71/368 [00:16<01:31,  3.24it/s]
 20%|█▉        | 72/368 [00:16<01:15,  3.94it/s]
 20%|█▉        | 73/368 [00:16<01:04,  4.57it/s]
 20%|██        | 74/368 [00:16<00:55,  5.29it/s]
 20%|██        | 75/368 [00:16<00:49,  5.89it/s]
 21%|██        | 76/368 [00:16<00:48,  6.03it/s]
 21%|██        | 77/368 [00:17<00:44,  6.56it/s]
 21%|██        | 78/368 [00:17<00:41,  6.95it/s]
 21%|██▏       | 79/368 [00:17<00:43,  6.64it/s]
 22%|██▏       | 80/368 [00:18<01:59,  2.41it/s]
 22%|██▏       | 81/368 [00:18<01:34,  3.04it/s]
 22%|██▏       | 82/368 [00:18<01:16,  3.73it/s]
 23%|██▎       | 83/368 [00:18<01:04,  4.45it/s]
 23%|██▎       | 84/368 [00:18<00:55,  5.08it/s]
 23%|██▎       | 85/368 [00:19<00:49,  5.69it/s]
 23%|██▎       | 86/368 [00:19<00:45,  6.21it/s]
 24%|██▎       | 87/368 [00:19<00:42,  6.55it/s]
 24%|██▍       | 88/368 [00:19<00:40,  6.86it/s]
 24%|██▍       | 89/368 [00:19<00:39,  7.12it/s]
 24%|██▍       | 90/368 [00:20<02:00,  2.30it/s]
 25%|██▍       | 91/368 [00:20<01:36,  2.88it/s]
 25%|██▌       | 92/368 [00:20<01:16,  3.62it/s]
 25%|██▌       | 93/368 [00:21<01:04,  4.28it/s]
 26%|██▌       | 94/368 [00:21<00:55,  4.94it/s]
 26%|██▌       | 95/368 [00:21<00:49,  5.52it/s]
 26%|██▌       | 96/368 [00:21<00:44,  6.16it/s]
 26%|██▋       | 97/368 [00:21<00:42,  6.35it/s]
 27%|██▋       | 98/368 [00:21<00:39,  6.78it/s]
 27%|██▋       | 99/368 [00:21<00:38,  7.05it/s]
 27%|██▋       | 100/368 [00:22<01:38,  2.71it/s]
 27%|██▋       | 101/368 [00:22<01:19,  3.35it/s]
 28%|██▊       | 102/368 [00:22<01:05,  4.08it/s]
 28%|██▊       | 103/368 [00:23<00:54,  4.85it/s]
 28%|██▊       | 104/368 [00:23<00:48,  5.47it/s]
 29%|██▊       | 105/368 [00:23<00:44,  5.96it/s]
 29%|██▉       | 106/368 [00:23<00:40,  6.52it/s]
 29%|██▉       | 107/368 [00:23<00:37,  6.88it/s]
 29%|██▉       | 108/368 [00:23<00:36,  7.19it/s]
 30%|██▉       | 109/368 [00:23<00:34,  7.41it/s]
 30%|██▉       | 110/368 [00:24<01:45,  2.45it/s]
 30%|███       | 111/368 [00:25<01:22,  3.10it/s]
 30%|███       | 112/368 [00:25<01:07,  3.77it/s]
 31%|███       | 113/368 [00:25<00:56,  4.51it/s]
 31%|███       | 114/368 [00:25<00:49,  5.11it/s]
 31%|███▏      | 115/368 [00:25<00:44,  5.70it/s]
 32%|███▏      | 116/368 [00:25<00:40,  6.18it/s]
 32%|███▏      | 117/368 [00:25<00:37,  6.63it/s]
 32%|███▏      | 118/368 [00:25<00:36,  6.80it/s]
 32%|███▏      | 119/368 [00:26<00:35,  7.07it/s]
 33%|███▎      | 120/368 [00:26<01:32,  2.67it/s]
 33%|███▎      | 121/368 [00:27<01:14,  3.33it/s]
 33%|███▎      | 122/368 [00:27<01:01,  4.00it/s]
 33%|███▎      | 123/368 [00:27<00:51,  4.73it/s]
 34%|███▎      | 124/368 [00:27<00:45,  5.41it/s]
 34%|███▍      | 125/368 [00:27<00:40,  6.01it/s]
 34%|███▍      | 126/368 [00:27<00:37,  6.48it/s]
 35%|███▍      | 127/368 [00:27<00:36,  6.67it/s]
 35%|███▍      | 128/368 [00:27<00:34,  7.02it/s]
 35%|███▌      | 129/368 [00:28<00:32,  7.33it/s]
 35%|███▌      | 130/368 [00:29<01:38,  2.42it/s]
 36%|███▌      | 131/368 [00:29<01:17,  3.05it/s]
 36%|███▌      | 132/368 [00:29<01:05,  3.58it/s]
 36%|███▌      | 133/368 [00:29<00:55,  4.22it/s]
 36%|███▋      | 134/368 [00:29<00:47,  4.92it/s]
 37%|███▋      | 135/368 [00:29<00:42,  5.54it/s]
 37%|███▋      | 136/368 [00:29<00:37,  6.13it/s]
 37%|███▋      | 137/368 [00:30<00:35,  6.52it/s]
 38%|███▊      | 138/368 [00:30<00:33,  6.92it/s]
 38%|███▊      | 139/368 [00:30<00:31,  7.16it/s]
 38%|███▊      | 140/368 [00:31<01:23,  2.73it/s]
 38%|███▊      | 141/368 [00:31<01:07,  3.36it/s]
 39%|███▊      | 142/368 [00:31<00:55,  4.06it/s]
 39%|███▉      | 143/368 [00:31<00:46,  4.79it/s]
 39%|███▉      | 144/368 [00:31<00:41,  5.46it/s]
 39%|███▉      | 145/368 [00:31<00:37,  6.00it/s]
 40%|███▉      | 146/368 [00:32<00:34,  6.40it/s]
 40%|███▉      | 147/368 [00:32<00:33,  6.65it/s]
 40%|████      | 148/368 [00:32<00:31,  6.94it/s]
 40%|████      | 149/368 [00:32<00:30,  7.11it/s]
 41%|████      | 150/368 [00:33<01:19,  2.73it/s]
 41%|████      | 151/368 [00:33<01:05,  3.33it/s]
 41%|████▏     | 152/368 [00:33<00:52,  4.08it/s]
 42%|████▏     | 153/368 [00:33<00:45,  4.77it/s]
 42%|████▏     | 154/368 [00:33<00:39,  5.38it/s]
 42%|████▏     | 155/368 [00:33<00:35,  5.95it/s]
 42%|████▏     | 156/368 [00:34<00:33,  6.28it/s]
 43%|████▎     | 157/368 [00:34<00:32,  6.54it/s]
 43%|████▎     | 158/368 [00:34<00:30,  6.98it/s]
 43%|████▎     | 159/368 [00:34<00:28,  7.39it/s]
 43%|████▎     | 160/368 [00:35<01:16,  2.73it/s]
 44%|████▍     | 161/368 [00:35<01:01,  3.38it/s]
 44%|████▍     | 162/368 [00:35<00:50,  4.09it/s]
 44%|████▍     | 163/368 [00:35<00:42,  4.77it/s]
 45%|████▍     | 164/368 [00:35<00:37,  5.47it/s]
 45%|████▍     | 165/368 [00:36<00:34,  5.90it/s]
 45%|████▌     | 166/368 [00:36<00:31,  6.41it/s]
 45%|████▌     | 167/368 [00:36<00:29,  6.89it/s]
 46%|████▌     | 168/368 [00:36<00:28,  7.10it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.13it/s]
 46%|████▌     | 170/368 [00:37<01:11,  2.75it/s]
 46%|████▋     | 171/368 [00:37<00:58,  3.38it/s]
 47%|████▋     | 172/368 [00:37<00:48,  4.08it/s]
 47%|████▋     | 173/368 [00:37<00:40,  4.80it/s]
 47%|████▋     | 174/368 [00:37<00:35,  5.42it/s]
 48%|████▊     | 175/368 [00:38<00:32,  5.88it/s]
 48%|████▊     | 176/368 [00:38<00:29,  6.44it/s]
 48%|████▊     | 177/368 [00:38<00:28,  6.81it/s]
 48%|████▊     | 178/368 [00:38<00:26,  7.12it/s]
 49%|████▊     | 179/368 [00:38<00:26,  7.24it/s]
 49%|████▉     | 180/368 [00:39<01:08,  2.75it/s]
 49%|████▉     | 181/368 [00:39<00:55,  3.38it/s]
 49%|████▉     | 182/368 [00:39<00:45,  4.07it/s]
 50%|████▉     | 183/368 [00:39<00:38,  4.77it/s]
 50%|█████     | 184/368 [00:39<00:33,  5.45it/s]
 50%|█████     | 185/368 [00:40<00:29,  6.15it/s]
 51%|█████     | 186/368 [00:40<00:27,  6.58it/s]
 51%|█████     | 187/368 [00:40<00:26,  6.89it/s]
 51%|█████     | 188/368 [00:40<00:25,  7.10it/s]
 51%|█████▏    | 189/368 [00:40<00:24,  7.24it/s]
 52%|█████▏    | 190/368 [00:41<01:04,  2.76it/s]
 52%|█████▏    | 191/368 [00:41<00:51,  3.41it/s]
 52%|█████▏    | 192/368 [00:41<00:42,  4.12it/s]
 52%|█████▏    | 193/368 [00:41<00:36,  4.83it/s]
 53%|█████▎    | 194/368 [00:42<00:32,  5.29it/s]
 53%|█████▎    | 195/368 [00:42<00:29,  5.91it/s]
 53%|█████▎    | 196/368 [00:42<00:26,  6.38it/s]
 54%|█████▎    | 197/368 [00:42<00:24,  6.85it/s]
 54%|█████▍    | 198/368 [00:42<00:23,  7.12it/s]
 54%|█████▍    | 199/368 [00:42<00:23,  7.23it/s]
 54%|█████▍    | 200/368 [00:43<01:01,  2.75it/s]
 55%|█████▍    | 201/368 [00:43<00:49,  3.41it/s]
 55%|█████▍    | 202/368 [00:43<00:40,  4.14it/s]
 55%|█████▌    | 203/368 [00:43<00:34,  4.78it/s]
 55%|█████▌    | 204/368 [00:44<00:29,  5.48it/s]
 56%|█████▌    | 205/368 [00:44<00:27,  5.91it/s]
 56%|█████▌    | 206/368 [00:44<00:25,  6.37it/s]
 56%|█████▋    | 207/368 [00:44<00:23,  6.77it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.19it/s]
 57%|█████▋    | 209/368 [00:44<00:22,  7.22it/s]
 57%|█████▋    | 210/368 [00:45<00:57,  2.76it/s]
 57%|█████▋    | 211/368 [00:45<00:46,  3.39it/s]
 58%|█████▊    | 212/368 [00:45<00:38,  4.06it/s]
 58%|█████▊    | 213/368 [00:45<00:32,  4.78it/s]
 58%|█████▊    | 214/368 [00:46<00:28,  5.46it/s]
 58%|█████▊    | 215/368 [00:46<00:25,  5.90it/s]
 59%|█████▊    | 216/368 [00:46<00:24,  6.28it/s]
 59%|█████▉    | 217/368 [00:46<00:22,  6.71it/s]
 59%|█████▉    | 218/368 [00:46<00:28,  5.24it/s]
 60%|█████▉    | 219/368 [00:46<00:25,  5.80it/s]
 60%|█████▉    | 220/368 [00:47<00:58,  2.55it/s]
 60%|██████    | 221/368 [00:47<00:46,  3.19it/s]
 60%|██████    | 222/368 [00:48<00:37,  3.86it/s]
 61%|██████    | 223/368 [00:48<00:31,  4.57it/s]
 61%|██████    | 224/368 [00:48<00:27,  5.24it/s]
 61%|██████    | 225/368 [00:48<00:25,  5.71it/s]
 61%|██████▏   | 226/368 [00:48<00:22,  6.30it/s]
 62%|██████▏   | 227/368 [00:48<00:20,  6.72it/s]
 62%|██████▏   | 228/368 [00:48<00:19,  7.12it/s]
 62%|██████▏   | 229/368 [00:49<00:30,  4.59it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:11,  1.46it/s]
  1%|          | 2/368 [00:00<03:18,  1.84it/s]
  1%|          | 3/368 [00:01<02:38,  2.31it/s]
  1%|          | 4/368 [00:01<02:09,  2.81it/s]
  1%|▏         | 5/368 [00:01<01:45,  3.43it/s]
  2%|▏         | 6/368 [00:01<01:33,  3.89it/s]
  2%|▏         | 7/368 [00:01<01:17,  4.65it/s]
  2%|▏         | 8/368 [00:01<01:07,  5.31it/s]
  2%|▏         | 9/368 [00:01<01:07,  5.31it/s]
  3%|▎         | 10/368 [00:02<02:31,  2.37it/s]
  3%|▎         | 11/368 [00:03<02:00,  2.95it/s]
  3%|▎         | 12/368 [00:03<01:40,  3.56it/s]
  4%|▎         | 13/368 [00:03<01:28,  4.00it/s]
  4%|▍         | 14/368 [00:03<01:17,  4.57it/s]
  4%|▍         | 15/368 [00:03<01:11,  4.94it/s]
  4%|▍         | 16/368 [00:03<01:03,  5.56it/s]
  5%|▍         | 17/368 [00:04<01:01,  5.74it/s]
  5%|▍         | 18/368 [00:04<00:58,  5.99it/s]
  5%|▌         | 19/368 [00:04<00:53,  6.58it/s]
  5%|▌         | 20/368 [00:05<02:30,  2.30it/s]
  6%|▌         | 21/368 [00:05<02:01,  2.86it/s]
  6%|▌         | 22/368 [00:05<01:41,  3.41it/s]
  6%|▋         | 23/368 [00:05<01:23,  4.15it/s]
  7%|▋         | 24/368 [00:05<01:14,  4.64it/s]
  7%|▋         | 25/368 [00:06<01:07,  5.11it/s]
  7%|▋         | 26/368 [00:06<01:01,  5.60it/s]
  7%|▋         | 27/368 [00:06<01:00,  5.65it/s]
  8%|▊         | 28/368 [00:06<00:54,  6.24it/s]
  8%|▊         | 29/368 [00:06<00:53,  6.30it/s]
  8%|▊         | 30/368 [00:07<02:25,  2.32it/s]
  8%|▊         | 31/368 [00:07<01:59,  2.82it/s]
  9%|▊         | 32/368 [00:08<01:36,  3.47it/s]
  9%|▉         | 33/368 [00:08<01:19,  4.19it/s]
  9%|▉         | 34/368 [00:08<01:07,  4.94it/s]
 10%|▉         | 35/368 [00:08<00:59,  5.55it/s]
 10%|▉         | 36/368 [00:08<00:57,  5.81it/s]
 10%|█         | 37/368 [00:08<00:52,  6.33it/s]
 10%|█         | 38/368 [00:08<00:48,  6.84it/s]
 11%|█         | 39/368 [00:08<00:45,  7.17it/s]
 11%|█         | 40/368 [00:10<02:11,  2.49it/s]
 11%|█         | 41/368 [00:10<01:43,  3.15it/s]
 11%|█▏        | 42/368 [00:10<01:27,  3.74it/s]
 12%|█▏        | 43/368 [00:10<01:12,  4.50it/s]
 12%|█▏        | 44/368 [00:10<01:02,  5.18it/s]
 12%|█▏        | 45/368 [00:10<00:54,  5.90it/s]
 12%|█▎        | 46/368 [00:10<00:49,  6.52it/s]
 13%|█▎        | 47/368 [00:10<00:46,  6.88it/s]
 13%|█▎        | 48/368 [00:10<00:44,  7.23it/s]
 13%|█▎        | 49/368 [00:11<00:41,  7.64it/s]
 14%|█▎        | 50/368 [00:11<01:51,  2.84it/s]
 14%|█▍        | 51/368 [00:12<01:30,  3.51it/s]
 14%|█▍        | 52/368 [00:12<01:13,  4.30it/s]
 14%|█▍        | 53/368 [00:12<01:03,  4.95it/s]
 15%|█▍        | 54/368 [00:12<00:56,  5.54it/s]
 15%|█▍        | 55/368 [00:12<00:51,  6.08it/s]
 15%|█▌        | 56/368 [00:12<00:49,  6.36it/s]
 15%|█▌        | 57/368 [00:12<00:45,  6.83it/s]
 16%|█▌        | 58/368 [00:12<00:43,  7.13it/s]
 16%|█▌        | 59/368 [00:13<00:42,  7.31it/s]
 16%|█▋        | 60/368 [00:14<02:05,  2.44it/s]
 17%|█▋        | 61/368 [00:14<01:40,  3.05it/s]
 17%|█▋        | 62/368 [00:14<01:21,  3.76it/s]
 17%|█▋        | 63/368 [00:14<01:08,  4.45it/s]
 17%|█▋        | 64/368 [00:14<00:59,  5.09it/s]
 18%|█▊        | 65/368 [00:14<00:52,  5.75it/s]
 18%|█▊        | 66/368 [00:14<00:47,  6.34it/s]
 18%|█▊        | 67/368 [00:15<00:44,  6.79it/s]
 18%|█▊        | 68/368 [00:15<00:41,  7.23it/s]
 19%|█▉        | 69/368 [00:15<00:40,  7.33it/s]
 19%|█▉        | 70/368 [00:16<01:47,  2.77it/s]
 19%|█▉        | 71/368 [00:16<01:26,  3.43it/s]
 20%|█▉        | 72/368 [00:16<01:11,  4.15it/s]
 20%|█▉        | 73/368 [00:16<01:00,  4.87it/s]
 20%|██        | 74/368 [00:16<00:53,  5.50it/s]
 20%|██        | 75/368 [00:16<00:53,  5.51it/s]
 21%|██        | 76/368 [00:16<00:47,  6.18it/s]
 21%|██        | 77/368 [00:17<00:43,  6.65it/s]
 21%|██        | 78/368 [00:17<00:40,  7.11it/s]
 21%|██▏       | 79/368 [00:17<00:41,  6.91it/s]
 22%|██▏       | 80/368 [00:18<01:45,  2.74it/s]
 22%|██▏       | 81/368 [00:18<01:24,  3.39it/s]
 22%|██▏       | 82/368 [00:18<01:10,  4.06it/s]
 23%|██▎       | 83/368 [00:18<01:00,  4.75it/s]
 23%|██▎       | 84/368 [00:18<00:52,  5.45it/s]
 23%|██▎       | 85/368 [00:18<00:47,  5.96it/s]
 23%|██▎       | 86/368 [00:19<00:43,  6.43it/s]
 24%|██▎       | 87/368 [00:19<00:41,  6.76it/s]
 24%|██▍       | 88/368 [00:19<00:38,  7.25it/s]
 24%|██▍       | 89/368 [00:19<00:37,  7.53it/s]
 24%|██▍       | 90/368 [00:20<01:40,  2.77it/s]
 25%|██▍       | 91/368 [00:20<01:20,  3.43it/s]
 25%|██▌       | 92/368 [00:20<01:06,  4.13it/s]
 25%|██▌       | 93/368 [00:20<00:57,  4.80it/s]
 26%|██▌       | 94/368 [00:20<00:51,  5.34it/s]
 26%|██▌       | 95/368 [00:20<00:45,  5.98it/s]
 26%|██▌       | 96/368 [00:21<00:42,  6.43it/s]
 26%|██▋       | 97/368 [00:21<00:40,  6.66it/s]
 27%|██▋       | 98/368 [00:21<00:39,  6.82it/s]
 27%|██▋       | 99/368 [00:21<00:37,  7.22it/s]
 27%|██▋       | 100/368 [00:22<01:38,  2.73it/s]
 27%|██▋       | 101/368 [00:22<01:19,  3.37it/s]
 28%|██▊       | 102/368 [00:22<01:05,  4.08it/s]
 28%|██▊       | 103/368 [00:22<00:55,  4.80it/s]
 28%|██▊       | 104/368 [00:22<00:49,  5.32it/s]
 29%|██▊       | 105/368 [00:23<00:45,  5.82it/s]
 29%|██▉       | 106/368 [00:23<00:42,  6.22it/s]
 29%|██▉       | 107/368 [00:23<00:39,  6.61it/s]
 29%|██▉       | 108/368 [00:23<00:37,  7.02it/s]
 30%|██▉       | 109/368 [00:23<00:35,  7.31it/s]
 30%|██▉       | 110/368 [00:24<01:45,  2.45it/s]
 30%|███       | 111/368 [00:24<01:23,  3.08it/s]
 30%|███       | 112/368 [00:24<01:07,  3.78it/s]
 31%|███       | 113/368 [00:24<00:56,  4.52it/s]
 31%|███       | 114/368 [00:25<00:48,  5.21it/s]
 31%|███▏      | 115/368 [00:25<00:43,  5.85it/s]
 32%|███▏      | 116/368 [00:25<00:40,  6.30it/s]
 32%|███▏      | 117/368 [00:25<00:36,  6.83it/s]
 32%|███▏      | 118/368 [00:25<00:36,  6.94it/s]
 32%|███▏      | 119/368 [00:25<00:34,  7.25it/s]
 33%|███▎      | 120/368 [00:26<01:42,  2.41it/s]
 33%|███▎      | 121/368 [00:26<01:20,  3.06it/s]
 33%|███▎      | 122/368 [00:26<01:04,  3.80it/s]
 33%|███▎      | 123/368 [00:27<00:54,  4.52it/s]
 34%|███▎      | 124/368 [00:27<00:46,  5.20it/s]
 34%|███▍      | 125/368 [00:27<00:41,  5.88it/s]
 34%|███▍      | 126/368 [00:27<00:37,  6.44it/s]
 35%|███▍      | 127/368 [00:27<00:34,  6.94it/s]
 35%|███▍      | 128/368 [00:27<00:32,  7.38it/s]
 35%|███▌      | 129/368 [00:27<00:31,  7.71it/s]
 35%|███▌      | 130/368 [00:28<01:26,  2.77it/s]
 36%|███▌      | 131/368 [00:28<01:08,  3.47it/s]
 36%|███▌      | 132/368 [00:28<00:57,  4.12it/s]
 36%|███▌      | 133/368 [00:29<00:48,  4.81it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.41it/s]
 37%|███▋      | 135/368 [00:29<00:39,  5.96it/s]
 37%|███▋      | 136/368 [00:29<00:35,  6.46it/s]
 37%|███▋      | 137/368 [00:29<00:34,  6.76it/s]
 38%|███▊      | 138/368 [00:29<00:32,  6.99it/s]
 38%|███▊      | 139/368 [00:29<00:32,  7.14it/s]
 38%|███▊      | 140/368 [00:30<01:23,  2.73it/s]
 38%|███▊      | 141/368 [00:30<01:06,  3.40it/s]
 39%|███▊      | 142/368 [00:31<00:54,  4.13it/s]
 39%|███▉      | 143/368 [00:31<00:47,  4.78it/s]
 39%|███▉      | 144/368 [00:31<00:40,  5.47it/s]
 39%|███▉      | 145/368 [00:31<00:37,  5.94it/s]
 40%|███▉      | 146/368 [00:31<00:35,  6.33it/s]
 40%|███▉      | 147/368 [00:31<00:32,  6.76it/s]
 40%|████      | 148/368 [00:31<00:30,  7.16it/s]
 40%|████      | 149/368 [00:31<00:29,  7.43it/s]
 41%|████      | 150/368 [00:32<01:18,  2.78it/s]
 41%|████      | 151/368 [00:32<01:03,  3.41it/s]
 41%|████▏     | 152/368 [00:33<00:53,  4.05it/s]
 42%|████▏     | 153/368 [00:33<00:45,  4.75it/s]
 42%|████▏     | 154/368 [00:33<00:50,  4.21it/s]
 42%|████▏     | 155/368 [00:33<00:43,  4.92it/s]
 42%|████▏     | 156/368 [00:33<00:38,  5.53it/s]
 43%|████▎     | 157/368 [00:33<00:33,  6.22it/s]
 43%|████▎     | 158/368 [00:33<00:31,  6.77it/s]
 43%|████▎     | 159/368 [00:34<00:29,  7.11it/s]
 43%|████▎     | 160/368 [00:34<01:15,  2.74it/s]
 44%|████▍     | 161/368 [00:35<01:00,  3.40it/s]
 44%|████▍     | 162/368 [00:35<00:50,  4.10it/s]
 44%|████▍     | 163/368 [00:35<00:43,  4.69it/s]
 45%|████▍     | 164/368 [00:35<00:39,  5.17it/s]
 45%|████▍     | 165/368 [00:35<00:34,  5.86it/s]
 45%|████▌     | 166/368 [00:35<00:31,  6.35it/s]
 45%|████▌     | 167/368 [00:35<00:29,  6.80it/s]
 46%|████▌     | 168/368 [00:36<00:28,  6.97it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.33it/s]
 46%|████▌     | 170/368 [00:37<01:10,  2.82it/s]
 46%|████▋     | 171/368 [00:37<00:56,  3.48it/s]
 47%|████▋     | 172/368 [00:37<00:46,  4.20it/s]
 47%|████▋     | 173/368 [00:37<00:39,  4.91it/s]
 47%|████▋     | 174/368 [00:37<00:34,  5.55it/s]
 48%|████▊     | 175/368 [00:37<00:31,  6.11it/s]
 48%|████▊     | 176/368 [00:37<00:29,  6.56it/s]
 48%|████▊     | 177/368 [00:37<00:27,  6.96it/s]
 48%|████▊     | 178/368 [00:38<00:25,  7.45it/s]
 49%|████▊     | 179/368 [00:38<00:24,  7.67it/s]
 49%|████▉     | 180/368 [00:39<01:07,  2.80it/s]
 49%|████▉     | 181/368 [00:39<00:54,  3.45it/s]
 49%|████▉     | 182/368 [00:39<00:44,  4.21it/s]
 50%|████▉     | 183/368 [00:39<00:37,  4.92it/s]
 50%|█████     | 184/368 [00:39<00:32,  5.63it/s]
 50%|█████     | 185/368 [00:39<00:29,  6.28it/s]
 51%|█████     | 186/368 [00:39<00:26,  6.74it/s]
 51%|█████     | 187/368 [00:39<00:26,  6.95it/s]
 51%|█████     | 188/368 [00:40<00:25,  7.17it/s]
 51%|█████▏    | 189/368 [00:40<00:24,  7.30it/s]
 52%|█████▏    | 190/368 [00:41<01:04,  2.76it/s]
 52%|█████▏    | 191/368 [00:41<00:51,  3.44it/s]
 52%|█████▏    | 192/368 [00:41<00:42,  4.16it/s]
 52%|█████▏    | 193/368 [00:41<00:36,  4.83it/s]
 53%|█████▎    | 194/368 [00:41<00:32,  5.43it/s]
 53%|█████▎    | 195/368 [00:41<00:28,  6.09it/s]
 53%|█████▎    | 196/368 [00:41<00:26,  6.56it/s]
 54%|█████▎    | 197/368 [00:41<00:24,  7.02it/s]
 54%|█████▍    | 198/368 [00:42<00:23,  7.35it/s]
 54%|█████▍    | 199/368 [00:42<00:22,  7.58it/s]
 54%|█████▍    | 200/368 [00:43<01:01,  2.74it/s]
 55%|█████▍    | 201/368 [00:43<00:48,  3.42it/s]
 55%|█████▍    | 202/368 [00:43<00:39,  4.20it/s]
 55%|█████▌    | 203/368 [00:43<00:34,  4.83it/s]
 55%|█████▌    | 204/368 [00:43<00:29,  5.48it/s]
 56%|█████▌    | 205/368 [00:43<00:26,  6.13it/s]
 56%|█████▌    | 206/368 [00:43<00:24,  6.67it/s]
 56%|█████▋    | 207/368 [00:43<00:22,  7.09it/s]
 57%|█████▋    | 208/368 [00:44<00:21,  7.32it/s]
 57%|█████▋    | 209/368 [00:44<00:21,  7.38it/s]
 57%|█████▋    | 210/368 [00:45<00:57,  2.76it/s]
 57%|█████▋    | 211/368 [00:45<00:45,  3.41it/s]
 58%|█████▊    | 212/368 [00:45<00:37,  4.18it/s]
 58%|█████▊    | 213/368 [00:45<00:31,  4.93it/s]
 58%|█████▊    | 214/368 [00:45<00:27,  5.58it/s]
 58%|█████▊    | 215/368 [00:45<00:25,  5.99it/s]
 59%|█████▊    | 216/368 [00:45<00:23,  6.57it/s]
 59%|█████▉    | 217/368 [00:45<00:21,  6.92it/s]
 59%|█████▉    | 218/368 [00:46<00:20,  7.32it/s]
 60%|█████▉    | 219/368 [00:47<00:32,  4.65it/s]
 62%|██████▏   | 229/368 [00:49<00:29,  4.66it/s]

We can again evaluate our model’s performance on separate test data.

dev_score = predictor_mrpc.evaluate(dev_data, metrics=['acc', 'f1'])
print('Best Config = {}'.format(predictor_mrpc.results['best_config']))
print('Total Time = {}s'.format(predictor_mrpc.results['total_time']))
print('Accuracy = {:.2f}%'.format(dev_score['acc'] * 100))
print('F1 = {:.2f}%'.format(dev_score['f1'] * 100))
/var/lib/jenkins/miniconda3/envs/autogluon_docs-v0_0_15/lib/python3.7/site-packages/ipykernel/ipkernel.py:287: DeprecationWarning: should_run_async will not call transform_cell automatically in the future. Please pass the result to transformed_cell argument and any exception that happen during thetransform in preprocessing_exc_tuple in IPython 7.17 and above.
  and should_run_async(code)
Best Config = {'search_space▁model.network.agg_net.data_dropout▁choice': 1, 'search_space▁model.network.agg_net.num_layers': 2, 'search_space▁optimization.layerwise_lr_decay': 0.912355300099337, 'search_space▁optimization.lr': 7.14729072876085e-05, 'search_space▁optimization.warmup_portion': 0.19366799436501417}
Total Time = 308.356942653656s
Accuracy = 82.60%
F1 = 87.99%

And also use the model to predict whether new sentence pairs are paraphrases of each other or not.

sentence1 = 'It is simple to solve NLP problems with AutoGluon.'
sentence2 = 'With AutoGluon, it is easy to solve NLP problems.'
sentence3 = 'AutoGluon gives you a very bad user experience for solving NLP problems.'
prediction1 = predictor_mrpc.predict({'sentence1': [sentence1], 'sentence2': [sentence2]})
prediction1_prob = predictor_mrpc.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence2]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence2))
print('Prediction = "{}"'.format(prediction1[0] == 1))
print('Prob = "{}"'.format(prediction1_prob[0]))
print('')
prediction2 = predictor_mrpc.predict({'sentence1': [sentence1], 'sentence2': [sentence3]})
prediction2_prob = predictor_mrpc.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence3]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence3))
print('Prediction = "{}"'.format(prediction2[0] == 1))
print('Prob = "{}"'.format(prediction2_prob[0]))
A = "It is simple to solve NLP problems with AutoGluon."
B = "With AutoGluon, it is easy to solve NLP problems."
Prediction = "True"
Prob = "[0.02651638 0.9734837 ]"

A = "It is simple to solve NLP problems with AutoGluon."
B = "AutoGluon gives you a very bad user experience for solving NLP problems."
Prediction = "True"
Prob = "[0.4781165 0.5218834]"

Use Bayesian Optimization¶

Instead of random search, we can perform HPO via Bayesian Optimization. Here we specify skopt as the searcher, which uses a BayesOpt implementation from the scikit-optimize library.

hyperparameters['hpo_params'] = {
    'scheduler': 'fifo',
    'search_strategy': 'skopt'
}

predictor_mrpc_skopt = task.fit(train_data, label='label',
                                hyperparameters=hyperparameters,
                                time_limits=60 * 6,
                                num_trials=5,  # increase this to get good performance in your applications
                                ngpus_per_trial=1, seed=123,
                                output_directory='./ag_mrpc_custom_space_fifo_skopt')
2020-12-08 20:27:07,092 - root - INFO - All Logs will be saved to ./ag_mrpc_custom_space_fifo_skopt/ag_text_prediction.log
2020-12-08 20:27:07,109 - root - INFO - Train Dataset:
2020-12-08 20:27:07,110 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=2934/0
   length, min/avg/max=38/118.38/226
)
- Text(
   name="sentence2"
   #total/missing=2934/0
   length, min/avg/max=42/118.63/215
)
- Categorical(
   name="label"
   #total/missing=2934/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[938, 1996]
)


2020-12-08 20:27:07,110 - root - INFO - Tuning Dataset:
2020-12-08 20:27:07,111 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=734/0
   length, min/avg/max=38/118.90/215
)
- Text(
   name="sentence2"
   #total/missing=734/0
   length, min/avg/max=47/119.34/207
)
- Categorical(
   name="label"
   #total/missing=734/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[256, 478]
)


2020-12-08 20:27:07,111 - root - INFO - Label columns=['label'], Feature columns=['sentence1', 'sentence2'], Problem types=['classification'], Label shapes=[2]
2020-12-08 20:27:07,112 - root - INFO - Eval Metric=acc, Stop Metric=acc, Log Metrics=['f1', 'mcc', 'auc', 'acc', 'nll']
HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=5.0), HTML(value='')))
  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:00,  1.52it/s]
  1%|          | 2/368 [00:00<03:12,  1.91it/s]
  1%|          | 3/368 [00:01<02:32,  2.39it/s]
  1%|          | 4/368 [00:01<02:04,  2.92it/s]
  1%|▏         | 5/368 [00:01<01:43,  3.50it/s]
  2%|▏         | 6/368 [00:01<01:33,  3.86it/s]
  2%|▏         | 7/368 [00:01<01:25,  4.23it/s]
  2%|▏         | 8/368 [00:01<01:21,  4.42it/s]
  2%|▏         | 9/368 [00:02<01:13,  4.89it/s]
  3%|▎         | 10/368 [00:03<02:41,  2.22it/s]
  3%|▎         | 11/368 [00:03<02:08,  2.78it/s]
  3%|▎         | 12/368 [00:03<01:44,  3.41it/s]
  4%|▎         | 13/368 [00:03<01:26,  4.10it/s]
  4%|▍         | 14/368 [00:03<01:13,  4.81it/s]
  4%|▍         | 15/368 [00:03<01:04,  5.49it/s]
  4%|▍         | 16/368 [00:03<01:00,  5.86it/s]
  5%|▍         | 17/368 [00:04<00:59,  5.92it/s]
  5%|▍         | 18/368 [00:04<00:57,  6.10it/s]
  5%|▌         | 19/368 [00:04<00:52,  6.59it/s]
  5%|▌         | 20/368 [00:05<02:12,  2.62it/s]
  6%|▌         | 21/368 [00:05<01:50,  3.15it/s]
  6%|▌         | 22/368 [00:05<01:30,  3.83it/s]
  6%|▋         | 23/368 [00:05<01:17,  4.43it/s]
  7%|▋         | 24/368 [00:05<01:06,  5.18it/s]
  7%|▋         | 25/368 [00:05<00:58,  5.83it/s]
  7%|▋         | 26/368 [00:06<00:53,  6.35it/s]
  7%|▋         | 27/368 [00:06<00:54,  6.23it/s]
  8%|▊         | 28/368 [00:06<00:51,  6.63it/s]
  8%|▊         | 29/368 [00:06<00:48,  6.98it/s]
  8%|▊         | 30/368 [00:07<01:59,  2.84it/s]
  8%|▊         | 31/368 [00:07<01:36,  3.49it/s]
  9%|▊         | 32/368 [00:07<01:22,  4.07it/s]
  9%|▉         | 33/368 [00:07<01:15,  4.46it/s]
  9%|▉         | 34/368 [00:07<01:04,  5.16it/s]
 10%|▉         | 35/368 [00:08<00:57,  5.83it/s]
 10%|▉         | 36/368 [00:08<00:52,  6.36it/s]
 10%|█         | 37/368 [00:08<00:54,  6.11it/s]
 10%|█         | 38/368 [00:08<00:49,  6.67it/s]
 11%|█         | 39/368 [00:08<00:47,  6.96it/s]
 11%|█         | 40/368 [00:09<02:12,  2.48it/s]
 11%|█         | 41/368 [00:09<01:44,  3.14it/s]
 11%|█▏        | 42/368 [00:09<01:25,  3.83it/s]
 12%|█▏        | 43/368 [00:09<01:12,  4.51it/s]
 12%|█▏        | 44/368 [00:10<01:02,  5.21it/s]
 12%|█▏        | 45/368 [00:10<00:57,  5.65it/s]
 12%|█▎        | 46/368 [00:10<00:52,  6.17it/s]
 13%|█▎        | 47/368 [00:10<00:48,  6.58it/s]
 13%|█▎        | 48/368 [00:10<00:46,  6.87it/s]
 13%|█▎        | 49/368 [00:10<00:44,  7.15it/s]
 14%|█▎        | 50/368 [00:11<02:07,  2.49it/s]
 14%|█▍        | 51/368 [00:11<01:41,  3.11it/s]
 14%|█▍        | 52/368 [00:12<01:22,  3.82it/s]
 14%|█▍        | 53/368 [00:12<01:09,  4.54it/s]
 15%|█▍        | 54/368 [00:12<01:01,  5.13it/s]
 15%|█▍        | 55/368 [00:12<00:54,  5.72it/s]
 15%|█▌        | 56/368 [00:12<00:51,  6.08it/s]
 15%|█▌        | 57/368 [00:12<00:47,  6.51it/s]
 16%|█▌        | 58/368 [00:12<00:45,  6.85it/s]
 16%|█▌        | 59/368 [00:12<00:43,  7.11it/s]
 16%|█▋        | 60/368 [00:13<01:49,  2.82it/s]
 17%|█▋        | 61/368 [00:13<01:30,  3.39it/s]
 17%|█▋        | 62/368 [00:14<01:14,  4.12it/s]
 17%|█▋        | 63/368 [00:14<01:02,  4.89it/s]
 17%|█▋        | 64/368 [00:14<00:54,  5.53it/s]
 18%|█▊        | 65/368 [00:14<00:49,  6.15it/s]
 18%|█▊        | 66/368 [00:14<00:45,  6.58it/s]
 18%|█▊        | 67/368 [00:14<00:43,  6.85it/s]
 18%|█▊        | 68/368 [00:14<00:41,  7.24it/s]
 19%|█▉        | 69/368 [00:14<00:39,  7.63it/s]
 19%|█▉        | 70/368 [00:15<01:44,  2.86it/s]
 19%|█▉        | 71/368 [00:15<01:25,  3.47it/s]
 20%|█▉        | 72/368 [00:16<01:10,  4.19it/s]
 20%|█▉        | 73/368 [00:16<01:02,  4.69it/s]
 20%|██        | 74/368 [00:16<00:55,  5.31it/s]
 20%|██        | 75/368 [00:16<00:49,  5.89it/s]
 21%|██        | 76/368 [00:16<00:45,  6.46it/s]
 21%|██        | 77/368 [00:16<00:42,  6.81it/s]
 21%|██        | 78/368 [00:16<00:41,  6.97it/s]
 21%|██▏       | 79/368 [00:16<00:39,  7.29it/s]
 22%|██▏       | 80/368 [00:17<01:54,  2.51it/s]
 22%|██▏       | 81/368 [00:18<01:30,  3.16it/s]
 22%|██▏       | 82/368 [00:18<01:14,  3.82it/s]
 23%|██▎       | 83/368 [00:18<01:07,  4.21it/s]
 23%|██▎       | 84/368 [00:18<00:58,  4.84it/s]
 23%|██▎       | 85/368 [00:18<00:53,  5.26it/s]
 23%|██▎       | 86/368 [00:18<00:49,  5.65it/s]
 24%|██▎       | 87/368 [00:18<00:45,  6.24it/s]
 24%|██▍       | 88/368 [00:19<00:44,  6.35it/s]
 24%|██▍       | 89/368 [00:19<00:40,  6.83it/s]
 24%|██▍       | 90/368 [00:20<01:52,  2.48it/s]
 25%|██▍       | 91/368 [00:20<01:28,  3.12it/s]
 25%|██▌       | 92/368 [00:20<01:12,  3.81it/s]
 25%|██▌       | 93/368 [00:20<01:01,  4.49it/s]
 26%|██▌       | 94/368 [00:20<00:53,  5.10it/s]
 26%|██▌       | 95/368 [00:20<00:48,  5.69it/s]
 26%|██▌       | 96/368 [00:21<00:43,  6.26it/s]
 26%|██▋       | 97/368 [00:21<00:39,  6.79it/s]
 27%|██▋       | 98/368 [00:21<00:38,  7.02it/s]
 27%|██▋       | 99/368 [00:21<00:38,  7.00it/s]
 27%|██▋       | 100/368 [00:22<01:35,  2.80it/s]
 27%|██▋       | 101/368 [00:22<01:18,  3.42it/s]
 28%|██▊       | 102/368 [00:22<01:04,  4.12it/s]
 28%|██▊       | 103/368 [00:22<00:55,  4.80it/s]
 28%|██▊       | 104/368 [00:22<00:49,  5.37it/s]
 29%|██▊       | 105/368 [00:22<00:44,  5.89it/s]
 29%|██▉       | 106/368 [00:23<00:40,  6.49it/s]
 29%|██▉       | 107/368 [00:23<00:37,  6.94it/s]
 29%|██▉       | 108/368 [00:23<00:35,  7.24it/s]
 30%|██▉       | 109/368 [00:23<00:34,  7.55it/s]
 30%|██▉       | 110/368 [00:24<01:41,  2.55it/s]
 30%|███       | 111/368 [00:24<01:21,  3.13it/s]
 30%|███       | 112/368 [00:24<01:06,  3.82it/s]
 31%|███       | 113/368 [00:24<00:55,  4.57it/s]
 31%|███       | 114/368 [00:24<00:48,  5.24it/s]
 31%|███▏      | 115/368 [00:25<00:44,  5.71it/s]
 32%|███▏      | 116/368 [00:25<00:40,  6.27it/s]
 32%|███▏      | 117/368 [00:25<00:36,  6.82it/s]
 32%|███▏      | 118/368 [00:25<00:35,  7.11it/s]
 32%|███▏      | 119/368 [00:25<00:33,  7.50it/s]
 33%|███▎      | 120/368 [00:26<01:27,  2.82it/s]
 33%|███▎      | 121/368 [00:26<01:12,  3.40it/s]
 33%|███▎      | 122/368 [00:26<00:59,  4.15it/s]
 33%|███▎      | 123/368 [00:26<00:51,  4.78it/s]
 34%|███▎      | 124/368 [00:26<00:44,  5.44it/s]
 34%|███▍      | 125/368 [00:27<00:41,  5.86it/s]
 34%|███▍      | 126/368 [00:27<00:38,  6.27it/s]
 35%|███▍      | 127/368 [00:27<00:36,  6.68it/s]
 35%|███▍      | 128/368 [00:27<00:35,  6.85it/s]
 35%|███▌      | 129/368 [00:27<00:33,  7.17it/s]
 35%|███▌      | 130/368 [00:28<01:25,  2.78it/s]
 36%|███▌      | 131/368 [00:28<01:08,  3.44it/s]
 36%|███▌      | 132/368 [00:28<00:56,  4.17it/s]
 36%|███▌      | 133/368 [00:28<00:47,  4.91it/s]
 36%|███▋      | 134/368 [00:28<00:42,  5.55it/s]
 37%|███▋      | 135/368 [00:29<00:38,  6.07it/s]
 37%|███▋      | 136/368 [00:29<00:35,  6.50it/s]
 37%|███▋      | 137/368 [00:29<00:33,  6.91it/s]
 38%|███▊      | 138/368 [00:29<00:32,  7.16it/s]
 38%|███▊      | 139/368 [00:29<00:31,  7.29it/s]
 38%|███▊      | 140/368 [00:30<01:30,  2.51it/s]
 38%|███▊      | 141/368 [00:30<01:11,  3.18it/s]
 39%|███▊      | 142/368 [00:30<00:58,  3.85it/s]
 39%|███▉      | 143/368 [00:31<00:50,  4.46it/s]
 39%|███▉      | 144/368 [00:31<00:43,  5.13it/s]
 39%|███▉      | 145/368 [00:31<00:39,  5.69it/s]
 40%|███▉      | 146/368 [00:31<00:35,  6.30it/s]
 40%|███▉      | 147/368 [00:31<00:32,  6.77it/s]
 40%|████      | 148/368 [00:31<00:31,  7.02it/s]
 40%|████      | 149/368 [00:31<00:30,  7.20it/s]
 41%|████      | 150/368 [00:32<01:18,  2.77it/s]
 41%|████      | 151/368 [00:32<01:03,  3.40it/s]
 41%|████▏     | 152/368 [00:32<00:52,  4.12it/s]
 42%|████▏     | 153/368 [00:33<00:44,  4.85it/s]
 42%|████▏     | 154/368 [00:33<00:40,  5.26it/s]
 42%|████▏     | 155/368 [00:33<00:36,  5.82it/s]
 42%|████▏     | 156/368 [00:33<00:33,  6.32it/s]
 43%|████▎     | 157/368 [00:33<00:31,  6.65it/s]
 43%|████▎     | 158/368 [00:33<00:30,  6.83it/s]
 43%|████▎     | 159/368 [00:33<00:29,  7.18it/s]
 43%|████▎     | 160/368 [00:34<01:23,  2.50it/s]
 44%|████▍     | 161/368 [00:34<01:05,  3.15it/s]
 44%|████▍     | 162/368 [00:35<00:53,  3.86it/s]
 44%|████▍     | 163/368 [00:35<00:45,  4.52it/s]
 45%|████▍     | 164/368 [00:35<00:39,  5.17it/s]
 45%|████▍     | 165/368 [00:35<00:35,  5.79it/s]
 45%|████▌     | 166/368 [00:35<00:31,  6.37it/s]
 45%|████▌     | 167/368 [00:35<00:30,  6.51it/s]
 46%|████▌     | 168/368 [00:35<00:29,  6.86it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.18it/s]
 46%|████▌     | 170/368 [00:36<01:11,  2.77it/s]
 46%|████▋     | 171/368 [00:37<00:57,  3.40it/s]
 47%|████▋     | 172/368 [00:37<00:47,  4.12it/s]
 47%|████▋     | 173/368 [00:37<00:40,  4.84it/s]
 47%|████▋     | 174/368 [00:37<00:35,  5.54it/s]
 48%|████▊     | 175/368 [00:37<00:32,  5.99it/s]
 48%|████▊     | 176/368 [00:37<00:29,  6.44it/s]
 48%|████▊     | 177/368 [00:37<00:28,  6.81it/s]
 48%|████▊     | 178/368 [00:37<00:27,  6.92it/s]
 49%|████▊     | 179/368 [00:38<00:26,  7.16it/s]
 49%|████▉     | 180/368 [00:39<01:14,  2.52it/s]
 49%|████▉     | 181/368 [00:39<00:59,  3.14it/s]
 49%|████▉     | 182/368 [00:39<00:49,  3.75it/s]
 50%|████▉     | 183/368 [00:39<00:41,  4.46it/s]
 50%|█████     | 184/368 [00:39<00:36,  5.09it/s]
 50%|█████     | 185/368 [00:39<00:32,  5.71it/s]
 51%|█████     | 186/368 [00:39<00:30,  6.06it/s]
 51%|█████     | 187/368 [00:39<00:27,  6.50it/s]
 51%|█████     | 188/368 [00:40<00:26,  6.74it/s]
 51%|█████▏    | 189/368 [00:40<00:25,  7.08it/s]
 52%|█████▏    | 190/368 [00:41<01:05,  2.73it/s]
 52%|█████▏    | 191/368 [00:41<00:52,  3.35it/s]
 52%|█████▏    | 192/368 [00:41<00:43,  4.07it/s]
 52%|█████▏    | 193/368 [00:41<00:37,  4.72it/s]
 53%|█████▎    | 194/368 [00:41<00:32,  5.41it/s]
 53%|█████▎    | 195/368 [00:41<00:28,  6.01it/s]
 53%|█████▎    | 196/368 [00:41<00:26,  6.39it/s]
 54%|█████▎    | 197/368 [00:42<00:25,  6.80it/s]
 54%|█████▍    | 198/368 [00:42<00:23,  7.16it/s]
 54%|█████▍    | 199/368 [00:42<00:22,  7.43it/s]
 54%|█████▍    | 200/368 [00:43<01:06,  2.52it/s]
 55%|█████▍    | 201/368 [00:43<00:52,  3.16it/s]
 55%|█████▍    | 202/368 [00:43<00:42,  3.87it/s]
 55%|█████▌    | 203/368 [00:43<00:36,  4.56it/s]
 55%|█████▌    | 204/368 [00:43<00:31,  5.22it/s]
 56%|█████▌    | 205/368 [00:43<00:28,  5.74it/s]
 56%|█████▌    | 206/368 [00:44<00:26,  6.22it/s]
 56%|█████▋    | 207/368 [00:44<00:24,  6.63it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.02it/s]
 57%|█████▋    | 209/368 [00:44<00:22,  7.11it/s]
 57%|█████▋    | 210/368 [00:45<01:05,  2.42it/s]
 57%|█████▋    | 211/368 [00:45<00:51,  3.03it/s]
 58%|█████▊    | 212/368 [00:45<00:41,  3.74it/s]
 58%|█████▊    | 213/368 [00:45<00:34,  4.43it/s]
 58%|█████▊    | 214/368 [00:45<00:30,  5.12it/s]
 58%|█████▊    | 215/368 [00:46<00:26,  5.69it/s]
 59%|█████▊    | 216/368 [00:46<00:24,  6.24it/s]
 59%|█████▉    | 217/368 [00:46<00:22,  6.70it/s]
 59%|█████▉    | 218/368 [00:46<00:21,  7.03it/s]
 60%|█████▉    | 219/368 [00:46<00:20,  7.44it/s]
 60%|█████▉    | 220/368 [00:47<00:52,  2.81it/s]
 60%|██████    | 221/368 [00:47<00:42,  3.45it/s]
 60%|██████    | 222/368 [00:47<00:35,  4.12it/s]
 61%|██████    | 223/368 [00:47<00:30,  4.77it/s]
 61%|██████    | 224/368 [00:48<00:26,  5.45it/s]
 61%|██████    | 225/368 [00:48<00:23,  5.96it/s]
 61%|██████▏   | 226/368 [00:48<00:22,  6.25it/s]
 62%|██████▏   | 227/368 [00:48<00:20,  6.74it/s]
 62%|██████▏   | 228/368 [00:48<00:20,  6.97it/s]
 62%|██████▏   | 229/368 [00:48<00:19,  7.21it/s]
 62%|██████▎   | 230/368 [00:49<00:49,  2.81it/s]
 63%|██████▎   | 231/368 [00:49<00:39,  3.45it/s]
 63%|██████▎   | 232/368 [00:49<00:32,  4.18it/s]
 63%|██████▎   | 233/368 [00:49<00:27,  4.86it/s]
 64%|██████▎   | 234/368 [00:50<00:24,  5.46it/s]
 64%|██████▍   | 235/368 [00:50<00:22,  6.02it/s]
 64%|██████▍   | 236/368 [00:50<00:20,  6.53it/s]
 64%|██████▍   | 237/368 [00:50<00:18,  6.92it/s]
 65%|██████▍   | 238/368 [00:50<00:18,  7.12it/s]
 65%|██████▍   | 239/368 [00:50<00:17,  7.38it/s]
 65%|██████▌   | 240/368 [00:51<00:45,  2.82it/s]
 65%|██████▌   | 241/368 [00:51<00:36,  3.45it/s]
 66%|██████▌   | 242/368 [00:51<00:30,  4.17it/s]
 66%|██████▌   | 243/368 [00:51<00:25,  4.82it/s]
 66%|██████▋   | 244/368 [00:52<00:22,  5.51it/s]
 67%|██████▋   | 245/368 [00:52<00:20,  6.07it/s]
 67%|██████▋   | 246/368 [00:52<00:19,  6.41it/s]
 67%|██████▋   | 247/368 [00:52<00:18,  6.56it/s]
 67%|██████▋   | 248/368 [00:52<00:17,  6.88it/s]
 68%|██████▊   | 249/368 [00:52<00:16,  7.23it/s]
 68%|██████▊   | 250/368 [00:53<00:42,  2.80it/s]
 68%|██████▊   | 251/368 [00:53<00:34,  3.42it/s]
 68%|██████▊   | 252/368 [00:53<00:28,  4.10it/s]
 69%|██████▉   | 253/368 [00:53<00:23,  4.81it/s]
 69%|██████▉   | 254/368 [00:54<00:20,  5.45it/s]
 69%|██████▉   | 255/368 [00:54<00:18,  6.10it/s]
 70%|██████▉   | 256/368 [00:54<00:16,  6.59it/s]
 70%|██████▉   | 257/368 [00:54<00:16,  6.84it/s]
 70%|███████   | 258/368 [00:54<00:16,  6.76it/s]
 70%|███████   | 259/368 [00:54<00:15,  7.13it/s]
 71%|███████   | 260/368 [00:55<00:38,  2.79it/s]
 71%|███████   | 261/368 [00:55<00:31,  3.40it/s]
 71%|███████   | 262/368 [00:55<00:25,  4.10it/s]
 71%|███████▏  | 263/368 [00:56<00:21,  4.77it/s]
 72%|███████▏  | 264/368 [00:56<00:19,  5.40it/s]
 72%|███████▏  | 265/368 [00:56<00:17,  5.93it/s]
 72%|███████▏  | 266/368 [00:56<00:15,  6.46it/s]
 73%|███████▎  | 267/368 [00:56<00:14,  6.74it/s]
 73%|███████▎  | 268/368 [00:56<00:14,  7.07it/s]
 73%|███████▎  | 269/368 [00:56<00:13,  7.28it/s]
 73%|███████▎  | 270/368 [00:57<00:35,  2.78it/s]
 74%|███████▎  | 271/368 [00:57<00:28,  3.45it/s]
 74%|███████▍  | 272/368 [00:57<00:23,  4.04it/s]
 74%|███████▍  | 273/368 [00:58<00:20,  4.73it/s]
 74%|███████▍  | 274/368 [00:58<00:17,  5.29it/s]
 75%|███████▍  | 275/368 [00:58<00:15,  5.89it/s]
 75%|███████▌  | 276/368 [00:58<00:14,  6.32it/s]
 75%|███████▌  | 277/368 [00:58<00:13,  6.70it/s]
 76%|███████▌  | 278/368 [00:58<00:13,  6.71it/s]
 76%|███████▌  | 279/368 [00:58<00:12,  6.98it/s]
 76%|███████▌  | 280/368 [00:59<00:31,  2.76it/s]
 76%|███████▋  | 281/368 [00:59<00:25,  3.36it/s]
 77%|███████▋  | 282/368 [01:00<00:21,  4.07it/s]
 77%|███████▋  | 283/368 [01:00<00:17,  4.77it/s]
 77%|███████▋  | 284/368 [01:00<00:15,  5.35it/s]
 77%|███████▋  | 285/368 [01:00<00:14,  5.91it/s]
 78%|███████▊  | 286/368 [01:00<00:12,  6.35it/s]
 78%|███████▊  | 287/368 [01:00<00:11,  6.76it/s]
 78%|███████▊  | 288/368 [01:00<00:11,  7.10it/s]
 79%|███████▊  | 289/368 [01:00<00:10,  7.34it/s]
 79%|███████▉  | 290/368 [01:01<00:27,  2.80it/s]
 79%|███████▉  | 291/368 [01:01<00:22,  3.44it/s]
 79%|███████▉  | 292/368 [01:02<00:18,  4.17it/s]
 80%|███████▉  | 293/368 [01:02<00:15,  4.87it/s]
 80%|███████▉  | 294/368 [01:02<00:13,  5.55it/s]
 80%|████████  | 295/368 [01:02<00:12,  6.05it/s]
 80%|████████  | 296/368 [01:02<00:11,  6.42it/s]
 81%|████████  | 297/368 [01:02<00:10,  6.82it/s]
 81%|████████  | 298/368 [01:02<00:09,  7.15it/s]
 81%|████████▏ | 299/368 [01:02<00:09,  7.26it/s]
 82%|████████▏ | 300/368 [01:03<00:24,  2.80it/s]
 82%|████████▏ | 301/368 [01:03<00:19,  3.41it/s]
 82%|████████▏ | 302/368 [01:04<00:16,  4.10it/s]
 82%|████████▏ | 303/368 [01:04<00:13,  4.70it/s]
 83%|████████▎ | 304/368 [01:04<00:12,  5.27it/s]
 83%|████████▎ | 305/368 [01:04<00:10,  5.81it/s]
 83%|████████▎ | 306/368 [01:04<00:09,  6.24it/s]
 83%|████████▎ | 307/368 [01:04<00:09,  6.60it/s]
 84%|████████▎ | 308/368 [01:04<00:08,  7.08it/s]
 84%|████████▍ | 309/368 [01:05<00:12,  4.69it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:00,  1.53it/s]
  1%|          | 2/368 [00:00<03:10,  1.92it/s]
  1%|          | 3/368 [00:01<02:31,  2.41it/s]
  1%|          | 4/368 [00:01<02:05,  2.90it/s]
  1%|▏         | 5/368 [00:01<01:47,  3.38it/s]
  2%|▏         | 6/368 [00:01<01:32,  3.93it/s]
  2%|▏         | 7/368 [00:01<01:19,  4.52it/s]
  2%|▏         | 8/368 [00:01<01:13,  4.87it/s]
  2%|▏         | 9/368 [00:02<01:11,  5.02it/s]
  3%|▎         | 10/368 [00:03<02:38,  2.26it/s]
  3%|▎         | 11/368 [00:03<02:07,  2.80it/s]
  3%|▎         | 12/368 [00:03<01:44,  3.39it/s]
  4%|▎         | 13/368 [00:03<01:29,  3.98it/s]
  4%|▍         | 14/368 [00:03<01:16,  4.64it/s]
  4%|▍         | 15/368 [00:03<01:06,  5.30it/s]
  4%|▍         | 16/368 [00:03<01:03,  5.54it/s]
  5%|▍         | 17/368 [00:04<00:57,  6.09it/s]
  5%|▍         | 18/368 [00:04<00:58,  5.96it/s]
  5%|▌         | 19/368 [00:04<00:55,  6.28it/s]
  5%|▌         | 20/368 [00:05<02:13,  2.61it/s]
  6%|▌         | 21/368 [00:05<01:46,  3.25it/s]
  6%|▌         | 22/368 [00:05<01:28,  3.93it/s]
  6%|▋         | 23/368 [00:05<01:17,  4.47it/s]
  7%|▋         | 24/368 [00:05<01:06,  5.17it/s]
  7%|▋         | 25/368 [00:05<00:58,  5.82it/s]
  7%|▋         | 26/368 [00:06<00:56,  6.01it/s]
  7%|▋         | 27/368 [00:06<00:54,  6.21it/s]
  8%|▊         | 28/368 [00:06<00:54,  6.27it/s]
  8%|▊         | 29/368 [00:06<00:50,  6.70it/s]
  8%|▊         | 30/368 [00:07<02:21,  2.38it/s]
  8%|▊         | 31/368 [00:07<01:51,  3.03it/s]
  9%|▊         | 32/368 [00:07<01:32,  3.63it/s]
  9%|▉         | 33/368 [00:07<01:16,  4.38it/s]
  9%|▉         | 34/368 [00:08<01:09,  4.80it/s]
 10%|▉         | 35/368 [00:08<01:01,  5.40it/s]
 10%|▉         | 36/368 [00:08<00:57,  5.80it/s]
 10%|█         | 37/368 [00:08<00:52,  6.25it/s]
 10%|█         | 38/368 [00:08<00:50,  6.60it/s]
 11%|█         | 39/368 [00:08<00:47,  6.90it/s]
 11%|█         | 40/368 [00:09<02:16,  2.41it/s]
 11%|█         | 41/368 [00:09<01:50,  2.95it/s]
 11%|█▏        | 42/368 [00:10<01:31,  3.57it/s]
 12%|█▏        | 43/368 [00:10<01:15,  4.31it/s]
 12%|█▏        | 44/368 [00:10<01:05,  4.97it/s]
 12%|█▏        | 45/368 [00:10<00:57,  5.65it/s]
 12%|█▎        | 46/368 [00:10<00:51,  6.25it/s]
 13%|█▎        | 47/368 [00:10<00:46,  6.84it/s]
 13%|█▎        | 48/368 [00:10<00:44,  7.16it/s]
 13%|█▎        | 49/368 [00:10<00:42,  7.43it/s]
 14%|█▎        | 50/368 [00:11<01:53,  2.80it/s]
 14%|█▍        | 51/368 [00:11<01:31,  3.46it/s]
 14%|█▍        | 52/368 [00:12<01:15,  4.18it/s]
 14%|█▍        | 53/368 [00:12<01:08,  4.60it/s]
 15%|█▍        | 54/368 [00:12<00:59,  5.27it/s]
 15%|█▍        | 55/368 [00:12<00:53,  5.83it/s]
 15%|█▌        | 56/368 [00:12<00:50,  6.24it/s]
 15%|█▌        | 57/368 [00:12<00:47,  6.61it/s]
 16%|█▌        | 58/368 [00:12<00:45,  6.87it/s]
 16%|█▌        | 59/368 [00:13<00:46,  6.68it/s]
 16%|█▋        | 60/368 [00:14<02:08,  2.39it/s]
 17%|█▋        | 61/368 [00:14<01:41,  3.04it/s]
 17%|█▋        | 62/368 [00:14<01:22,  3.71it/s]
 17%|█▋        | 63/368 [00:14<01:09,  4.40it/s]
 17%|█▋        | 64/368 [00:14<01:00,  5.05it/s]
 18%|█▊        | 65/368 [00:14<00:53,  5.67it/s]
 18%|█▊        | 66/368 [00:14<00:48,  6.19it/s]
 18%|█▊        | 67/368 [00:15<00:45,  6.58it/s]
 18%|█▊        | 68/368 [00:15<00:43,  6.93it/s]
 19%|█▉        | 69/368 [00:15<00:41,  7.20it/s]
 19%|█▉        | 70/368 [00:16<01:47,  2.78it/s]
 19%|█▉        | 71/368 [00:16<01:25,  3.45it/s]
 20%|█▉        | 72/368 [00:16<01:10,  4.19it/s]
 20%|█▉        | 73/368 [00:16<01:01,  4.83it/s]
 20%|██        | 74/368 [00:16<00:53,  5.45it/s]
 20%|██        | 75/368 [00:16<00:49,  5.97it/s]
 21%|██        | 76/368 [00:16<00:48,  6.05it/s]
 21%|██        | 77/368 [00:17<00:45,  6.46it/s]
 21%|██        | 78/368 [00:17<00:42,  6.86it/s]
 21%|██▏       | 79/368 [00:17<00:40,  7.21it/s]
 22%|██▏       | 80/368 [00:18<02:02,  2.35it/s]
 22%|██▏       | 81/368 [00:18<01:36,  2.99it/s]
 22%|██▏       | 82/368 [00:18<01:17,  3.68it/s]
 23%|██▎       | 83/368 [00:18<01:05,  4.37it/s]
 23%|██▎       | 84/368 [00:18<00:57,  4.95it/s]
 23%|██▎       | 85/368 [00:19<00:50,  5.57it/s]
 23%|██▎       | 86/368 [00:19<00:45,  6.19it/s]
 24%|██▎       | 87/368 [00:19<00:42,  6.67it/s]
 24%|██▍       | 88/368 [00:19<00:39,  7.10it/s]
 24%|██▍       | 89/368 [00:19<00:38,  7.16it/s]
 24%|██▍       | 90/368 [00:20<01:53,  2.45it/s]
 25%|██▍       | 91/368 [00:20<01:29,  3.09it/s]
 25%|██▌       | 92/368 [00:20<01:12,  3.82it/s]
 25%|██▌       | 93/368 [00:20<01:00,  4.55it/s]
 26%|██▌       | 94/368 [00:21<00:52,  5.23it/s]
 26%|██▌       | 95/368 [00:21<00:46,  5.88it/s]
 26%|██▌       | 96/368 [00:21<00:42,  6.34it/s]
 26%|██▋       | 97/368 [00:21<00:40,  6.64it/s]
 27%|██▋       | 98/368 [00:21<00:37,  7.13it/s]
 27%|██▋       | 99/368 [00:21<00:36,  7.30it/s]
 27%|██▋       | 100/368 [00:22<01:36,  2.78it/s]
 27%|██▋       | 101/368 [00:22<01:18,  3.41it/s]
 28%|██▊       | 102/368 [00:22<01:04,  4.09it/s]
 28%|██▊       | 103/368 [00:22<00:55,  4.78it/s]
 28%|██▊       | 104/368 [00:23<00:48,  5.41it/s]
 29%|██▊       | 105/368 [00:23<00:44,  5.94it/s]
 29%|██▉       | 106/368 [00:23<00:40,  6.40it/s]
 29%|██▉       | 107/368 [00:23<00:39,  6.69it/s]
 29%|██▉       | 108/368 [00:23<00:37,  6.98it/s]
 30%|██▉       | 109/368 [00:23<00:35,  7.27it/s]
 30%|██▉       | 110/368 [00:24<01:32,  2.78it/s]
 30%|███       | 111/368 [00:24<01:15,  3.42it/s]
 30%|███       | 112/368 [00:24<01:03,  4.01it/s]
 31%|███       | 113/368 [00:25<00:55,  4.62it/s]
 31%|███       | 114/368 [00:25<00:48,  5.21it/s]
 31%|███▏      | 115/368 [00:25<00:43,  5.77it/s]
 32%|███▏      | 116/368 [00:25<00:40,  6.29it/s]
 32%|███▏      | 117/368 [00:25<00:37,  6.75it/s]
 32%|███▏      | 118/368 [00:25<00:35,  7.01it/s]
 32%|███▏      | 119/368 [00:25<00:34,  7.30it/s]
 33%|███▎      | 120/368 [00:26<01:41,  2.44it/s]
 33%|███▎      | 121/368 [00:27<01:20,  3.06it/s]
 33%|███▎      | 122/368 [00:27<01:06,  3.71it/s]
 33%|███▎      | 123/368 [00:27<00:56,  4.36it/s]
 34%|███▎      | 124/368 [00:27<00:48,  5.03it/s]
 34%|███▍      | 125/368 [00:27<00:43,  5.65it/s]
 34%|███▍      | 126/368 [00:27<00:39,  6.19it/s]
 35%|███▍      | 127/368 [00:27<00:36,  6.62it/s]
 35%|███▍      | 128/368 [00:27<00:34,  6.91it/s]
 35%|███▌      | 129/368 [00:28<00:33,  7.06it/s]
 35%|███▌      | 130/368 [00:28<01:25,  2.78it/s]
 36%|███▌      | 131/368 [00:29<01:09,  3.43it/s]
 36%|███▌      | 132/368 [00:29<00:57,  4.12it/s]
 36%|███▌      | 133/368 [00:29<00:48,  4.85it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.37it/s]
 37%|███▋      | 135/368 [00:29<00:39,  5.85it/s]
 37%|███▋      | 136/368 [00:29<00:36,  6.41it/s]
 37%|███▋      | 137/368 [00:29<00:33,  6.84it/s]
 38%|███▊      | 138/368 [00:29<00:33,  6.93it/s]
 38%|███▊      | 139/368 [00:30<00:31,  7.16it/s]
 38%|███▊      | 140/368 [00:30<01:22,  2.78it/s]
 38%|███▊      | 141/368 [00:31<01:06,  3.40it/s]
 39%|███▊      | 142/368 [00:31<00:54,  4.13it/s]
 39%|███▉      | 143/368 [00:31<00:46,  4.83it/s]
 39%|███▉      | 144/368 [00:31<00:41,  5.42it/s]
 39%|███▉      | 145/368 [00:31<00:36,  6.11it/s]
 40%|███▉      | 146/368 [00:31<00:33,  6.62it/s]
 40%|███▉      | 147/368 [00:31<00:32,  6.89it/s]
 40%|████      | 148/368 [00:31<00:30,  7.27it/s]
 40%|████      | 149/368 [00:32<00:29,  7.44it/s]
 41%|████      | 150/368 [00:32<01:18,  2.77it/s]
 41%|████      | 151/368 [00:33<01:03,  3.41it/s]
 41%|████▏     | 152/368 [00:33<00:52,  4.10it/s]
 42%|████▏     | 153/368 [00:33<00:45,  4.76it/s]
 42%|████▏     | 154/368 [00:33<00:39,  5.38it/s]
 42%|████▏     | 155/368 [00:33<00:35,  5.93it/s]
 42%|████▏     | 156/368 [00:33<00:34,  6.22it/s]
 43%|████▎     | 157/368 [00:33<00:32,  6.56it/s]
 43%|████▎     | 158/368 [00:34<00:30,  6.90it/s]
 43%|████▎     | 159/368 [00:34<00:29,  7.01it/s]
 43%|████▎     | 160/368 [00:35<01:24,  2.47it/s]
 44%|████▍     | 161/368 [00:35<01:06,  3.12it/s]
 44%|████▍     | 162/368 [00:35<00:54,  3.79it/s]
 44%|████▍     | 163/368 [00:35<00:45,  4.47it/s]
 45%|████▍     | 164/368 [00:35<00:39,  5.20it/s]
 45%|████▍     | 165/368 [00:35<00:35,  5.75it/s]
 45%|████▌     | 166/368 [00:35<00:32,  6.28it/s]
 45%|████▌     | 167/368 [00:36<00:30,  6.68it/s]
 46%|████▌     | 168/368 [00:36<00:28,  7.03it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.34it/s]
 46%|████▌     | 170/368 [00:37<01:10,  2.80it/s]
 46%|████▋     | 171/368 [00:37<00:57,  3.45it/s]
 47%|████▋     | 172/368 [00:37<00:46,  4.18it/s]
 47%|████▋     | 173/368 [00:37<00:40,  4.86it/s]
 47%|████▋     | 174/368 [00:37<00:35,  5.46it/s]
 48%|████▊     | 175/368 [00:37<00:31,  6.07it/s]
 48%|████▊     | 176/368 [00:37<00:29,  6.50it/s]
 48%|████▊     | 177/368 [00:38<00:28,  6.75it/s]
 48%|████▊     | 178/368 [00:38<00:26,  7.06it/s]
 49%|████▊     | 179/368 [00:38<00:26,  7.19it/s]
 49%|████▉     | 180/368 [00:39<01:08,  2.76it/s]
 49%|████▉     | 181/368 [00:39<00:56,  3.30it/s]
 49%|████▉     | 182/368 [00:39<00:46,  4.00it/s]
 50%|████▉     | 183/368 [00:39<00:39,  4.71it/s]
 50%|█████     | 184/368 [00:39<00:34,  5.31it/s]
 50%|█████     | 185/368 [00:39<00:31,  5.79it/s]
 51%|█████     | 186/368 [00:40<00:29,  6.24it/s]
 51%|█████     | 187/368 [00:40<00:27,  6.48it/s]
 51%|█████     | 188/368 [00:40<00:26,  6.81it/s]
 51%|█████▏    | 189/368 [00:40<00:25,  7.07it/s]
 52%|█████▏    | 190/368 [00:41<01:04,  2.75it/s]
 52%|█████▏    | 191/368 [00:41<00:52,  3.37it/s]
 52%|█████▏    | 192/368 [00:41<00:42,  4.10it/s]
 52%|█████▏    | 193/368 [00:41<00:36,  4.74it/s]
 53%|█████▎    | 194/368 [00:41<00:32,  5.40it/s]
 53%|█████▎    | 195/368 [00:41<00:28,  6.07it/s]
 53%|█████▎    | 196/368 [00:42<00:26,  6.52it/s]
 54%|█████▎    | 197/368 [00:42<00:25,  6.63it/s]
 54%|█████▍    | 198/368 [00:42<00:24,  6.96it/s]
 54%|█████▍    | 199/368 [00:42<00:23,  7.19it/s]
 54%|█████▍    | 200/368 [00:43<01:00,  2.80it/s]
 55%|█████▍    | 201/368 [00:43<00:48,  3.46it/s]
 55%|█████▍    | 202/368 [00:43<00:39,  4.17it/s]
 55%|█████▌    | 203/368 [00:43<00:33,  4.86it/s]
 55%|█████▌    | 204/368 [00:43<00:29,  5.55it/s]
 56%|█████▌    | 205/368 [00:44<00:27,  6.04it/s]
 56%|█████▌    | 206/368 [00:44<00:24,  6.56it/s]
 56%|█████▋    | 207/368 [00:44<00:23,  6.78it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.06it/s]
 57%|█████▋    | 209/368 [00:44<00:21,  7.23it/s]
 57%|█████▋    | 210/368 [00:45<00:56,  2.82it/s]
 57%|█████▋    | 211/368 [00:45<00:45,  3.47it/s]
 58%|█████▊    | 212/368 [00:45<00:37,  4.19it/s]
 58%|█████▊    | 213/368 [00:45<00:31,  4.91it/s]
 58%|█████▊    | 214/368 [00:45<00:27,  5.53it/s]
 58%|█████▊    | 215/368 [00:46<00:25,  6.00it/s]
 59%|█████▊    | 216/368 [00:46<00:23,  6.51it/s]
 59%|█████▉    | 217/368 [00:46<00:22,  6.83it/s]
 59%|█████▉    | 218/368 [00:46<00:21,  7.11it/s]
 60%|█████▉    | 219/368 [00:46<00:20,  7.39it/s]
 60%|█████▉    | 220/368 [00:47<00:52,  2.83it/s]
 60%|██████    | 221/368 [00:47<00:42,  3.48it/s]
 60%|██████    | 222/368 [00:47<00:34,  4.19it/s]
 61%|██████    | 223/368 [00:47<00:29,  4.93it/s]
 61%|██████    | 224/368 [00:47<00:26,  5.53it/s]
 61%|██████    | 225/368 [00:48<00:23,  6.13it/s]
 61%|██████▏   | 226/368 [00:48<00:21,  6.61it/s]
 62%|██████▏   | 227/368 [00:48<00:19,  7.07it/s]
 62%|██████▏   | 228/368 [00:48<00:19,  7.31it/s]
 62%|██████▏   | 229/368 [00:48<00:18,  7.53it/s]
 62%|██████▎   | 230/368 [00:49<00:48,  2.85it/s]
 63%|██████▎   | 231/368 [00:49<00:39,  3.51it/s]
 63%|██████▎   | 232/368 [00:49<00:32,  4.25it/s]
 63%|██████▎   | 233/368 [00:49<00:26,  5.02it/s]
 64%|██████▎   | 234/368 [00:49<00:24,  5.57it/s]
 64%|██████▍   | 235/368 [00:50<00:22,  6.01it/s]
 64%|██████▍   | 236/368 [00:50<00:20,  6.39it/s]
 64%|██████▍   | 237/368 [00:50<00:19,  6.76it/s]
 65%|██████▍   | 238/368 [00:50<00:19,  6.83it/s]
 65%|██████▍   | 239/368 [00:50<00:18,  7.14it/s]
 65%|██████▌   | 240/368 [00:51<00:46,  2.75it/s]
 65%|██████▌   | 241/368 [00:51<00:37,  3.39it/s]
 66%|██████▌   | 242/368 [00:51<00:30,  4.11it/s]
 66%|██████▌   | 243/368 [00:51<00:26,  4.76it/s]
 66%|██████▋   | 244/368 [00:51<00:22,  5.40it/s]
 67%|██████▋   | 245/368 [00:52<00:20,  5.99it/s]
 67%|██████▋   | 246/368 [00:52<00:19,  6.38it/s]
 67%|██████▋   | 247/368 [00:52<00:17,  6.84it/s]
 67%|██████▋   | 248/368 [00:52<00:17,  7.06it/s]
 68%|██████▊   | 249/368 [00:52<00:16,  7.39it/s]
 68%|██████▊   | 250/368 [00:53<00:41,  2.82it/s]
 68%|██████▊   | 251/368 [00:53<00:33,  3.49it/s]
 68%|██████▊   | 252/368 [00:53<00:28,  4.09it/s]
 69%|██████▉   | 253/368 [00:53<00:24,  4.63it/s]
 69%|██████▉   | 254/368 [00:53<00:21,  5.23it/s]
 69%|██████▉   | 255/368 [00:54<00:19,  5.84it/s]
 70%|██████▉   | 256/368 [00:54<00:17,  6.34it/s]
 70%|██████▉   | 257/368 [00:54<00:16,  6.82it/s]
 70%|███████   | 258/368 [00:54<00:15,  7.12it/s]
 70%|███████   | 259/368 [00:54<00:14,  7.37it/s]
 71%|███████   | 260/368 [00:55<00:42,  2.51it/s]
 71%|███████   | 261/368 [00:55<00:33,  3.18it/s]
 71%|███████   | 262/368 [00:55<00:27,  3.92it/s]
 71%|███████▏  | 263/368 [00:55<00:22,  4.63it/s]
 72%|███████▏  | 264/368 [00:56<00:19,  5.36it/s]
 72%|███████▏  | 265/368 [00:56<00:17,  5.88it/s]
 72%|███████▏  | 266/368 [00:56<00:16,  6.32it/s]
 73%|███████▎  | 267/368 [00:56<00:14,  6.76it/s]
 73%|███████▎  | 268/368 [00:56<00:13,  7.16it/s]
 73%|███████▎  | 269/368 [00:56<00:13,  7.45it/s]
 73%|███████▎  | 270/368 [00:57<00:34,  2.81it/s]
 74%|███████▎  | 271/368 [00:57<00:28,  3.40it/s]
 74%|███████▍  | 272/368 [00:57<00:23,  4.13it/s]
 74%|███████▍  | 273/368 [00:58<00:19,  4.85it/s]
 74%|███████▍  | 274/368 [00:58<00:17,  5.50it/s]
 75%|███████▍  | 275/368 [00:58<00:15,  5.98it/s]
 75%|███████▌  | 276/368 [00:58<00:13,  6.69it/s]
 75%|███████▌  | 277/368 [00:58<00:12,  7.06it/s]
 76%|███████▌  | 278/368 [00:58<00:12,  7.26it/s]
 76%|███████▌  | 279/368 [00:58<00:12,  7.40it/s]
 76%|███████▌  | 280/368 [00:59<00:31,  2.83it/s]
 76%|███████▋  | 281/368 [00:59<00:25,  3.43it/s]
 77%|███████▋  | 282/368 [00:59<00:20,  4.15it/s]
 77%|███████▋  | 283/368 [01:00<00:17,  4.84it/s]
 77%|███████▋  | 284/368 [01:00<00:15,  5.48it/s]
 77%|███████▋  | 285/368 [01:00<00:13,  6.12it/s]
 78%|███████▊  | 286/368 [01:00<00:12,  6.65it/s]
 78%|███████▊  | 287/368 [01:00<00:11,  7.13it/s]
 78%|███████▊  | 288/368 [01:00<00:11,  7.06it/s]
 79%|███████▊  | 289/368 [01:00<00:11,  7.08it/s]
 79%|███████▉  | 290/368 [01:01<00:27,  2.80it/s]
 79%|███████▉  | 291/368 [01:01<00:22,  3.42it/s]
 79%|███████▉  | 292/368 [01:01<00:18,  4.07it/s]
 80%|███████▉  | 293/368 [01:02<00:15,  4.75it/s]
 80%|███████▉  | 294/368 [01:02<00:13,  5.45it/s]
 80%|████████  | 295/368 [01:02<00:12,  6.08it/s]
 80%|████████  | 296/368 [01:02<00:11,  6.46it/s]
 81%|████████  | 297/368 [01:02<00:10,  6.86it/s]
 81%|████████  | 298/368 [01:02<00:09,  7.28it/s]
 81%|████████▏ | 299/368 [01:02<00:09,  7.52it/s]
 82%|████████▏ | 300/368 [01:03<00:24,  2.83it/s]
 82%|████████▏ | 301/368 [01:03<00:19,  3.44it/s]
 82%|████████▏ | 302/368 [01:03<00:16,  4.11it/s]
 82%|████████▏ | 303/368 [01:04<00:13,  4.77it/s]
 83%|████████▎ | 304/368 [01:04<00:11,  5.39it/s]
 83%|████████▎ | 305/368 [01:04<00:10,  5.95it/s]
 83%|████████▎ | 306/368 [01:04<00:09,  6.39it/s]
 83%|████████▎ | 307/368 [01:04<00:08,  6.78it/s]
 84%|████████▎ | 308/368 [01:04<00:08,  7.05it/s]
 84%|████████▍ | 309/368 [01:04<00:08,  7.13it/s]
 84%|████████▍ | 310/368 [01:05<00:20,  2.79it/s]
 85%|████████▍ | 311/368 [01:05<00:16,  3.43it/s]
 85%|████████▍ | 312/368 [01:05<00:13,  4.08it/s]
 85%|████████▌ | 313/368 [01:06<00:11,  4.77it/s]
 85%|████████▌ | 314/368 [01:06<00:09,  5.45it/s]
 86%|████████▌ | 315/368 [01:06<00:08,  6.09it/s]
 86%|████████▌ | 316/368 [01:06<00:07,  6.53it/s]
 86%|████████▌ | 317/368 [01:06<00:07,  6.89it/s]
 86%|████████▋ | 318/368 [01:06<00:07,  7.10it/s]
 87%|████████▋ | 319/368 [01:06<00:06,  7.31it/s]
 87%|████████▋ | 320/368 [01:07<00:17,  2.78it/s]
 87%|████████▋ | 321/368 [01:07<00:13,  3.44it/s]
 88%|████████▊ | 322/368 [01:07<00:11,  4.14it/s]
 88%|████████▊ | 323/368 [01:08<00:09,  4.87it/s]
 88%|████████▊ | 324/368 [01:08<00:08,  5.34it/s]
 88%|████████▊ | 325/368 [01:08<00:07,  5.93it/s]
 89%|████████▊ | 326/368 [01:08<00:06,  6.39it/s]
 89%|████████▉ | 327/368 [01:08<00:05,  6.90it/s]
 89%|████████▉ | 328/368 [01:08<00:05,  7.30it/s]
 89%|████████▉ | 329/368 [01:08<00:05,  7.25it/s]
 90%|████████▉ | 330/368 [01:09<00:15,  2.52it/s]
 90%|████████▉ | 331/368 [01:10<00:11,  3.17it/s]
 90%|█████████ | 332/368 [01:10<00:09,  3.86it/s]
 90%|█████████ | 333/368 [01:10<00:07,  4.57it/s]
 91%|█████████ | 334/368 [01:10<00:06,  5.14it/s]
 91%|█████████ | 335/368 [01:10<00:05,  5.79it/s]
 91%|█████████▏| 336/368 [01:10<00:05,  6.36it/s]
 92%|█████████▏| 337/368 [01:10<00:04,  6.77it/s]
 92%|█████████▏| 338/368 [01:10<00:04,  7.25it/s]
 92%|█████████▏| 339/368 [01:11<00:03,  7.35it/s]
 92%|█████████▏| 340/368 [01:12<00:11,  2.51it/s]
 93%|█████████▎| 341/368 [01:12<00:08,  3.15it/s]
 93%|█████████▎| 342/368 [01:12<00:06,  3.86it/s]
 93%|█████████▎| 343/368 [01:12<00:05,  4.55it/s]
 93%|█████████▎| 344/368 [01:12<00:04,  5.25it/s]
 94%|█████████▍| 345/368 [01:12<00:03,  5.81it/s]
 94%|█████████▍| 346/368 [01:12<00:03,  6.38it/s]
 94%|█████████▍| 347/368 [01:12<00:03,  6.63it/s]
 95%|█████████▍| 348/368 [01:13<00:02,  6.91it/s]
 95%|█████████▍| 349/368 [01:13<00:02,  7.23it/s]
 95%|█████████▌| 350/368 [01:14<00:07,  2.44it/s]
 95%|█████████▌| 351/368 [01:14<00:05,  3.09it/s]
 96%|█████████▌| 352/368 [01:14<00:04,  3.81it/s]
 96%|█████████▌| 353/368 [01:14<00:03,  4.43it/s]
 96%|█████████▌| 354/368 [01:14<00:02,  4.96it/s]
 96%|█████████▋| 355/368 [01:14<00:02,  5.57it/s]
 97%|█████████▋| 356/368 [01:14<00:01,  6.16it/s]
 97%|█████████▋| 357/368 [01:15<00:01,  6.61it/s]
 97%|█████████▋| 358/368 [01:15<00:01,  6.81it/s]
 98%|█████████▊| 359/368 [01:15<00:01,  7.25it/s]
 98%|█████████▊| 360/368 [01:16<00:02,  2.79it/s]
 98%|█████████▊| 361/368 [01:16<00:02,  3.44it/s]
 98%|█████████▊| 362/368 [01:16<00:01,  4.14it/s]
 99%|█████████▊| 363/368 [01:16<00:01,  4.85it/s]
 99%|█████████▉| 364/368 [01:16<00:00,  5.46it/s]
 99%|█████████▉| 365/368 [01:16<00:00,  5.99it/s]
 99%|█████████▉| 366/368 [01:17<00:00,  6.48it/s]
100%|█████████▉| 367/368 [01:17<00:00,  6.96it/s]
100%|██████████| 368/368 [01:17<00:00,  4.72it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:02,  1.51it/s]
  1%|          | 2/368 [00:00<03:12,  1.90it/s]
  1%|          | 3/368 [00:01<02:32,  2.40it/s]
  1%|          | 4/368 [00:01<02:06,  2.88it/s]
  1%|▏         | 5/368 [00:01<01:47,  3.36it/s]
  2%|▏         | 6/368 [00:01<01:31,  3.94it/s]
  2%|▏         | 7/368 [00:01<01:18,  4.63it/s]
  2%|▏         | 8/368 [00:01<01:10,  5.11it/s]
  2%|▏         | 9/368 [00:01<01:04,  5.58it/s]
  3%|▎         | 10/368 [00:02<02:27,  2.42it/s]
  3%|▎         | 11/368 [00:03<02:00,  2.96it/s]
  3%|▎         | 12/368 [00:03<01:41,  3.49it/s]
  4%|▎         | 13/368 [00:03<01:25,  4.17it/s]
  4%|▍         | 14/368 [00:03<01:16,  4.64it/s]
  4%|▍         | 15/368 [00:03<01:09,  5.10it/s]
  4%|▍         | 16/368 [00:03<01:05,  5.36it/s]
  5%|▍         | 17/368 [00:04<01:06,  5.26it/s]
  5%|▍         | 18/368 [00:04<00:59,  5.88it/s]
  5%|▌         | 19/368 [00:04<00:54,  6.44it/s]
  5%|▌         | 20/368 [00:05<02:30,  2.32it/s]
  6%|▌         | 21/368 [00:05<02:00,  2.88it/s]
  6%|▌         | 22/368 [00:05<01:39,  3.47it/s]
  6%|▋         | 23/368 [00:05<01:22,  4.19it/s]
  7%|▋         | 24/368 [00:05<01:09,  4.93it/s]
  7%|▋         | 25/368 [00:06<01:01,  5.57it/s]
  7%|▋         | 26/368 [00:06<00:56,  6.07it/s]
  7%|▋         | 27/368 [00:06<00:55,  6.16it/s]
  8%|▊         | 28/368 [00:06<00:51,  6.62it/s]
  8%|▊         | 29/368 [00:06<00:49,  6.90it/s]
  8%|▊         | 30/368 [00:07<02:17,  2.46it/s]
  8%|▊         | 31/368 [00:07<01:48,  3.10it/s]
  9%|▊         | 32/368 [00:07<01:27,  3.82it/s]
  9%|▉         | 33/368 [00:07<01:13,  4.55it/s]
  9%|▉         | 34/368 [00:08<01:04,  5.17it/s]
 10%|▉         | 35/368 [00:08<00:58,  5.70it/s]
 10%|▉         | 36/368 [00:08<00:53,  6.22it/s]
 10%|█         | 37/368 [00:08<00:52,  6.26it/s]
 10%|█         | 38/368 [00:08<00:49,  6.62it/s]
 11%|█         | 39/368 [00:08<00:48,  6.76it/s]
 11%|█         | 40/368 [00:09<02:18,  2.36it/s]
 11%|█         | 41/368 [00:10<01:51,  2.93it/s]
 11%|█▏        | 42/368 [00:10<01:33,  3.48it/s]
 12%|█▏        | 43/368 [00:10<01:17,  4.17it/s]
 12%|█▏        | 44/368 [00:10<01:06,  4.85it/s]
 12%|█▏        | 45/368 [00:10<01:02,  5.20it/s]
 12%|█▎        | 46/368 [00:10<00:55,  5.83it/s]
 13%|█▎        | 47/368 [00:10<00:50,  6.31it/s]
 13%|█▎        | 48/368 [00:10<00:47,  6.67it/s]
 13%|█▎        | 49/368 [00:11<00:45,  7.02it/s]
 14%|█▎        | 50/368 [00:12<02:09,  2.46it/s]
 14%|█▍        | 51/368 [00:12<01:42,  3.08it/s]
 14%|█▍        | 52/368 [00:12<01:24,  3.72it/s]
 14%|█▍        | 53/368 [00:12<01:11,  4.41it/s]
 15%|█▍        | 54/368 [00:12<01:04,  4.90it/s]
 15%|█▍        | 55/368 [00:12<00:56,  5.52it/s]
 15%|█▌        | 56/368 [00:12<00:51,  6.06it/s]
 15%|█▌        | 57/368 [00:13<00:47,  6.53it/s]
 16%|█▌        | 58/368 [00:13<00:45,  6.89it/s]
 16%|█▌        | 59/368 [00:13<00:43,  7.03it/s]
 16%|█▋        | 60/368 [00:14<02:06,  2.44it/s]
 17%|█▋        | 61/368 [00:14<01:40,  3.07it/s]
 17%|█▋        | 62/368 [00:14<01:21,  3.75it/s]
 17%|█▋        | 63/368 [00:14<01:08,  4.42it/s]
 17%|█▋        | 64/368 [00:14<01:00,  5.07it/s]
 18%|█▊        | 65/368 [00:15<00:57,  5.24it/s]
 18%|█▊        | 66/368 [00:15<00:52,  5.79it/s]
 18%|█▊        | 67/368 [00:15<00:51,  5.80it/s]
 18%|█▊        | 68/368 [00:15<00:48,  6.20it/s]
 19%|█▉        | 69/368 [00:15<00:45,  6.58it/s]
 19%|█▉        | 70/368 [00:16<01:50,  2.69it/s]
 19%|█▉        | 71/368 [00:16<01:32,  3.20it/s]
 20%|█▉        | 72/368 [00:16<01:15,  3.91it/s]
 20%|█▉        | 73/368 [00:16<01:05,  4.53it/s]
 20%|██        | 74/368 [00:17<00:58,  4.99it/s]
 20%|██        | 75/368 [00:17<00:53,  5.48it/s]
 21%|██        | 76/368 [00:17<00:48,  6.05it/s]
 21%|██        | 77/368 [00:17<00:45,  6.45it/s]
 21%|██        | 78/368 [00:17<00:42,  6.76it/s]
 21%|██▏       | 79/368 [00:17<00:41,  7.05it/s]
 22%|██▏       | 80/368 [00:18<01:59,  2.41it/s]
 22%|██▏       | 81/368 [00:18<01:36,  2.98it/s]
 22%|██▏       | 82/368 [00:19<01:19,  3.58it/s]
 23%|██▎       | 83/368 [00:19<01:06,  4.26it/s]
 23%|██▎       | 84/368 [00:19<00:57,  4.96it/s]
 23%|██▎       | 85/368 [00:19<00:50,  5.59it/s]
 23%|██▎       | 86/368 [00:19<00:45,  6.16it/s]
 24%|██▎       | 87/368 [00:19<00:42,  6.62it/s]
 24%|██▍       | 88/368 [00:19<00:41,  6.82it/s]
 24%|██▍       | 89/368 [00:19<00:39,  7.13it/s]
 24%|██▍       | 90/368 [00:21<01:54,  2.42it/s]
 25%|██▍       | 91/368 [00:21<01:30,  3.06it/s]
 25%|██▌       | 92/368 [00:21<01:13,  3.76it/s]
 25%|██▌       | 93/368 [00:21<01:03,  4.35it/s]
 26%|██▌       | 94/368 [00:21<00:54,  4.99it/s]
 26%|██▌       | 95/368 [00:21<00:48,  5.57it/s]
 26%|██▌       | 96/368 [00:21<00:44,  6.10it/s]
 26%|██▋       | 97/368 [00:21<00:43,  6.30it/s]
 27%|██▋       | 98/368 [00:22<00:40,  6.69it/s]
 27%|██▋       | 99/368 [00:22<00:38,  7.02it/s]
 27%|██▋       | 100/368 [00:23<01:36,  2.76it/s]
 27%|██▋       | 101/368 [00:23<01:19,  3.36it/s]
 28%|██▊       | 102/368 [00:23<01:06,  4.00it/s]
 28%|██▊       | 103/368 [00:23<00:56,  4.66it/s]
 28%|██▊       | 104/368 [00:23<00:50,  5.24it/s]
 29%|██▊       | 105/368 [00:23<00:44,  5.89it/s]
 29%|██▉       | 106/368 [00:23<00:41,  6.39it/s]
 29%|██▉       | 107/368 [00:24<00:39,  6.58it/s]
 29%|██▉       | 108/368 [00:24<00:38,  6.81it/s]
 30%|██▉       | 109/368 [00:24<00:36,  7.04it/s]
 30%|██▉       | 110/368 [00:25<01:46,  2.41it/s]
 30%|███       | 111/368 [00:25<01:24,  3.05it/s]
 30%|███       | 112/368 [00:25<01:08,  3.73it/s]
 31%|███       | 113/368 [00:25<00:58,  4.38it/s]
 31%|███       | 114/368 [00:25<00:50,  5.03it/s]
 31%|███▏      | 115/368 [00:26<00:45,  5.62it/s]
 32%|███▏      | 116/368 [00:26<00:40,  6.17it/s]
 32%|███▏      | 117/368 [00:26<00:38,  6.44it/s]
 32%|███▏      | 118/368 [00:26<00:36,  6.78it/s]
 32%|███▏      | 119/368 [00:26<00:35,  6.98it/s]
 33%|███▎      | 120/368 [00:27<01:29,  2.76it/s]
 33%|███▎      | 121/368 [00:27<01:13,  3.38it/s]
 33%|███▎      | 122/368 [00:27<01:00,  4.06it/s]
 33%|███▎      | 123/368 [00:27<00:51,  4.75it/s]
 34%|███▎      | 124/368 [00:27<00:45,  5.36it/s]
 34%|███▍      | 125/368 [00:28<00:41,  5.89it/s]
 34%|███▍      | 126/368 [00:28<00:38,  6.28it/s]
 35%|███▍      | 127/368 [00:28<00:36,  6.67it/s]
 35%|███▍      | 128/368 [00:28<00:34,  7.04it/s]
 35%|███▌      | 129/368 [00:28<00:33,  7.20it/s]
 35%|███▌      | 130/368 [00:29<01:25,  2.80it/s]
 36%|███▌      | 131/368 [00:29<01:09,  3.43it/s]
 36%|███▌      | 132/368 [00:29<00:57,  4.08it/s]
 36%|███▌      | 133/368 [00:29<00:50,  4.67it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.33it/s]
 37%|███▋      | 135/368 [00:30<00:40,  5.81it/s]
 37%|███▋      | 136/368 [00:30<00:37,  6.12it/s]
 37%|███▋      | 137/368 [00:30<00:35,  6.56it/s]
 38%|███▊      | 138/368 [00:30<00:33,  6.97it/s]
 38%|███▊      | 139/368 [00:30<00:31,  7.28it/s]
 38%|███▊      | 140/368 [00:31<01:35,  2.38it/s]
 38%|███▊      | 141/368 [00:31<01:15,  2.99it/s]
 39%|███▊      | 142/368 [00:31<01:02,  3.63it/s]
 39%|███▉      | 143/368 [00:32<00:51,  4.33it/s]
 39%|███▉      | 144/368 [00:32<00:44,  5.03it/s]
 39%|███▉      | 145/368 [00:32<00:39,  5.68it/s]
 40%|███▉      | 146/368 [00:32<00:35,  6.28it/s]
 40%|███▉      | 147/368 [00:32<00:32,  6.74it/s]
 40%|████      | 148/368 [00:32<00:30,  7.18it/s]
 40%|████      | 149/368 [00:32<00:29,  7.49it/s]
 41%|████      | 150/368 [00:33<01:29,  2.45it/s]
 41%|████      | 151/368 [00:34<01:10,  3.08it/s]
 41%|████▏     | 152/368 [00:34<00:57,  3.74it/s]
 42%|████▏     | 153/368 [00:34<00:48,  4.42it/s]
 42%|████▏     | 154/368 [00:34<00:42,  5.06it/s]
 42%|████▏     | 155/368 [00:34<00:37,  5.66it/s]
 42%|████▏     | 156/368 [00:34<00:33,  6.31it/s]
 43%|████▎     | 157/368 [00:34<00:32,  6.44it/s]
 43%|████▎     | 158/368 [00:34<00:30,  6.87it/s]
 43%|████▎     | 159/368 [00:35<00:29,  7.06it/s]
 43%|████▎     | 160/368 [00:36<01:24,  2.47it/s]
 44%|████▍     | 161/368 [00:36<01:07,  3.08it/s]
 44%|████▍     | 162/368 [00:36<00:54,  3.76it/s]
 44%|████▍     | 163/368 [00:36<00:46,  4.45it/s]
 45%|████▍     | 164/368 [00:36<00:39,  5.20it/s]
 45%|████▍     | 165/368 [00:36<00:34,  5.83it/s]
 45%|████▌     | 166/368 [00:36<00:32,  6.29it/s]
 45%|████▌     | 167/368 [00:36<00:30,  6.68it/s]
 46%|████▌     | 168/368 [00:37<00:28,  7.06it/s]
 46%|████▌     | 169/368 [00:37<00:27,  7.29it/s]
 46%|████▌     | 170/368 [00:38<01:10,  2.82it/s]
 46%|████▋     | 171/368 [00:38<00:56,  3.47it/s]
 47%|████▋     | 172/368 [00:38<00:47,  4.13it/s]
 47%|████▋     | 173/368 [00:38<00:40,  4.81it/s]
 47%|████▋     | 174/368 [00:38<00:35,  5.45it/s]
 48%|████▊     | 175/368 [00:38<00:31,  6.03it/s]
 48%|████▊     | 176/368 [00:38<00:29,  6.50it/s]
 48%|████▊     | 177/368 [00:38<00:27,  6.92it/s]
 48%|████▊     | 178/368 [00:39<00:26,  7.06it/s]
 49%|████▊     | 179/368 [00:39<00:25,  7.29it/s]
 49%|████▉     | 180/368 [00:40<01:07,  2.80it/s]
 49%|████▉     | 181/368 [00:40<00:54,  3.44it/s]
 49%|████▉     | 182/368 [00:40<00:45,  4.12it/s]
 50%|████▉     | 183/368 [00:40<00:38,  4.77it/s]
 50%|█████     | 184/368 [00:40<00:33,  5.50it/s]
 50%|█████     | 185/368 [00:40<00:30,  6.03it/s]
 51%|█████     | 186/368 [00:40<00:28,  6.46it/s]
 51%|█████     | 187/368 [00:41<00:26,  6.89it/s]
 51%|█████     | 188/368 [00:41<00:25,  7.01it/s]
 51%|█████▏    | 189/368 [00:41<00:24,  7.20it/s]
 52%|█████▏    | 190/368 [00:42<01:11,  2.51it/s]
 52%|█████▏    | 191/368 [00:42<00:56,  3.14it/s]
 52%|█████▏    | 192/368 [00:42<00:46,  3.81it/s]
 52%|█████▏    | 193/368 [00:42<00:38,  4.57it/s]
 53%|█████▎    | 194/368 [00:42<00:32,  5.28it/s]
 53%|█████▎    | 195/368 [00:42<00:29,  5.90it/s]
 53%|█████▎    | 196/368 [00:43<00:27,  6.32it/s]
 54%|█████▎    | 197/368 [00:43<00:25,  6.72it/s]
 54%|█████▍    | 198/368 [00:43<00:24,  7.02it/s]
 54%|█████▍    | 199/368 [00:43<00:23,  7.28it/s]
 54%|█████▍    | 200/368 [00:44<00:59,  2.82it/s]
 55%|█████▍    | 201/368 [00:44<00:48,  3.47it/s]
 55%|█████▍    | 202/368 [00:44<00:39,  4.17it/s]
 55%|█████▌    | 203/368 [00:44<00:33,  4.88it/s]
 55%|█████▌    | 204/368 [00:44<00:29,  5.51it/s]
 56%|█████▌    | 205/368 [00:44<00:27,  6.00it/s]
 56%|█████▌    | 206/368 [00:45<00:24,  6.52it/s]
 56%|█████▋    | 207/368 [00:45<00:23,  6.90it/s]
 57%|█████▋    | 208/368 [00:45<00:22,  7.19it/s]
 57%|█████▋    | 209/368 [00:45<00:21,  7.42it/s]
 57%|█████▋    | 210/368 [00:46<00:57,  2.77it/s]
 57%|█████▋    | 211/368 [00:46<00:45,  3.44it/s]
 58%|█████▊    | 212/368 [00:46<00:38,  4.08it/s]
 58%|█████▊    | 213/368 [00:46<00:33,  4.69it/s]
 58%|█████▊    | 214/368 [00:46<00:28,  5.36it/s]
 58%|█████▊    | 215/368 [00:46<00:26,  5.85it/s]
 59%|█████▊    | 216/368 [00:47<00:23,  6.36it/s]
 59%|█████▉    | 217/368 [00:47<00:22,  6.68it/s]
 59%|█████▉    | 218/368 [00:47<00:21,  7.08it/s]
 60%|█████▉    | 219/368 [00:47<00:20,  7.27it/s]
 60%|█████▉    | 220/368 [00:48<00:52,  2.81it/s]
 60%|██████    | 221/368 [00:48<00:43,  3.42it/s]
 60%|██████    | 222/368 [00:48<00:35,  4.09it/s]
 61%|██████    | 223/368 [00:48<00:30,  4.79it/s]
 61%|██████    | 224/368 [00:48<00:26,  5.51it/s]
 61%|██████    | 225/368 [00:48<00:23,  6.07it/s]
 61%|██████▏   | 226/368 [00:49<00:21,  6.56it/s]
 62%|██████▏   | 227/368 [00:49<00:20,  6.92it/s]
 62%|██████▏   | 228/368 [00:49<00:19,  7.05it/s]
 62%|██████▏   | 229/368 [00:49<00:19,  7.28it/s]
 62%|██████▎   | 230/368 [00:50<00:56,  2.44it/s]
 63%|██████▎   | 231/368 [00:50<00:44,  3.05it/s]
 63%|██████▎   | 232/368 [00:50<00:36,  3.68it/s]
 63%|██████▎   | 233/368 [00:50<00:31,  4.32it/s]
 64%|██████▎   | 234/368 [00:51<00:26,  4.98it/s]
 64%|██████▍   | 235/368 [00:51<00:23,  5.61it/s]
 64%|██████▍   | 236/368 [00:51<00:21,  6.12it/s]
 64%|██████▍   | 237/368 [00:51<00:20,  6.55it/s]
 65%|██████▍   | 238/368 [00:51<00:18,  6.89it/s]
 65%|██████▍   | 239/368 [00:51<00:18,  7.14it/s]
 65%|██████▌   | 240/368 [00:52<00:46,  2.78it/s]
 65%|██████▌   | 241/368 [00:52<00:37,  3.39it/s]
 66%|██████▌   | 242/368 [00:52<00:30,  4.11it/s]
 66%|██████▌   | 243/368 [00:53<00:26,  4.78it/s]
 66%|██████▋   | 244/368 [00:53<00:23,  5.31it/s]
 67%|██████▋   | 245/368 [00:53<00:21,  5.77it/s]
 67%|██████▋   | 246/368 [00:53<00:19,  6.38it/s]
 67%|██████▋   | 247/368 [00:53<00:18,  6.69it/s]
 67%|██████▋   | 248/368 [00:53<00:17,  6.97it/s]
 68%|██████▊   | 249/368 [00:53<00:16,  7.18it/s]
 68%|██████▊   | 250/368 [00:54<00:47,  2.50it/s]
 68%|██████▊   | 251/368 [00:54<00:37,  3.15it/s]
 68%|██████▊   | 252/368 [00:55<00:30,  3.80it/s]
 69%|██████▉   | 253/368 [00:55<00:25,  4.50it/s]
 69%|██████▉   | 254/368 [00:55<00:22,  5.16it/s]
 69%|██████▉   | 255/368 [00:55<00:19,  5.76it/s]
 70%|██████▉   | 256/368 [00:55<00:17,  6.34it/s]
 70%|██████▉   | 257/368 [00:55<00:16,  6.68it/s]
 70%|███████   | 258/368 [00:55<00:15,  6.93it/s]
 70%|███████   | 259/368 [00:55<00:15,  7.15it/s]
 71%|███████   | 260/368 [00:56<00:39,  2.74it/s]
 71%|███████   | 261/368 [00:56<00:31,  3.39it/s]
 71%|███████   | 262/368 [00:57<00:26,  4.05it/s]
 71%|███████▏  | 263/368 [00:57<00:22,  4.73it/s]
 72%|███████▏  | 264/368 [00:57<00:19,  5.37it/s]
 72%|███████▏  | 265/368 [00:57<00:17,  5.93it/s]
 72%|███████▏  | 266/368 [00:57<00:15,  6.43it/s]
 73%|███████▎  | 267/368 [00:57<00:14,  6.77it/s]
 73%|███████▎  | 268/368 [00:57<00:14,  6.95it/s]
 73%|███████▎  | 269/368 [00:58<00:13,  7.25it/s]
 73%|███████▎  | 270/368 [00:58<00:34,  2.80it/s]
 74%|███████▎  | 271/368 [00:59<00:28,  3.41it/s]
 74%|███████▍  | 272/368 [00:59<00:23,  4.07it/s]
 74%|███████▍  | 273/368 [00:59<00:20,  4.71it/s]
 74%|███████▍  | 274/368 [00:59<00:17,  5.35it/s]
 75%|███████▍  | 275/368 [00:59<00:15,  5.92it/s]
 75%|███████▌  | 276/368 [00:59<00:14,  6.28it/s]
 75%|███████▌  | 277/368 [00:59<00:13,  6.60it/s]
 76%|███████▌  | 278/368 [00:59<00:13,  6.86it/s]
 76%|███████▌  | 279/368 [01:00<00:12,  7.00it/s]
 76%|███████▌  | 280/368 [01:00<00:32,  2.73it/s]
 76%|███████▋  | 281/368 [01:01<00:25,  3.40it/s]
 77%|███████▋  | 282/368 [01:01<00:20,  4.12it/s]
 77%|███████▋  | 283/368 [01:01<00:17,  4.81it/s]
 77%|███████▋  | 284/368 [01:01<00:15,  5.40it/s]
 77%|███████▋  | 285/368 [01:01<00:13,  5.93it/s]
 78%|███████▊  | 286/368 [01:01<00:12,  6.47it/s]
 78%|███████▊  | 287/368 [01:01<00:12,  6.74it/s]
 78%|███████▊  | 288/368 [01:02<00:11,  6.88it/s]
 79%|███████▊  | 289/368 [01:02<00:10,  7.19it/s]
 79%|███████▉  | 290/368 [01:03<00:31,  2.46it/s]
 79%|███████▉  | 291/368 [01:03<00:24,  3.09it/s]
 79%|███████▉  | 292/368 [01:03<00:20,  3.77it/s]
 80%|███████▉  | 293/368 [01:03<00:16,  4.51it/s]
 80%|███████▉  | 294/368 [01:03<00:14,  5.07it/s]
 80%|████████  | 295/368 [01:03<00:12,  5.70it/s]
 80%|████████  | 296/368 [01:03<00:11,  6.23it/s]
 81%|████████  | 297/368 [01:04<00:10,  6.58it/s]
 81%|████████  | 298/368 [01:04<00:10,  6.78it/s]
 81%|████████▏ | 299/368 [01:04<00:09,  7.04it/s]
 82%|████████▏ | 300/368 [01:05<00:24,  2.78it/s]
 82%|████████▏ | 301/368 [01:05<00:19,  3.42it/s]
 82%|████████▏ | 302/368 [01:05<00:16,  4.06it/s]
 82%|████████▏ | 303/368 [01:05<00:13,  4.69it/s]
 83%|████████▎ | 304/368 [01:05<00:12,  5.30it/s]
 83%|████████▎ | 305/368 [01:05<00:10,  5.94it/s]
 83%|████████▎ | 306/368 [01:05<00:09,  6.34it/s]
 83%|████████▎ | 307/368 [01:06<00:09,  6.66it/s]
 84%|████████▎ | 308/368 [01:06<00:08,  6.85it/s]
 84%|████████▍ | 309/368 [01:06<00:08,  7.00it/s]
 84%|████████▍ | 310/368 [01:07<00:20,  2.77it/s]
 85%|████████▍ | 311/368 [01:07<00:16,  3.42it/s]
 85%|████████▍ | 312/368 [01:07<00:13,  4.14it/s]
 85%|████████▌ | 313/368 [01:07<00:11,  4.74it/s]
 85%|████████▌ | 314/368 [01:07<00:09,  5.43it/s]
 86%|████████▌ | 315/368 [01:07<00:08,  5.99it/s]
 86%|████████▌ | 316/368 [01:08<00:08,  6.39it/s]
 86%|████████▌ | 317/368 [01:08<00:07,  6.81it/s]
 86%|████████▋ | 318/368 [01:08<00:07,  6.99it/s]
 87%|████████▋ | 319/368 [01:08<00:06,  7.31it/s]
 87%|████████▋ | 320/368 [01:09<00:17,  2.78it/s]
 87%|████████▋ | 321/368 [01:09<00:13,  3.43it/s]
 88%|████████▊ | 322/368 [01:09<00:11,  4.09it/s]
 88%|████████▊ | 323/368 [01:09<00:09,  4.75it/s]
 88%|████████▊ | 324/368 [01:09<00:08,  5.36it/s]
 88%|████████▊ | 325/368 [01:09<00:07,  5.93it/s]
 89%|████████▊ | 326/368 [01:10<00:06,  6.36it/s]
 89%|████████▉ | 327/368 [01:10<00:06,  6.76it/s]
 89%|████████▉ | 328/368 [01:10<00:05,  7.15it/s]
 89%|████████▉ | 329/368 [01:10<00:05,  7.50it/s]
 90%|████████▉ | 330/368 [01:11<00:13,  2.78it/s]
 90%|████████▉ | 331/368 [01:11<00:10,  3.43it/s]
 90%|█████████ | 332/368 [01:11<00:08,  4.08it/s]
 90%|█████████ | 333/368 [01:11<00:07,  4.71it/s]
 91%|█████████ | 334/368 [01:11<00:06,  5.34it/s]
 91%|█████████ | 335/368 [01:12<00:05,  5.90it/s]
 91%|█████████▏| 336/368 [01:12<00:04,  6.42it/s]
 92%|█████████▏| 337/368 [01:12<00:04,  6.81it/s]
 92%|█████████▏| 338/368 [01:12<00:04,  6.89it/s]
 92%|█████████▏| 339/368 [01:12<00:04,  7.23it/s]
 92%|█████████▏| 340/368 [01:13<00:09,  2.81it/s]
 93%|█████████▎| 341/368 [01:13<00:07,  3.46it/s]
 93%|█████████▎| 342/368 [01:13<00:06,  4.17it/s]
 93%|█████████▎| 343/368 [01:13<00:05,  4.85it/s]
 93%|█████████▎| 344/368 [01:13<00:04,  5.50it/s]
 94%|█████████▍| 345/368 [01:14<00:03,  6.00it/s]
 94%|█████████▍| 346/368 [01:14<00:03,  6.37it/s]
 94%|█████████▍| 347/368 [01:14<00:03,  6.82it/s]
 95%|█████████▍| 348/368 [01:14<00:02,  7.14it/s]
 95%|█████████▍| 349/368 [01:14<00:02,  7.28it/s]
 95%|█████████▌| 350/368 [01:15<00:06,  2.80it/s]
 95%|█████████▌| 351/368 [01:15<00:04,  3.42it/s]
 96%|█████████▌| 352/368 [01:15<00:03,  4.07it/s]
 96%|█████████▌| 353/368 [01:15<00:03,  4.75it/s]
 96%|█████████▌| 354/368 [01:15<00:02,  5.42it/s]
 96%|█████████▋| 355/368 [01:16<00:02,  6.01it/s]
 97%|█████████▋| 356/368 [01:16<00:01,  6.42it/s]
 97%|█████████▋| 357/368 [01:16<00:01,  6.72it/s]
 97%|█████████▋| 358/368 [01:16<00:01,  6.98it/s]
 98%|█████████▊| 359/368 [01:16<00:01,  7.18it/s]
 98%|█████████▊| 360/368 [01:17<00:02,  2.78it/s]
 98%|█████████▊| 361/368 [01:17<00:02,  3.45it/s]
 98%|█████████▊| 362/368 [01:17<00:01,  4.17it/s]
 99%|█████████▊| 363/368 [01:17<00:01,  4.88it/s]
 99%|█████████▉| 364/368 [01:17<00:00,  5.58it/s]
 99%|█████████▉| 365/368 [01:18<00:00,  6.17it/s]
 99%|█████████▉| 366/368 [01:18<00:00,  6.65it/s]
100%|█████████▉| 367/368 [01:18<00:00,  7.07it/s]
100%|██████████| 368/368 [01:19<00:00,  4.65it/s]

  0%|          | 0/368 [00:00<?, ?it/s]
  0%|          | 1/368 [00:00<04:08,  1.48it/s]
  1%|          | 2/368 [00:00<03:12,  1.90it/s]
  1%|          | 3/368 [00:01<02:34,  2.37it/s]
  1%|          | 4/368 [00:01<02:07,  2.86it/s]
  1%|▏         | 5/368 [00:01<01:45,  3.45it/s]
  2%|▏         | 6/368 [00:01<01:34,  3.82it/s]
  2%|▏         | 7/368 [00:01<01:26,  4.18it/s]
  2%|▏         | 8/368 [00:01<01:16,  4.72it/s]
  2%|▏         | 9/368 [00:02<01:12,  4.95it/s]
  3%|▎         | 10/368 [00:03<02:34,  2.32it/s]
  3%|▎         | 11/368 [00:03<02:04,  2.88it/s]
  3%|▎         | 12/368 [00:03<01:40,  3.56it/s]
  4%|▎         | 13/368 [00:03<01:26,  4.11it/s]
  4%|▍         | 14/368 [00:03<01:13,  4.80it/s]
  4%|▍         | 15/368 [00:03<01:09,  5.05it/s]
  4%|▍         | 16/368 [00:03<01:06,  5.31it/s]
  5%|▍         | 17/368 [00:04<01:02,  5.62it/s]
  5%|▍         | 18/368 [00:04<00:57,  6.12it/s]
  5%|▌         | 19/368 [00:04<00:59,  5.89it/s]
  5%|▌         | 20/368 [00:05<02:25,  2.39it/s]
  6%|▌         | 21/368 [00:05<01:57,  2.95it/s]
  6%|▌         | 22/368 [00:05<01:35,  3.64it/s]
  6%|▋         | 23/368 [00:05<01:18,  4.37it/s]
  7%|▋         | 24/368 [00:05<01:07,  5.08it/s]
  7%|▋         | 25/368 [00:06<01:00,  5.71it/s]
  7%|▋         | 26/368 [00:06<00:58,  5.81it/s]
  7%|▋         | 27/368 [00:06<00:54,  6.21it/s]
  8%|▊         | 28/368 [00:06<00:51,  6.64it/s]
  8%|▊         | 29/368 [00:06<00:47,  7.10it/s]
  8%|▊         | 30/368 [00:07<02:17,  2.47it/s]
  8%|▊         | 31/368 [00:07<01:48,  3.12it/s]
  9%|▊         | 32/368 [00:07<01:30,  3.70it/s]
  9%|▉         | 33/368 [00:08<01:15,  4.41it/s]
  9%|▉         | 34/368 [00:08<01:08,  4.91it/s]
 10%|▉         | 35/368 [00:08<00:59,  5.55it/s]
 10%|▉         | 36/368 [00:08<00:53,  6.18it/s]
 10%|█         | 37/368 [00:08<00:49,  6.65it/s]
 10%|█         | 38/368 [00:08<00:50,  6.54it/s]
 11%|█         | 39/368 [00:08<00:48,  6.78it/s]
 11%|█         | 40/368 [00:09<02:11,  2.49it/s]
 11%|█         | 41/368 [00:09<01:44,  3.12it/s]
 11%|█▏        | 42/368 [00:10<01:25,  3.81it/s]
 12%|█▏        | 43/368 [00:10<01:13,  4.45it/s]
 12%|█▏        | 44/368 [00:10<01:03,  5.10it/s]
 12%|█▏        | 45/368 [00:10<00:55,  5.80it/s]
 12%|█▎        | 46/368 [00:10<00:54,  5.94it/s]
 13%|█▎        | 47/368 [00:10<00:48,  6.59it/s]
 13%|█▎        | 48/368 [00:10<00:46,  6.94it/s]
 13%|█▎        | 49/368 [00:10<00:44,  7.23it/s]
 14%|█▎        | 50/368 [00:12<02:07,  2.50it/s]
 14%|█▍        | 51/368 [00:12<01:40,  3.14it/s]
 14%|█▍        | 52/368 [00:12<01:24,  3.74it/s]
 14%|█▍        | 53/368 [00:12<01:11,  4.39it/s]
 15%|█▍        | 54/368 [00:12<01:01,  5.07it/s]
 15%|█▍        | 55/368 [00:12<00:54,  5.72it/s]
 15%|█▌        | 56/368 [00:12<00:50,  6.18it/s]
 15%|█▌        | 57/368 [00:12<00:46,  6.66it/s]
 16%|█▌        | 58/368 [00:13<00:44,  6.98it/s]
 16%|█▌        | 59/368 [00:13<00:41,  7.36it/s]
 16%|█▋        | 60/368 [00:14<02:01,  2.54it/s]
 17%|█▋        | 61/368 [00:14<01:37,  3.14it/s]
 17%|█▋        | 62/368 [00:14<01:23,  3.67it/s]
 17%|█▋        | 63/368 [00:14<01:09,  4.41it/s]
 17%|█▋        | 64/368 [00:14<01:00,  5.07it/s]
 18%|█▊        | 65/368 [00:14<00:53,  5.66it/s]
 18%|█▊        | 66/368 [00:14<00:49,  6.13it/s]
 18%|█▊        | 67/368 [00:15<00:49,  6.13it/s]
 18%|█▊        | 68/368 [00:15<00:45,  6.60it/s]
 19%|█▉        | 69/368 [00:15<00:43,  6.84it/s]
 19%|█▉        | 70/368 [00:16<02:02,  2.43it/s]
 19%|█▉        | 71/368 [00:16<01:36,  3.08it/s]
 20%|█▉        | 72/368 [00:16<01:20,  3.65it/s]
 20%|█▉        | 73/368 [00:16<01:09,  4.26it/s]
 20%|██        | 74/368 [00:16<00:59,  4.93it/s]
 20%|██        | 75/368 [00:17<00:52,  5.63it/s]
 21%|██        | 76/368 [00:17<00:49,  5.85it/s]
 21%|██        | 77/368 [00:17<00:45,  6.35it/s]
 21%|██        | 78/368 [00:17<00:43,  6.72it/s]
 21%|██▏       | 79/368 [00:17<00:40,  7.10it/s]
 22%|██▏       | 80/368 [00:18<01:43,  2.79it/s]
 22%|██▏       | 81/368 [00:18<01:24,  3.41it/s]
 22%|██▏       | 82/368 [00:18<01:09,  4.14it/s]
 23%|██▎       | 83/368 [00:18<00:58,  4.85it/s]
 23%|██▎       | 84/368 [00:19<00:51,  5.49it/s]
 23%|██▎       | 85/368 [00:19<00:46,  6.06it/s]
 23%|██▎       | 86/368 [00:19<00:42,  6.62it/s]
 24%|██▎       | 87/368 [00:19<00:40,  7.01it/s]
 24%|██▍       | 88/368 [00:19<00:39,  7.10it/s]
 24%|██▍       | 89/368 [00:19<00:37,  7.42it/s]
 24%|██▍       | 90/368 [00:20<01:38,  2.82it/s]
 25%|██▍       | 91/368 [00:20<01:19,  3.50it/s]
 25%|██▌       | 92/368 [00:20<01:05,  4.21it/s]
 25%|██▌       | 93/368 [00:20<00:56,  4.85it/s]
 26%|██▌       | 94/368 [00:21<00:50,  5.48it/s]
 26%|██▌       | 95/368 [00:21<00:44,  6.08it/s]
 26%|██▌       | 96/368 [00:21<00:41,  6.62it/s]
 26%|██▋       | 97/368 [00:21<00:38,  7.05it/s]
 27%|██▋       | 98/368 [00:21<00:37,  7.29it/s]
 27%|██▋       | 99/368 [00:21<00:36,  7.38it/s]
 27%|██▋       | 100/368 [00:22<01:47,  2.50it/s]
 27%|██▋       | 101/368 [00:22<01:24,  3.15it/s]
 28%|██▊       | 102/368 [00:22<01:08,  3.87it/s]
 28%|██▊       | 103/368 [00:23<00:57,  4.64it/s]
 28%|██▊       | 104/368 [00:23<00:49,  5.34it/s]
 29%|██▊       | 105/368 [00:23<00:44,  5.94it/s]
 29%|██▉       | 106/368 [00:23<00:41,  6.34it/s]
 29%|██▉       | 107/368 [00:23<00:38,  6.71it/s]
 29%|██▉       | 108/368 [00:23<00:37,  6.90it/s]
 30%|██▉       | 109/368 [00:23<00:37,  6.92it/s]
 30%|██▉       | 110/368 [00:24<01:43,  2.50it/s]
 30%|███       | 111/368 [00:24<01:23,  3.09it/s]
 30%|███       | 112/368 [00:25<01:07,  3.80it/s]
 31%|███       | 113/368 [00:25<00:56,  4.54it/s]
 31%|███       | 114/368 [00:25<00:48,  5.24it/s]
 31%|███▏      | 115/368 [00:25<00:43,  5.84it/s]
 32%|███▏      | 116/368 [00:25<00:40,  6.28it/s]
 32%|███▏      | 117/368 [00:25<00:37,  6.67it/s]
 32%|███▏      | 118/368 [00:25<00:36,  6.85it/s]
 32%|███▏      | 119/368 [00:25<00:34,  7.19it/s]
 33%|███▎      | 120/368 [00:26<01:40,  2.47it/s]
 33%|███▎      | 121/368 [00:27<01:19,  3.11it/s]
 33%|███▎      | 122/368 [00:27<01:04,  3.82it/s]
 33%|███▎      | 123/368 [00:27<00:54,  4.53it/s]
 34%|███▎      | 124/368 [00:27<00:47,  5.09it/s]
 34%|███▍      | 125/368 [00:27<00:42,  5.74it/s]
 34%|███▍      | 126/368 [00:27<00:38,  6.21it/s]
 35%|███▍      | 127/368 [00:27<00:36,  6.56it/s]
 35%|███▍      | 128/368 [00:28<00:35,  6.74it/s]
 35%|███▌      | 129/368 [00:28<00:33,  7.12it/s]
 35%|███▌      | 130/368 [00:28<01:25,  2.80it/s]
 36%|███▌      | 131/368 [00:29<01:08,  3.44it/s]
 36%|███▌      | 132/368 [00:29<00:56,  4.16it/s]
 36%|███▌      | 133/368 [00:29<00:48,  4.81it/s]
 36%|███▋      | 134/368 [00:29<00:43,  5.33it/s]
 37%|███▋      | 135/368 [00:29<00:39,  5.88it/s]
 37%|███▋      | 136/368 [00:29<00:36,  6.29it/s]
 37%|███▋      | 137/368 [00:29<00:35,  6.48it/s]
 38%|███▊      | 138/368 [00:30<00:33,  6.87it/s]
 38%|███▊      | 139/368 [00:30<00:32,  7.11it/s]
 38%|███▊      | 140/368 [00:31<01:33,  2.44it/s]
 38%|███▊      | 141/368 [00:31<01:14,  3.07it/s]
 39%|███▊      | 142/368 [00:31<01:00,  3.77it/s]
 39%|███▉      | 143/368 [00:31<00:50,  4.45it/s]
 39%|███▉      | 144/368 [00:31<00:44,  5.09it/s]
 39%|███▉      | 145/368 [00:31<00:39,  5.62it/s]
 40%|███▉      | 146/368 [00:31<00:36,  6.15it/s]
 40%|███▉      | 147/368 [00:32<00:33,  6.58it/s]
 40%|████      | 148/368 [00:32<00:31,  7.01it/s]
 40%|████      | 149/368 [00:32<00:30,  7.11it/s]
 41%|████      | 150/368 [00:33<01:18,  2.79it/s]
 41%|████      | 151/368 [00:33<01:03,  3.39it/s]
 41%|████▏     | 152/368 [00:33<00:52,  4.08it/s]
 42%|████▏     | 153/368 [00:33<00:44,  4.79it/s]
 42%|████▏     | 154/368 [00:33<00:39,  5.43it/s]
 42%|████▏     | 155/368 [00:33<00:35,  6.02it/s]
 42%|████▏     | 156/368 [00:34<00:33,  6.40it/s]
 43%|████▎     | 157/368 [00:34<00:31,  6.77it/s]
 43%|████▎     | 158/368 [00:34<00:30,  6.89it/s]
 43%|████▎     | 159/368 [00:34<00:29,  7.06it/s]
 43%|████▎     | 160/368 [00:35<01:25,  2.42it/s]
 44%|████▍     | 161/368 [00:35<01:07,  3.07it/s]
 44%|████▍     | 162/368 [00:35<00:54,  3.79it/s]
 44%|████▍     | 163/368 [00:35<00:45,  4.52it/s]
 45%|████▍     | 164/368 [00:35<00:40,  5.07it/s]
 45%|████▍     | 165/368 [00:36<00:36,  5.49it/s]
 45%|████▌     | 166/368 [00:36<00:33,  6.08it/s]
 45%|████▌     | 167/368 [00:36<00:31,  6.45it/s]
 46%|████▌     | 168/368 [00:36<00:28,  7.01it/s]
 46%|████▌     | 169/368 [00:36<00:27,  7.32it/s]
 46%|████▌     | 170/368 [00:37<01:10,  2.80it/s]
 46%|████▋     | 171/368 [00:37<00:57,  3.44it/s]
 47%|████▋     | 172/368 [00:37<00:47,  4.16it/s]
 47%|████▋     | 173/368 [00:37<00:39,  4.91it/s]
 47%|████▋     | 174/368 [00:37<00:34,  5.60it/s]
 48%|████▊     | 175/368 [00:38<00:31,  6.10it/s]
 48%|████▊     | 176/368 [00:38<00:29,  6.56it/s]
 48%|████▊     | 177/368 [00:38<00:27,  6.87it/s]
 48%|████▊     | 178/368 [00:38<00:26,  7.25it/s]
 49%|████▊     | 179/368 [00:38<00:25,  7.40it/s]
 49%|████▉     | 180/368 [00:39<01:06,  2.81it/s]
 49%|████▉     | 181/368 [00:39<00:54,  3.45it/s]
 49%|████▉     | 182/368 [00:39<00:44,  4.17it/s]
 50%|████▉     | 183/368 [00:39<00:38,  4.85it/s]
 50%|█████     | 184/368 [00:39<00:32,  5.58it/s]
 50%|█████     | 185/368 [00:40<00:29,  6.12it/s]
 51%|█████     | 186/368 [00:40<00:27,  6.55it/s]
 51%|█████     | 187/368 [00:40<00:26,  6.91it/s]
 51%|█████     | 188/368 [00:40<00:24,  7.20it/s]
 51%|█████▏    | 189/368 [00:40<00:24,  7.39it/s]
 52%|█████▏    | 190/368 [00:41<01:03,  2.79it/s]
 52%|█████▏    | 191/368 [00:41<00:51,  3.43it/s]
 52%|█████▏    | 192/368 [00:41<00:42,  4.14it/s]
 52%|█████▏    | 193/368 [00:41<00:35,  4.87it/s]
 53%|█████▎    | 194/368 [00:42<00:31,  5.49it/s]
 53%|█████▎    | 195/368 [00:42<00:28,  6.02it/s]
 53%|█████▎    | 196/368 [00:42<00:26,  6.46it/s]
 54%|█████▎    | 197/368 [00:42<00:24,  6.88it/s]
 54%|█████▍    | 198/368 [00:42<00:23,  7.23it/s]
 54%|█████▍    | 199/368 [00:42<00:23,  7.34it/s]
 54%|█████▍    | 200/368 [00:43<01:00,  2.79it/s]
 55%|█████▍    | 201/368 [00:43<00:49,  3.38it/s]
 55%|█████▍    | 202/368 [00:43<00:40,  4.12it/s]
 55%|█████▌    | 203/368 [00:43<00:35,  4.69it/s]
 55%|█████▌    | 204/368 [00:44<00:31,  5.25it/s]
 56%|█████▌    | 205/368 [00:44<00:28,  5.76it/s]
 56%|█████▌    | 206/368 [00:44<00:25,  6.29it/s]
 56%|█████▋    | 207/368 [00:44<00:23,  6.76it/s]
 57%|█████▋    | 208/368 [00:44<00:22,  7.05it/s]
 57%|█████▋    | 209/368 [00:44<00:22,  7.22it/s]
 57%|█████▋    | 210/368 [00:45<00:56,  2.78it/s]
 57%|█████▋    | 211/368 [00:45<00:46,  3.37it/s]
 58%|█████▊    | 212/368 [00:45<00:38,  4.03it/s]
 58%|█████▊    | 213/368 [00:45<00:32,  4.75it/s]
 58%|█████▊    | 214/368 [00:46<00:29,  5.17it/s]
 58%|█████▊    | 215/368 [00:46<00:26,  5.77it/s]
 59%|█████▊    | 216/368 [00:46<00:24,  6.16it/s]
 59%|█████▉    | 217/368 [00:46<00:23,  6.46it/s]
 59%|█████▉    | 218/368 [00:46<00:21,  6.88it/s]
 60%|█████▉    | 219/368 [00:46<00:20,  7.15it/s]
 60%|█████▉    | 220/368 [00:47<00:52,  2.81it/s]
 60%|██████    | 221/368 [00:47<00:42,  3.45it/s]
 60%|██████    | 222/368 [00:47<00:34,  4.18it/s]
 61%|██████    | 223/368 [00:48<00:29,  4.91it/s]
 61%|██████    | 224/368 [00:48<00:26,  5.52it/s]
 61%|██████    | 225/368 [00:48<00:23,  6.01it/s]
 61%|██████▏   | 226/368 [00:48<00:21,  6.46it/s]
 62%|██████▏   | 227/368 [00:48<00:20,  6.82it/s]
 62%|██████▏   | 228/368 [00:48<00:20,  6.93it/s]
 62%|██████▏   | 229/368 [00:48<00:19,  7.11it/s]
 62%|██████▎   | 230/368 [00:49<00:55,  2.48it/s]
 63%|██████▎   | 231/368 [00:49<00:43,  3.12it/s]
 63%|██████▎   | 232/368 [00:50<00:35,  3.85it/s]
 63%|██████▎   | 233/368 [00:50<00:29,  4.57it/s]
 64%|██████▎   | 234/368 [00:50<00:26,  5.15it/s]
 64%|██████▍   | 235/368 [00:50<00:22,  5.84it/s]
 64%|██████▍   | 236/368 [00:50<00:21,  6.23it/s]
 64%|██████▍   | 237/368 [00:50<00:19,  6.63it/s]
 65%|██████▍   | 238/368 [00:50<00:18,  6.94it/s]
 65%|██████▍   | 239/368 [00:50<00:18,  7.16it/s]
 65%|██████▌   | 240/368 [00:52<00:51,  2.47it/s]
 65%|██████▌   | 241/368 [00:52<00:40,  3.11it/s]
 66%|██████▌   | 242/368 [00:52<00:33,  3.82it/s]
 66%|██████▌   | 243/368 [00:52<00:27,  4.53it/s]
 66%|██████▋   | 244/368 [00:52<00:23,  5.24it/s]
 67%|██████▋   | 245/368 [00:52<00:20,  5.89it/s]
 67%|██████▋   | 246/368 [00:52<00:19,  6.13it/s]
 67%|██████▋   | 247/368 [00:52<00:18,  6.51it/s]
 67%|██████▋   | 248/368 [00:53<00:17,  6.85it/s]
 68%|██████▊   | 249/368 [00:53<00:16,  7.11it/s]
 68%|██████▊   | 250/368 [00:54<00:42,  2.79it/s]
 68%|██████▊   | 251/368 [00:54<00:34,  3.40it/s]
 68%|██████▊   | 252/368 [00:54<00:28,  4.12it/s]
 69%|██████▉   | 253/368 [00:54<00:24,  4.79it/s]
 69%|██████▉   | 254/368 [00:54<00:21,  5.41it/s]
 69%|██████▉   | 255/368 [00:54<00:19,  5.83it/s]
 70%|██████▉   | 256/368 [00:54<00:17,  6.31it/s]
 70%|██████▉   | 257/368 [00:54<00:16,  6.73it/s]
 70%|███████   | 258/368 [00:55<00:15,  7.13it/s]
 70%|███████   | 259/368 [00:55<00:14,  7.36it/s]
 71%|███████   | 260/368 [00:56<00:38,  2.82it/s]
 71%|███████   | 261/368 [00:56<00:30,  3.48it/s]
 71%|███████   | 262/368 [00:56<00:25,  4.15it/s]
 71%|███████▏  | 263/368 [00:56<00:21,  4.85it/s]
 72%|███████▏  | 264/368 [00:56<00:19,  5.46it/s]
 72%|███████▏  | 265/368 [00:56<00:16,  6.13it/s]
 72%|███████▏  | 266/368 [00:56<00:15,  6.58it/s]
 73%|███████▎  | 267/368 [00:56<00:14,  7.01it/s]
 73%|███████▎  | 268/368 [00:57<00:13,  7.26it/s]
 73%|███████▎  | 269/368 [00:57<00:13,  7.27it/s]
 73%|███████▎  | 270/368 [00:58<00:40,  2.43it/s]
 74%|███████▎  | 271/368 [00:58<00:31,  3.06it/s]
 74%|███████▍  | 272/368 [00:58<00:25,  3.73it/s]
 74%|███████▍  | 273/368 [00:58<00:21,  4.40it/s]
 74%|███████▍  | 274/368 [00:58<00:19,  4.92it/s]
 75%|███████▍  | 275/368 [00:58<00:16,  5.54it/s]
 75%|███████▌  | 276/368 [00:59<00:15,  6.13it/s]
 75%|███████▌  | 277/368 [00:59<00:13,  6.60it/s]
 76%|███████▌  | 278/368 [00:59<00:12,  7.04it/s]
 76%|███████▌  | 279/368 [00:59<00:12,  7.09it/s]
 76%|███████▌  | 280/368 [01:00<00:31,  2.77it/s]
 76%|███████▋  | 281/368 [01:00<00:25,  3.40it/s]
 77%|███████▋  | 282/368 [01:00<00:21,  4.08it/s]
 77%|███████▋  | 283/368 [01:00<00:17,  4.76it/s]
 77%|███████▋  | 284/368 [01:00<00:15,  5.47it/s]
 77%|███████▋  | 285/368 [01:00<00:13,  6.03it/s]
 78%|███████▊  | 286/368 [01:01<00:13,  6.30it/s]
 78%|███████▊  | 287/368 [01:01<00:11,  6.75it/s]
 78%|███████▊  | 288/368 [01:01<00:11,  7.08it/s]
 79%|███████▊  | 289/368 [01:01<00:10,  7.31it/s]
 79%|███████▉  | 290/368 [01:02<00:28,  2.76it/s]
 79%|███████▉  | 291/368 [01:02<00:22,  3.36it/s]
 79%|███████▉  | 292/368 [01:02<00:18,  4.02it/s]
 80%|███████▉  | 293/368 [01:02<00:16,  4.68it/s]
 80%|███████▉  | 294/368 [01:02<00:14,  5.25it/s]
 80%|████████  | 295/368 [01:03<00:12,  5.75it/s]
 80%|████████  | 296/368 [01:03<00:11,  6.16it/s]
 81%|████████  | 297/368 [01:03<00:10,  6.58it/s]
 81%|████████  | 298/368 [01:03<00:10,  6.93it/s]
 81%|████████▏ | 299/368 [01:03<00:09,  7.24it/s]
 82%|████████▏ | 300/368 [01:04<00:24,  2.79it/s]
 82%|████████▏ | 301/368 [01:04<00:19,  3.42it/s]
 82%|████████▏ | 302/368 [01:04<00:16,  4.09it/s]
 82%|████████▏ | 303/368 [01:04<00:13,  4.75it/s]
 83%|████████▎ | 304/368 [01:04<00:11,  5.37it/s]
 83%|████████▎ | 305/368 [01:05<00:10,  5.92it/s]
 83%|████████▎ | 306/368 [01:05<00:09,  6.23it/s]
 83%|████████▎ | 307/368 [01:05<00:09,  6.65it/s]
 84%|████████▎ | 308/368 [01:05<00:08,  6.89it/s]
 84%|████████▍ | 309/368 [01:05<00:08,  7.19it/s]
 84%|████████▍ | 310/368 [01:06<00:23,  2.47it/s]
 85%|████████▍ | 311/368 [01:06<00:18,  3.13it/s]
 85%|████████▍ | 312/368 [01:06<00:14,  3.84it/s]
 85%|████████▌ | 313/368 [01:07<00:12,  4.51it/s]
 85%|████████▌ | 314/368 [01:07<00:10,  5.13it/s]
 86%|████████▌ | 315/368 [01:07<00:09,  5.74it/s]
 86%|████████▌ | 316/368 [01:07<00:08,  6.30it/s]
 86%|████████▌ | 317/368 [01:07<00:07,  6.75it/s]
 86%|████████▋ | 318/368 [01:07<00:07,  7.02it/s]
 87%|████████▋ | 319/368 [01:07<00:06,  7.31it/s]
 87%|████████▋ | 320/368 [01:08<00:17,  2.79it/s]
 87%|████████▋ | 321/368 [01:08<00:13,  3.44it/s]
 88%|████████▊ | 322/368 [01:08<00:11,  4.13it/s]
 88%|████████▊ | 323/368 [01:09<00:09,  4.82it/s]
 88%|████████▊ | 324/368 [01:09<00:07,  5.54it/s]
 88%|████████▊ | 325/368 [01:09<00:07,  6.07it/s]
 89%|████████▊ | 326/368 [01:09<00:06,  6.62it/s]
 89%|████████▉ | 327/368 [01:09<00:05,  7.05it/s]
 89%|████████▉ | 328/368 [01:09<00:05,  7.09it/s]
 89%|████████▉ | 329/368 [01:09<00:05,  7.33it/s]
 90%|████████▉ | 330/368 [01:10<00:13,  2.83it/s]
 90%|████████▉ | 331/368 [01:10<00:10,  3.48it/s]
 90%|█████████ | 332/368 [01:10<00:08,  4.19it/s]
 90%|█████████ | 333/368 [01:11<00:07,  4.84it/s]
 91%|█████████ | 334/368 [01:11<00:06,  5.42it/s]
 91%|█████████ | 335/368 [01:11<00:05,  5.93it/s]
 91%|█████████▏| 336/368 [01:11<00:05,  6.28it/s]
 92%|█████████▏| 337/368 [01:11<00:04,  6.73it/s]
 92%|█████████▏| 338/368 [01:11<00:04,  7.03it/s]
 92%|█████████▏| 339/368 [01:11<00:03,  7.28it/s]
 92%|█████████▏| 340/368 [01:12<00:10,  2.76it/s]
 93%|█████████▎| 341/368 [01:12<00:08,  3.35it/s]
 93%|█████████▎| 342/368 [01:12<00:06,  4.08it/s]
 93%|█████████▎| 343/368 [01:13<00:05,  4.80it/s]
 93%|█████████▎| 344/368 [01:13<00:04,  5.40it/s]
 94%|█████████▍| 345/368 [01:13<00:03,  5.97it/s]
 94%|█████████▍| 346/368 [01:13<00:03,  6.23it/s]
 94%|█████████▍| 347/368 [01:13<00:03,  6.63it/s]
 95%|█████████▍| 348/368 [01:13<00:02,  6.78it/s]
 95%|█████████▍| 349/368 [01:13<00:02,  6.92it/s]
 95%|█████████▌| 350/368 [01:14<00:06,  2.70it/s]
 95%|█████████▌| 351/368 [01:14<00:05,  3.33it/s]
 96%|█████████▌| 352/368 [01:15<00:03,  4.05it/s]
 96%|█████████▌| 353/368 [01:15<00:03,  4.73it/s]
 96%|█████████▌| 354/368 [01:15<00:02,  5.31it/s]
 96%|█████████▋| 355/368 [01:15<00:02,  5.82it/s]
 97%|█████████▋| 356/368 [01:15<00:01,  6.34it/s]
 97%|█████████▋| 357/368 [01:15<00:01,  6.74it/s]
 97%|█████████▋| 358/368 [01:15<00:01,  6.99it/s]
 98%|█████████▊| 359/368 [01:15<00:01,  7.26it/s]
 98%|█████████▊| 360/368 [01:16<00:02,  2.78it/s]
 98%|█████████▊| 361/368 [01:16<00:02,  3.42it/s]
 98%|█████████▊| 362/368 [01:17<00:01,  4.08it/s]
 99%|█████████▊| 363/368 [01:17<00:01,  4.82it/s]
 99%|█████████▉| 364/368 [01:17<00:00,  5.50it/s]
 99%|█████████▉| 365/368 [01:17<00:00,  6.07it/s]
 99%|█████████▉| 366/368 [01:17<00:00,  6.48it/s]
100%|█████████▉| 367/368 [01:17<00:00,  6.91it/s]
100%|██████████| 368/368 [01:18<00:00,  4.68it/s]
100%|██████████| 368/368 [01:17<00:00,  4.77it/s]
dev_score = predictor_mrpc_skopt.evaluate(dev_data, metrics=['acc', 'f1'])
print('Best Config = {}'.format(predictor_mrpc_skopt.results['best_config']))
print('Total Time = {}s'.format(predictor_mrpc_skopt.results['total_time']))
print('Accuracy = {:.2f}%'.format(dev_score['acc'] * 100))
print('F1 = {:.2f}%'.format(dev_score['f1'] * 100))
Best Config = {'search_space▁model.network.agg_net.data_dropout▁choice': 1, 'search_space▁model.network.agg_net.num_layers': 1, 'search_space▁optimization.layerwise_lr_decay': 0.8833755385649641, 'search_space▁optimization.lr': 6.745308680620604e-05, 'search_space▁optimization.warmup_portion': 0.15989935817644294}
Total Time = 415.89091873168945s
Accuracy = 83.33%
F1 = 88.47%
predictions = predictor_mrpc_skopt.predict(dev_data)
prediction1 = predictor_mrpc_skopt.predict({'sentence1': [sentence1], 'sentence2': [sentence2]})
prediction1_prob = predictor_mrpc_skopt.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence2]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence2))
print('Prediction = "{}"'.format(prediction1[0] == 1))
print('Prob = "{}"'.format(prediction1_prob[0]))
print('')
prediction2 = predictor_mrpc_skopt.predict({'sentence1': [sentence1], 'sentence2': [sentence3]})
prediction2_prob = predictor_mrpc_skopt.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence3]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence3))
print('Prediction = "{}"'.format(prediction2[0] == 1))
print('Prob = "{}"'.format(prediction2_prob[0]))
A = "It is simple to solve NLP problems with AutoGluon."
B = "With AutoGluon, it is easy to solve NLP problems."
Prediction = "True"
Prob = "[0.0024036  0.99759644]"

A = "It is simple to solve NLP problems with AutoGluon."
B = "AutoGluon gives you a very bad user experience for solving NLP problems."
Prediction = "False"
Prob = "[0.78609246 0.21390754]"

Use Hyperband¶

Alternatively, we can instead use the Hyperband algorithm for HPO. Hyperband will try multiple hyperparameter configurations simultaneously and will early stop training under poor configurations to free compute resources for exploring new hyperparameter configurations. It may be able to identify good hyperparameter values more quickly than other search strategies in your applications.

hyperparameters['hpo_params'] = {
    'scheduler': 'hyperband',
    'search_strategy': 'random',
    'max_t': 40,  # Number of epochs per training run of one neural network
}
predictor_mrpc_hyperband = task.fit(train_data, label='label',
                                    hyperparameters=hyperparameters,
                                    time_limits=60 * 6, ngpus_per_trial=1, seed=123,
                                    output_directory='./ag_mrpc_custom_space_hyperband')
2020-12-08 20:34:21,669 - root - INFO - All Logs will be saved to ./ag_mrpc_custom_space_hyperband/ag_text_prediction.log
2020-12-08 20:34:21,688 - root - INFO - Train Dataset:
2020-12-08 20:34:21,688 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=2934/0
   length, min/avg/max=38/118.23/220
)
- Text(
   name="sentence2"
   #total/missing=2934/0
   length, min/avg/max=42/118.70/215
)
- Categorical(
   name="label"
   #total/missing=2934/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[960, 1974]
)


2020-12-08 20:34:21,689 - root - INFO - Tuning Dataset:
2020-12-08 20:34:21,689 - root - INFO - Columns:

- Text(
   name="sentence1"
   #total/missing=734/0
   length, min/avg/max=45/119.49/226
)
- Text(
   name="sentence2"
   #total/missing=734/0
   length, min/avg/max=46/119.05/210
)
- Categorical(
   name="label"
   #total/missing=734/0
   num_class (total/non_special)=2/2
   categories=[0, 1]
   freq=[234, 500]
)


2020-12-08 20:34:21,690 - root - INFO - Label columns=['label'], Feature columns=['sentence1', 'sentence2'], Problem types=['classification'], Label shapes=[2]
2020-12-08 20:34:21,690 - root - INFO - Eval Metric=acc, Stop Metric=acc, Log Metrics=['f1', 'mcc', 'auc', 'acc', 'nll']
100%|██████████| 368/368 [01:19<00:00,  4.63it/s]
100%|██████████| 368/368 [01:20<00:00,  4.57it/s]
 30%|██▉       | 109/368 [00:25<00:59,  4.32it/s]
 30%|██▉       | 109/368 [00:25<01:00,  4.30it/s]
 30%|██▉       | 109/368 [00:25<01:00,  4.29it/s]
 30%|██▉       | 109/368 [00:25<00:59,  4.35it/s]
 30%|██▉       | 109/368 [00:25<01:00,  4.26it/s]
 30%|██▉       | 109/368 [00:25<00:59,  4.32it/s]
100%|██████████| 368/368 [01:19<00:00,  4.63it/s]
dev_score = predictor_mrpc_hyperband.evaluate(dev_data, metrics=['acc', 'f1'])
print('Best Config = {}'.format(predictor_mrpc_hyperband.results['best_config']))
print('Total Time = {}s'.format(predictor_mrpc_hyperband.results['total_time']))
print('Accuracy = {:.2f}%'.format(dev_score['acc'] * 100))
print('F1 = {:.2f}%'.format(dev_score['f1'] * 100))
Best Config = {'search_space▁model.network.agg_net.data_dropout▁choice': 0, 'search_space▁model.network.agg_net.num_layers': 2, 'search_space▁optimization.layerwise_lr_decay': 0.9, 'search_space▁optimization.lr': 5.5e-05, 'search_space▁optimization.warmup_portion': 0.15}
Total Time = 457.0654797554016s
Accuracy = 82.84%
F1 = 88.22%
predictions = predictor_mrpc_hyperband.predict(dev_data)
prediction1 = predictor_mrpc_hyperband.predict({'sentence1': [sentence1], 'sentence2': [sentence2]})
prediction1_prob = predictor_mrpc_hyperband.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence2]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence2))
print('Prediction = "{}"'.format(prediction1[0] == 1))
print('Prob = "{}"'.format(prediction1_prob[0]))
print('')
prediction2 = predictor_mrpc_hyperband.predict({'sentence1': [sentence1], 'sentence2': [sentence3]})
prediction2_prob = predictor_mrpc_hyperband.predict_proba({'sentence1': [sentence1], 'sentence2': [sentence3]})
print('A = "{}"'.format(sentence1))
print('B = "{}"'.format(sentence3))
print('Prediction = "{}"'.format(prediction2[0] == 1))
print('Prob = "{}"'.format(prediction2_prob[0]))
A = "It is simple to solve NLP problems with AutoGluon."
B = "With AutoGluon, it is easy to solve NLP problems."
Prediction = "True"
Prob = "[0.01117248 0.9888276 ]"

A = "It is simple to solve NLP problems with AutoGluon."
B = "AutoGluon gives you a very bad user experience for solving NLP problems."
Prediction = "False"
Prob = "[0.76531047 0.23468953]"

Table Of Contents

  • Text Prediction - Customized Hyperparameter Search
    • Paraphrase Identification
    • Perform HPO over a Customized Search Space with Random Search
    • Use Bayesian Optimization
    • Use Hyperband
Previous
Text Prediction - Quick Start
Next
Text Prediction - Heterogeneous Data Types