diff --git a/README.md b/README.md index f7b17af2476e0ab5343282ac0224676b0fc2d9ca..229105dff44b4affd7879380c5811187836a2156 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,161 @@ +# General Purpose Audio Effect Removal +Removing multiple audio effects from multiple sources using compositional audio effect removal and source separation and speech enhancement models. + +This repo contains the code for the paper [General Purpose Audio Effect Removal](https://arxiv.org/abs/2110.00484). (Todo: Link broken, Add video, Add img, citation) + # Setup +``` +git clone https://github.com/mhrice/RemFx.git +cd RemFx +git submodule update --init --recursive +pip install -e . ./umx +``` +# Usage +This repo can be used for many different tasks. Here are some examples. +## Run RemFX Detect on a single file - [] +First, need to download the checkpoints from [zenodo](https://zenodo.org/record/8179396) +``` +./download_checkpoints.sh +./remfx_detect.sh wet.wav -o dry.wav +``` +## Download the [General Purpose Audio Effect Removal evaluation datasets](https://zenodo.org/record/8183649/) - [x] +``` +./download_eval_datasets.sh +``` + +## Download the starter datasets - [x] +``` +python scripts/download.py vocalset guitarset dsd100 idmt-smt-drums +``` +By default, the starter datasets are downloaded to `./data/remfx-data`. To change this, pass `--output_dir={path/to/datasets}` to `download.py` + +Then set the dataset root : +``` +export DATASET_ROOT={path/to/datasets} +``` + +## Training - [x] +Before training, it is important that you have downloaded the starter datasets (see above) and set DATASET_ROOT. +This project uses the [pytorch-lightning](https://www.pytorchlightning.ai/index.html) framework and [hydra](https://hydra.cc/) for configuration management. All experiments are defined in `cfg/exp/`. To train with an existing experiment run +``` +python scripts/train.py +exp={experiment_name} +``` -## Install Packages -1. `python3 -m venv env` -2. `source env/bin/activate` -3. `pip install -e .` -4. `git submodule update --init --recursive` -5. `pip install -e umx` - -## Download [VocalSet Dataset](https://zenodo.org/record/1193957) -1. `wget https://zenodo.org/record/1442513/files/VocalSet1-2.zip?download=1` -2. `mv VocalSet.zip?download=1 VocalSet.zip` -3. `unzip VocalSet.zip` - -# Training -## Steps -1. Change Wandb and data root variables in `shell_vars.sh` and `source shell_vars.sh` -2. `python scripts/train.py +exp=default` - -## Experiments -Training parameters can be configured in `cfg/exp/default.yaml`. Here are some descriptions +Here are some selected experiment types from the paper, which use different datasets and configurations. See `cfg/exp/` for a full list of experiments and parameters. + +| Experiment Type | Config Name | Example | +| ----------------------- | ------------ | ----------------- | +| Effect-specific | {effect} | +exp=chorus | +| Effect-specific + FXAug | {effect}_aug | +exp=chorus_aug | +| Monolithic (1 FX) | 5-1 | +exp=5-1 | +| Monolithic (<=5 FX) | 5-5_full | +exp=5-5_full | +| Classifier | 5-5_full_cls | +exp=5-5_full_cls | + +To change the configuration, simply edit the experiment file, or override the configuration on the command line. A description of some of these variables is in the Misc. section below. +You can also create a custom experiment by creating a new experiment file in `cfg/exp/` and overriding the default parameters in `config.yaml`. + +At the end of training, the train script will automatically evaluate the test set using the best checkpoint (by validation loss). If epoch 0 is not finished, it will throw an error. To evaluate a specific checkpoint, run + +``` +python scripts/test.py +exp={experiment_name} +ckpt_path="{path/to/checkpoint}" render_files=False +``` + +The checkpoints will be saved in `./logs/ckpts/{timestamp}` +Metrics and hyperparams will be logged in `./lightning_logs/{timestamp}` + +By default, the dataset needed for the experiment is generated before training. +If you have generated the dataset separately (see Generate datasets used in the paper), be sure to set `render_files=False` in the config or command-line, and set `render_root={path/to/dataset}` if it is in a custom location. + +Also note that the training assumes you have a GPU. To train on CPU, set `accelerator=null` in the config or command-line. + +## Evaluate models on the General Purpose Audio Effect Removal evaluation datasets (Table 4 from the paper) - [] +First download the General Purpose Audio Effect Removal evaluation datasets (see above). +To use the pretrained RemFX model, download the checkpoints +``` +./download_checkpoints.sh +``` +Then run the evaluation script, select the RemFX configuration, between `remfx_oracle`, `remfx_detect`, and `remfx_all`. Then select N, the number of effects to remove. +``` +./eval.sh remfx_detect 0-0 +./eval.sh remfx_detect 1-1 +./eval.sh remfx_detect 2-2 +./eval.sh remfx_detect 3-3 +./eval.sh remfx_detect 4-4 +./eval.sh remfx_detect 5-5 + +``` +To eval a custom monolithic model, first train a model (see Training) +Then run the evaluation script, with the config used and checkpoint_path. +``` +./eval.sh distortion_aug 0-0 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +./eval.sh distortion_aug 1-1 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +./eval.sh distortion_aug 2-2 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +./eval.sh distortion_aug 3-3 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +./eval.sh distortion_aug 4-4 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +./eval.sh distortion_aug 5-5 -ckpt "logs/ckpts/2023-07-26-10-10-27/epoch\=05-valid_loss\=8.623.ckpt" +``` + +To eval a custom effect-specific model as part of the inference chain, first train a model (see Training), then edit `cfg/exp/remfx_{desired_configuration}.yaml` -> ckpts -> {effect}. +Then run the evaluation script. +``` +./eval.sh remfx_detect 0-0 +``` + +The script assumes that RemFX_eval_datasets is in the top-level directory. +Metrics and hyperparams will be logged in `./lightning_logs/{timestamp}` + +## Generate other datasets - [x] +The datasets used in the experiments are customly generated from the starter datasets. In short, for each training/val/testing example, we select a random 5.5s segment from one of the starter datasets and apply a random number of effects to it. The number of effects applied is controlled by the `num_kept_effects` and `num_removed_effects` parameters. The effects applied are controlled by the `effects_to_keep` and `effects_to_remove` parameters. + +Before generating datasets, it is important that you have downloaded the starter datasets (see above) and set DATASET_ROOT. + +To generate one of the datasets used in the paper, use of the experiments defined in `cfg/exp/`. +For example, to generate the `chorus` FXAug dataset, which includes files with 5 possible effects, up to 4 kept effects (distortion, reverb, compression, delay), and 1 removed effects (chorus), run +``` +python scripts/generate_dataset.py +exp=chorus_aug +``` + +See the Misc. section below for a description of the parameters. +By default, files are rendered to `{render_root} / processed / {string_of_effects} / {train|val|test}`. + +If training, this process will be done automatically at the start of training. To disable this, set `render_files=False` in the config or command-line, and set `render_root={path/to/dataset}` if it is in a custom location. + +# Misc. +## Experimental parameters +Some relevant dataset/training parameters descriptions - `num_kept_effects={[min, max]}` range of Kept effects to apply to each file. Inclusive. - `num_removed_effects={[min, max]}` range of Removed effects to apply to each file. Inclusive. -- `model={model}` architecture to use (see 'Models') -- `effects_to_keep={[effect]}` Effects to apply but not remove (see 'Effects') +- `model={model}` architecture to use (see 'Effect Removal Models/Effect Classification Models') +- `effects_to_keep={[effect]}` Effects to apply but not remove (see 'Effects'). Used for FXAug. - `effects_to_remove={[effect]}` Effects to remove (see 'Effects') - `accelerator=null/'gpu'` Use GPU (1 device) (default: null) - `render_files=True/False` Render files. Disable to skip rendering stage (default: True) -- `render_root={path/to/dir}`. Root directory to render files to (default: DATASET_ROOT) - -These can also be specified on the command line. -see `cfg/exp/default.yaml` for an example. +- `render_root={path/to/dir}`. Root directory to render files to (default: ./data) +- `datamodule.train_batch_size={batch_size}`. Change batch size (default: varies) - -## Models +### Effect Removal Models - `umx` - `demucs` - `tcn` - `dcunet` - `dptnet` -## Effects +### Effect Classification Models +- `cls_vggish` +- `cls_panns_pt` +- `cls_wav2vec2` +- `cls_wav2clip` + +### Effects - `chorus` - `compressor` - `distortion` - `reverb` - `delay` -## Chain Inference -`python scripts/chain_inference.py +exp=chain_inference` - -## Run inference on directory +# DO WE NEED THIS? +## Evaluate RemFXwith a custom directory - [] Assumes directory is structured as - root - clean @@ -62,49 +167,12 @@ Assumes directory is structured as - file2.wav - file3.wav -Change root path in `shell_vars.sh` and `source shell_vars.sh` - -`python scripts/chain_inference.py +exp=chain_inference_custom` - - - -## Misc. -By default, files are rendered to `input_dir / processed / {string_of_effects} / {train|val|test}`. - - -Download datasets: - +First set the dataset root: ``` -python scripts/download.py vocalset guitarset idmt-smt-guitar idmt-smt-bass idmt-smt-drums +export DATASET_ROOT={path/to/datasets} ``` -To run audio effects classifiction: +Then run ``` -python scripts/train.py model=classifier "effects_to_use=[compressor, distortion, reverb, chorus, delay]" "effects_to_remove=[]" max_kept_effects=5 max_removed_effects=0 shuffle_kept_effects=True shuffle_removed_effects=True accelerator='gpu' render_root=/scratch/RemFX render_files=True -``` - -``` -srun --comment harmonai --partition=g40 --gpus=1 --cpus-per-gpu=12 --job-name=harmonai --pty bash -i -source env/bin/activate -rsync -aP /fsx/home-csteinmetz1/data/EffectSet_cjs.tar /scratch -tar -xvf EffectSet_cjs.tar -mv scratch/EffectSet_cjs ./EffectSet_cjs - -export DATASET_ROOT="/admin/home-csteinmetz1/data/remfx-data" -export WANDB_PROJECT="RemFX" -export WANDB_ENTITY="cjstein" - -python scripts/train.py +exp=5-5.yaml model=cls_vggish render_files=False logs_dir=/scratch/cjs-log datamodule.batch_size=64 -python scripts/train.py +exp=5-5.yaml model=cls_panns_pt render_files=False logs_dir=/scratch/cjs-log datamodule.batch_size=64 -python scripts/train.py +exp=5-5.yaml model=cls_wav2vec2 render_files=False logs_dir=/scratch/cjs-log datamodule.batch_size=64 -python scripts/train.py +exp=5-5.yaml model=cls_wav2clip render_files=False logs_dir=/scratch/cjs-log datamodule.batch_size=64 -``` - -### Installing HEAR models - -wav2clip +python scripts/chain_inference.py +exp=chain_inference_custom ``` -pip install hearbaseline -pip install git+https://github.com/hohsiangwu/wav2clip-hear.git -pip install git+https://github.com/qiuqiangkong/HEAR2021_Challenge_PANNs -wget https://zenodo.org/record/6332525/files/hear2021-panns_hear.pth diff --git a/cfg/config.yaml b/cfg/config.yaml index 35d1e60049274377ca24ffb6fa057255febffa78..feaa9ab9af665b7b720ad1d9c45718b20daeacc4 100644 --- a/cfg/config.yaml +++ b/cfg/config.yaml @@ -63,7 +63,7 @@ datamodule: shuffle_removed_effects: ${shuffle_removed_effects} render_files: ${render_files} render_root: ${render_root} - parallel: True + parallel: False val_dataset: _target_: remfx.datasets.EffectDataset total_chunks: 1000 @@ -80,6 +80,7 @@ datamodule: shuffle_removed_effects: ${shuffle_removed_effects} render_files: ${render_files} render_root: ${render_root} + parallel: False test_dataset: _target_: remfx.datasets.EffectDataset total_chunks: 1000 @@ -96,21 +97,27 @@ datamodule: shuffle_removed_effects: ${shuffle_removed_effects} render_files: ${render_files} render_root: ${render_root} + parallel: False - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 pin_memory: True persistent_workers: True +# logger: +# _target_: pytorch_lightning.loggers.WandbLogger +# project: ${oc.env:WANDB_PROJECT} +# entity: ${oc.env:WANDB_ENTITY} +# # offline: False # set True to store all logs only locally +# job_type: "train" +# group: "" +# save_dir: "." +# log_model: True logger: - _target_: pytorch_lightning.loggers.WandbLogger - project: ${oc.env:WANDB_PROJECT} - entity: ${oc.env:WANDB_ENTITY} - # offline: False # set True to store all logs only locally - job_type: "train" - group: "" + _target_: pytorch_lightning.loggers.CSVLogger save_dir: "." - log_model: True + version: ${now:%Y-%m-%d-%H-%M-%S} trainer: _target_: pytorch_lightning.Trainer diff --git a/cfg/exp/0-0.yaml b/cfg/exp/0-0.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b4960dfbd96a4a82fed2d5a78d24922808230c47 --- /dev/null +++ b/cfg/exp/0-0.yaml @@ -0,0 +1,29 @@ +# @package _global_ +defaults: + - override /model: demucs + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +render_files: True + +accelerator: "gpu" +log_audio: True +# Effects +num_kept_effects: [0,0] # [min, max] +num_removed_effects: [0,0] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: True +num_classes: 5 +effects_to_keep: +effects_to_remove: + - distortion + - compressor + - reverb + - chorus + - delay +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/1-1.yaml b/cfg/exp/1-1.yaml index be1a202386a2a3f7c471c5f5904a382380e9d2f5..66b0cb5b159f1f31e855272496445c2eaa741811 100644 --- a/cfg/exp/1-1.yaml +++ b/cfg/exp/1-1.yaml @@ -7,12 +7,12 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects num_kept_effects: [0,0] # [min, max] -num_removed_effects: [0,1] # [min, max] +num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: True num_classes: 5 @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/2-2.yaml b/cfg/exp/2-2.yaml index 9fb0e3f1a42d1f45b89b05a798442656ead8bf36..cf77506e24da2d921105f01e668eacb0cb680cca 100644 --- a/cfg/exp/2-2.yaml +++ b/cfg/exp/2-2.yaml @@ -7,12 +7,12 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects num_kept_effects: [0,0] # [min, max] -num_removed_effects: [0,2] # [min, max] +num_removed_effects: [2,2] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: True num_classes: 5 @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/3-3.yaml b/cfg/exp/3-3.yaml index 5cbeeb8952caf833e1498913407eb5a1c2209873..2032e290b0597f9f58035009e18d223640b13bad 100644 --- a/cfg/exp/3-3.yaml +++ b/cfg/exp/3-3.yaml @@ -7,12 +7,12 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects num_kept_effects: [0,0] # [min, max] -num_removed_effects: [0,3] # [min, max] +num_removed_effects: [3,3] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: True num_classes: 5 @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/4-4.yaml b/cfg/exp/4-4.yaml index d64515b36b152120f73f30ab2a623118cfd8281c..b7b845e3791ce5c8d74d0c54d7b9705d94ab386a 100644 --- a/cfg/exp/4-4.yaml +++ b/cfg/exp/4-4.yaml @@ -7,12 +7,12 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects num_kept_effects: [0,0] # [min, max] -num_removed_effects: [0,4] # [min, max] +num_removed_effects: [4,4] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: True num_classes: 5 @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/5-1.yaml b/cfg/exp/5-1.yaml index 717c2745926f1a1f5a284f92ebcc4aebed2fc812..66b0cb5b159f1f31e855272496445c2eaa741811 100644 --- a/cfg/exp/5-1.yaml +++ b/cfg/exp/5-1.yaml @@ -7,7 +7,7 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/5-5.yaml b/cfg/exp/5-5.yaml index ba011ab8e9c0808ac409182f68a172aa8048fe2c..025df26afb60346e7d625b7042750b9c43f3fff9 100644 --- a/cfg/exp/5-5.yaml +++ b/cfg/exp/5-5.yaml @@ -7,12 +7,12 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects num_kept_effects: [0,0] # [min, max] -num_removed_effects: [0,5] # [min, max] +num_removed_effects: [5,5] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: True num_classes: 5 @@ -24,5 +24,6 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/5-5_full.yaml b/cfg/exp/5-5_full.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f0c40a3aa411fa5d8fcf29b9a825c1e3b7c3a9e7 --- /dev/null +++ b/cfg/exp/5-5_full.yaml @@ -0,0 +1,29 @@ +# @package _global_ +defaults: + - override /model: demucs + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +render_files: True + +accelerator: "gpu" +log_audio: True +# Effects +num_kept_effects: [0,0] # [min, max] +num_removed_effects: [0,5] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: True +num_classes: 5 +effects_to_keep: +effects_to_remove: + - distortion + - compressor + - reverb + - chorus + - delay +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/5-5_cls.yaml b/cfg/exp/5-5_full_cls.yaml similarity index 96% rename from cfg/exp/5-5_cls.yaml rename to cfg/exp/5-5_full_cls.yaml index e5de2f8a491f2697485e0ac2cc73ffbe35145538..50a07175c02c6664819bbfa6184976f40c61588c 100644 --- a/cfg/exp/5-5_cls.yaml +++ b/cfg/exp/5-5_full_cls.yaml @@ -1,13 +1,13 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: cls_panns_48k - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "/scratch/cjs-logs" render_files: True -render_root: "/scratch/EffectSet_cjs" + accelerator: "gpu" log_audio: False # Effects diff --git a/cfg/exp/5-5_cls_dynamic.yaml b/cfg/exp/5-5_full_cls_dynamic.yaml similarity index 98% rename from cfg/exp/5-5_cls_dynamic.yaml rename to cfg/exp/5-5_full_cls_dynamic.yaml index 88740aa7a9ef2edaf49fd20ed3424af3c5fda632..b53ae5e311976f41c45625f69434b185f0914432 100644 --- a/cfg/exp/5-5_cls_dynamic.yaml +++ b/cfg/exp/5-5_full_cls_dynamic.yaml @@ -7,7 +7,7 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "/scratch/cjs-logs" render_files: True -render_root: "/scratch/EffectSet_cjs" + accelerator: "gpu" log_audio: False # Effects diff --git a/cfg/exp/chain_inference.yaml b/cfg/exp/chain_inference.yaml index 9d89de7842e9fa98d286c57d8a2aba50e832c695..8f2df2e217a761634d109fe9b6c80748c20ec244 100644 --- a/cfg/exp/chain_inference.yaml +++ b/cfg/exp/chain_inference.yaml @@ -6,7 +6,7 @@ seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects @@ -23,7 +23,8 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 dcunet: diff --git a/cfg/exp/chain_inference_aug.yaml b/cfg/exp/chain_inference_aug.yaml index a37dc046abc3cf05b2b93ef56f694cadd60610a4..08c3720ca99d5c0f94fd8d910dc0458bad8718a2 100644 --- a/cfg/exp/chain_inference_aug.yaml +++ b/cfg/exp/chain_inference_aug.yaml @@ -6,7 +6,7 @@ seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects @@ -23,7 +23,8 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 dcunet: diff --git a/cfg/exp/chain_inference_aug_classifier.yaml b/cfg/exp/chain_inference_aug_classifier.yaml index 8b8e6b7858a165f7f56fb9a5d76ed045cacbc302..6c0283b37da9c477d2840d04823fe88a4660d5d0 100644 --- a/cfg/exp/chain_inference_aug_classifier.yaml +++ b/cfg/exp/chain_inference_aug_classifier.yaml @@ -6,7 +6,7 @@ seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects @@ -23,7 +23,8 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 dcunet: @@ -56,7 +57,7 @@ classifier: n_mels: 128 sample_rate: ${sample_rate} model_sample_rate: ${sample_rate} - specaugment: False + specaugment: True classifier_ckpt: "ckpts/classifier.ckpt" ckpts: @@ -75,7 +76,6 @@ ckpts: RandomPedalboardDelay: model: ${dcunet} ckpt_path: "ckpts/dcunet_delay_aug.ckpt" - inference_effects_ordering: - "RandomPedalboardDistortion" - "RandomPedalboardCompressor" diff --git a/cfg/exp/chain_inference_custom.yaml b/cfg/exp/chain_inference_custom.yaml index fffd471ad95415b98068f1c7280ed9c909ce9538..c87e6527280007841689c5d69f64ffcf9655caaa 100644 --- a/cfg/exp/chain_inference_custom.yaml +++ b/cfg/exp/chain_inference_custom.yaml @@ -6,7 +6,7 @@ seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects @@ -23,7 +23,8 @@ effects_to_remove: - chorus - delay datamodule: - batch_size: 1 + train_batch_size: 1 + test_batch_size: 1 num_workers: 8 train_dataset: None val_dataset: None diff --git a/cfg/exp/chorus.yaml b/cfg/exp/chorus.yaml index 936d04086395af33f45de6afb66629f3fb3e1006..330037697c11d664bb64428a0cf6562a9050c690 100644 --- a/cfg/exp/chorus.yaml +++ b/cfg/exp/chorus.yaml @@ -1,28 +1,25 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: dcunet - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,4] # [min, max] +num_kept_effects: [0,0] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 5 +num_classes: 1 effects_to_keep: - - compressor - - distortion - - delay - - reverb effects_to_remove: - chorus datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/reverb_only.yaml b/cfg/exp/chorus_aug.yaml similarity index 67% rename from cfg/exp/reverb_only.yaml rename to cfg/exp/chorus_aug.yaml index fcf45550c9b1c3c9d8584cf8fcbe7d7a6387291c..19ee136c15cd6b00101460712b10411fe222186e 100644 --- a/cfg/exp/reverb_only.yaml +++ b/cfg/exp/chorus_aug.yaml @@ -1,24 +1,29 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: dcunet - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,0] # [min, max] +num_kept_effects: [0,4] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 1 +num_classes: 5 effects_to_keep: -effects_to_remove: + - compressor + - distortion + - delay - reverb +effects_to_remove: + - chorus datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/compression.yaml b/cfg/exp/compression.yaml index a6d25bb35671b83a318bb3117c80a5eb87e50a05..a2a82babb79ca68de46318a02fceb4af293b7362 100644 --- a/cfg/exp/compression.yaml +++ b/cfg/exp/compression.yaml @@ -7,22 +7,19 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,4] # [min, max] +num_kept_effects: [0,0] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 5 +num_classes: 1 effects_to_keep: - - distortion - - chorus - - delay - - reverb effects_to_remove: - compressor datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/distortion_only.yaml b/cfg/exp/compression_aug.yaml similarity index 73% rename from cfg/exp/distortion_only.yaml rename to cfg/exp/compression_aug.yaml index 5ee7b8ed7dc77aca2bf4f0d573f88b2e20fafdd1..01a261b482a0ca7f88c4bce20e88038121df8c33 100644 --- a/cfg/exp/distortion_only.yaml +++ b/cfg/exp/compression_aug.yaml @@ -7,18 +7,23 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,0] # [min, max] +num_kept_effects: [0,4] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 1 +num_classes: 5 effects_to_keep: -effects_to_remove: - distortion + - chorus + - delay + - reverb +effects_to_remove: + - compressor datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/default.yaml b/cfg/exp/default.yaml index 0284b94f0e34344ca42f74bf398a1ce4b848eaaa..3ed669584255b655ebb1fe8efa10a46f6c599971 100644 --- a/cfg/exp/default.yaml +++ b/cfg/exp/default.yaml @@ -24,5 +24,6 @@ effects_to_remove: - delay - distortion datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/delay.yaml b/cfg/exp/delay.yaml index 1301ceb47a4d998cc16f8764c17095ad403d6161..d2ff2c23355f24bb804c8785cb1f64d8971f3193 100644 --- a/cfg/exp/delay.yaml +++ b/cfg/exp/delay.yaml @@ -1,28 +1,25 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: dcunet - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,4] # [min, max] +num_kept_effects: [0,0] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 5 +num_classes: 1 effects_to_keep: - - compressor - - distortion - - chorus - - reverb effects_to_remove: - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/chorus_only.yaml b/cfg/exp/delay_aug.yaml similarity index 67% rename from cfg/exp/chorus_only.yaml rename to cfg/exp/delay_aug.yaml index 2014d295decffba9cc6a5654f26f3865f479edf8..bbf93652dec10e778d317048adbe6848c79712a6 100644 --- a/cfg/exp/chorus_only.yaml +++ b/cfg/exp/delay_aug.yaml @@ -1,24 +1,29 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: dcunet - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,0] # [min, max] +num_kept_effects: [0,4] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 1 +num_classes: 5 effects_to_keep: -effects_to_remove: + - compressor + - distortion - chorus + - reverb +effects_to_remove: + - delay datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/delay_only.yaml b/cfg/exp/delay_only.yaml deleted file mode 100644 index db030b14a559dd2e559d9e345000d2def2c6ecaa..0000000000000000000000000000000000000000 --- a/cfg/exp/delay_only.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# @package _global_ -defaults: - - override /model: demucs - - override /effects: all -seed: 12345 -sample_rate: 48000 -chunk_size: 262144 # 5.5s -logs_dir: "./logs" -render_files: True -render_root: "/scratch/EffectSet" -accelerator: "gpu" -log_audio: True -# Effects -num_kept_effects: [0,0] # [min, max] -num_removed_effects: [1,1] # [min, max] -shuffle_kept_effects: True -shuffle_removed_effects: False -num_classes: 1 -effects_to_keep: -effects_to_remove: - - delay -datamodule: - batch_size: 16 - num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/distortion.yaml b/cfg/exp/distortion.yaml index 14a874158ba6c9f6d92305cf8458bcdc02216239..c0c66faefaac5d888d691e9bf9692eee30f2a08f 100644 --- a/cfg/exp/distortion.yaml +++ b/cfg/exp/distortion.yaml @@ -7,22 +7,19 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,4] # [min, max] +num_kept_effects: [0,0] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 5 +num_classes: 1 effects_to_keep: - - compressor - - reverb - - chorus - - delay effects_to_remove: - distortion datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/compression_only.yaml b/cfg/exp/distortion_aug.yaml similarity index 73% rename from cfg/exp/compression_only.yaml rename to cfg/exp/distortion_aug.yaml index d51f7aefc2e9c42871d85b831e83420a2bfa4637..ca18c13d6cca246001a7253e54521be09789c60b 100644 --- a/cfg/exp/compression_only.yaml +++ b/cfg/exp/distortion_aug.yaml @@ -7,18 +7,23 @@ sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,0] # [min, max] +num_kept_effects: [0,4] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 1 +num_classes: 5 effects_to_keep: -effects_to_remove: - compressor + - reverb + - chorus + - delay +effects_to_remove: + - distortion datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/remfx_all.yaml b/cfg/exp/remfx_all.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7e0437a250d1b1716c1d69b46b7c6cea3f3a1590 --- /dev/null +++ b/cfg/exp/remfx_all.yaml @@ -0,0 +1,88 @@ +# @package _global_ +defaults: + - override /model: demucs + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +accelerator: "gpu" +log_audio: True + +# Effects +num_kept_effects: [0,0] # [min, max] +num_removed_effects: [0,5] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: True +num_classes: 5 +effects_to_keep: +effects_to_remove: + - distortion + - compressor + - reverb + - chorus + - delay +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 + +dcunet: + _target_: remfx.models.RemFX + lr: 1e-4 + lr_beta1: 0.95 + lr_beta2: 0.999 + lr_eps: 1e-6 + lr_weight_decay: 1e-3 + sample_rate: ${sample_rate} + network: + _target_: remfx.models.DCUNetModel + architecture: "Large-DCUNet-20" + stft_kernel_size: 512 + fix_length_mode: "pad" + sample_rate: ${sample_rate} + num_bins: 1025 + +classifier: + _target_: remfx.models.FXClassifier + lr: 3e-4 + lr_weight_decay: 1e-3 + sample_rate: ${sample_rate} + mixup: False + network: + _target_: remfx.classifier.Cnn14 + num_classes: ${num_classes} + n_fft: 2048 + hop_length: 512 + n_mels: 128 + sample_rate: ${sample_rate} + model_sample_rate: ${sample_rate} + specaugment: True +classifier_ckpt: "ckpts/classifier.ckpt" + +ckpts: + RandomPedalboardDistortion: + model: ${model} + ckpt_path: "ckpts/demucs_distortion_aug.ckpt" + RandomPedalboardCompressor: + model: ${model} + ckpt_path: "ckpts/demucs_compressor_aug.ckpt" + RandomPedalboardReverb: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_reverb_aug.ckpt" + RandomPedalboardChorus: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_chorus_aug.ckpt" + RandomPedalboardDelay: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_delay_aug.ckpt" + +inference_effects_ordering: + - "RandomPedalboardDistortion" + - "RandomPedalboardCompressor" + - "RandomPedalboardReverb" + - "RandomPedalboardChorus" + - "RandomPedalboardDelay" +num_bins: 1025 +inference_effects_shuffle: True +inference_use_all_effect_models: True \ No newline at end of file diff --git a/cfg/exp/remfx_detect.yaml b/cfg/exp/remfx_detect.yaml new file mode 100644 index 0000000000000000000000000000000000000000..77561ba47326da01dcbb33c43fc7025efefce073 --- /dev/null +++ b/cfg/exp/remfx_detect.yaml @@ -0,0 +1,88 @@ +# @package _global_ +defaults: + - override /model: demucs + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +accelerator: "gpu" +log_audio: True + +# Effects +num_kept_effects: [0,0] # [min, max] +num_removed_effects: [0,5] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: True +num_classes: 5 +effects_to_keep: +effects_to_remove: + - distortion + - compressor + - reverb + - chorus + - delay +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 + +dcunet: + _target_: remfx.models.RemFX + lr: 1e-4 + lr_beta1: 0.95 + lr_beta2: 0.999 + lr_eps: 1e-6 + lr_weight_decay: 1e-3 + sample_rate: ${sample_rate} + network: + _target_: remfx.models.DCUNetModel + architecture: "Large-DCUNet-20" + stft_kernel_size: 512 + fix_length_mode: "pad" + sample_rate: ${sample_rate} + num_bins: 1025 + +classifier: + _target_: remfx.models.FXClassifier + lr: 3e-4 + lr_weight_decay: 1e-3 + sample_rate: ${sample_rate} + mixup: False + network: + _target_: remfx.classifier.Cnn14 + num_classes: ${num_classes} + n_fft: 2048 + hop_length: 512 + n_mels: 128 + sample_rate: ${sample_rate} + model_sample_rate: ${sample_rate} + specaugment: True +classifier_ckpt: "ckpts/classifier.ckpt" + +ckpts: + RandomPedalboardDistortion: + model: ${model} + ckpt_path: "ckpts/demucs_distortion_aug.ckpt" + RandomPedalboardCompressor: + model: ${model} + ckpt_path: "ckpts/demucs_compressor_aug.ckpt" + RandomPedalboardReverb: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_reverb_aug.ckpt" + RandomPedalboardChorus: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_chorus_aug.ckpt" + RandomPedalboardDelay: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_delay_aug.ckpt" + +inference_effects_ordering: + - "RandomPedalboardDistortion" + - "RandomPedalboardCompressor" + - "RandomPedalboardReverb" + - "RandomPedalboardChorus" + - "RandomPedalboardDelay" +num_bins: 1025 +inference_effects_shuffle: True +inference_use_all_effect_models: False \ No newline at end of file diff --git a/cfg/exp/remfx_oracle.yaml b/cfg/exp/remfx_oracle.yaml new file mode 100644 index 0000000000000000000000000000000000000000..71d2edafab04b4531db1fe89d0ca80f373e50651 --- /dev/null +++ b/cfg/exp/remfx_oracle.yaml @@ -0,0 +1,72 @@ +# @package _global_ +defaults: + - override /model: demucs + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +accelerator: "gpu" +log_audio: True + +# Effects +num_kept_effects: [0,0] # [min, max] +num_removed_effects: [0,5] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: True +num_classes: 5 +effects_to_keep: +effects_to_remove: + - distortion + - compressor + - reverb + - chorus + - delay +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 + +dcunet: + _target_: remfx.models.RemFX + lr: 1e-4 + lr_beta1: 0.95 + lr_beta2: 0.999 + lr_eps: 1e-6 + lr_weight_decay: 1e-3 + sample_rate: ${sample_rate} + network: + _target_: remfx.models.DCUNetModel + architecture: "Large-DCUNet-20" + stft_kernel_size: 512 + fix_length_mode: "pad" + sample_rate: ${sample_rate} + num_bins: 1025 + + +ckpts: + RandomPedalboardDistortion: + model: ${model} + ckpt_path: "ckpts/demucs_distortion_aug.ckpt" + RandomPedalboardCompressor: + model: ${model} + ckpt_path: "ckpts/demucs_compressor_aug.ckpt" + RandomPedalboardReverb: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_reverb_aug.ckpt" + RandomPedalboardChorus: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_chorus_aug.ckpt" + RandomPedalboardDelay: + model: ${dcunet} + ckpt_path: "ckpts/dcunet_delay_aug.ckpt" + +inference_effects_ordering: + - "RandomPedalboardDistortion" + - "RandomPedalboardCompressor" + - "RandomPedalboardReverb" + - "RandomPedalboardChorus" + - "RandomPedalboardDelay" +num_bins: 1025 +inference_effects_shuffle: True +inference_use_all_effect_models: False \ No newline at end of file diff --git a/cfg/exp/reverb.yaml b/cfg/exp/reverb.yaml index a41c1d28d4eee71f66d5f99af8431eaaef11b807..e4154cae8412e9034f705f7c8bb6cb0bef05954f 100644 --- a/cfg/exp/reverb.yaml +++ b/cfg/exp/reverb.yaml @@ -1,28 +1,25 @@ # @package _global_ defaults: - - override /model: demucs + - override /model: dcunet - override /effects: all seed: 12345 sample_rate: 48000 chunk_size: 262144 # 5.5s logs_dir: "./logs" render_files: True -render_root: "/scratch/EffectSet" + accelerator: "gpu" log_audio: True # Effects -num_kept_effects: [0,4] # [min, max] +num_kept_effects: [0,0] # [min, max] num_removed_effects: [1,1] # [min, max] shuffle_kept_effects: True shuffle_removed_effects: False -num_classes: 5 +num_classes: 1 effects_to_keep: - - compressor - - distortion - - chorus - - delay effects_to_remove: - reverb datamodule: - batch_size: 16 + train_batch_size: 16 + test_batch_size: 1 num_workers: 8 \ No newline at end of file diff --git a/cfg/exp/reverb_aug.yaml b/cfg/exp/reverb_aug.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0d5c8d72b6ac06023200e7eb3e8ec160fccdac82 --- /dev/null +++ b/cfg/exp/reverb_aug.yaml @@ -0,0 +1,29 @@ +# @package _global_ +defaults: + - override /model: dcunet + - override /effects: all +seed: 12345 +sample_rate: 48000 +chunk_size: 262144 # 5.5s +logs_dir: "./logs" +render_files: True + +accelerator: "gpu" +log_audio: True +# Effects +num_kept_effects: [0,4] # [min, max] +num_removed_effects: [1,1] # [min, max] +shuffle_kept_effects: True +shuffle_removed_effects: False +num_classes: 5 +effects_to_keep: + - compressor + - distortion + - chorus + - delay +effects_to_remove: + - reverb +datamodule: + train_batch_size: 16 + test_batch_size: 1 + num_workers: 8 \ No newline at end of file diff --git a/cfg/model/audio_diffusion.yaml b/cfg/model/audio_diffusion.yaml deleted file mode 100644 index fea1f8c92932e51948326480e0f3b98c157b8925..0000000000000000000000000000000000000000 --- a/cfg/model/audio_diffusion.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# @package _global_ -model: - _target_: remfx.models.RemFX - lr: 1e-4 - lr_beta1: 0.95 - lr_beta2: 0.999 - lr_eps: 1e-6 - lr_weight_decay: 1e-3 - sample_rate: ${sample_rate} - network: - _target_: remfx.models.DiffusionGenerationModel - n_channels: 1 -datamodule: - dataset: - effect_types: ["Clean"] - batch_size: 2 diff --git a/diffusion_test2.ipynb b/diffusion_test2.ipynb deleted file mode 100644 index 7c70ec1ea8b2cf6963170f948fbf7d59e77aa6ba..0000000000000000000000000000000000000000 --- a/diffusion_test2.ipynb +++ /dev/null @@ -1,188 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 27, - "id": "4c52cc1c-91f1-4b79-924b-041d2929ef7b", - "metadata": {}, - "outputs": [], - "source": [ - "from audio_diffusion_pytorch import AudioDiffusionModel\n", - "import torch\n", - "from IPython.display import Audio\n", - "import matplotlib.pyplot as plt\n", - "from tqdm import tqdm\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "a005011f-3019-4d34-bdf2-9a00e5480282", - "metadata": {}, - "outputs": [], - "source": [ - "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "1b689f18-375f-4b40-9ddc-a4ced6a5e5e4", - "metadata": {}, - "outputs": [], - "source": [ - "model = AudioDiffusionModel(in_channels=1, \n", - " patch_size=1,\n", - " multipliers=[1, 2, 4, 4, 4, 4, 4],\n", - " factors=[2, 2, 2, 2, 2, 2],\n", - " num_blocks=[2, 2, 2, 2, 2, 2],\n", - " attentions=[0, 0, 0, 0, 0, 0]\n", - " )\n", - "model = model.to(device)" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "bd8a1cb4-42b5-43bc-9a12-f594ce069b33", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([1, 32768])\n" - ] - } - ], - "source": [ - "fs = 22050\n", - "t = 32768\n", - "fc_min = 220\n", - "fc_max = 440\n", - "batch_size = 8\n", - "samples = torch.arange(t) / fs\n", - "n_iters = 1000\n", - "\n", - "samples = samples.view(1, -1)\n", - "print(samples.shape)\n", - "\n", - "lr = 1e-4\n", - "optimizer = torch.optim.Adam(model.parameters(), lr, betas=(0.95, 0.999), eps=1e-6, weight_decay=1e-3)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "01265072", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "999 - loss step: 0.0457 loss mean: 0.1161: 100%|██████████████████████████████████████████████████████████████████████| 1000/1000 [09:38<00:00, 1.73it/s]\n" - ] - } - ], - "source": [ - "losses = []\n", - "pbar = tqdm(range(n_iters))\n", - "for i in pbar:\n", - " \n", - " optimizer.zero_grad()\n", - " \n", - " # create a batch of random sine waves\n", - " f = torch.randint(fc_min, fc_max, [batch_size,1])\n", - " signals = torch.sin(2 * torch.pi * f * samples)\n", - " signals = signals.view(batch_size, 1, -1)\n", - " signals = signals.to(device)\n", - "\n", - " loss = model(signals)\n", - " loss.backward() \n", - " optimizer.step()\n", - " \n", - " losses.append(loss.item())\n", - " pbar.set_description(f\"{i} - loss step: {loss.item():0.4f} loss mean: {np.mean(losses):0.4f}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "71d17c51-842c-40a1-81a1-a53bf358bc8a", - "metadata": {}, - "outputs": [], - "source": [ - "# Sample 2 sources given start noise\n", - "noise = torch.randn(1, 1, t)\n", - "noise = noise.to(device)\n", - "sampled = model.sample(\n", - " noise=noise,\n", - " num_steps=50 # Suggested range: 2-50\n", - ") # [2, 1, 2 ** 18]" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "59d71efa-05ac-4545-84da-8c09c033dfd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "z = sampled[0]\n", - "Audio(z.cpu(), rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "81eddd71-bba7-4c62-8d50-900b295bb2f8", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/download_ckpts.sh b/download_ckpts.sh new file mode 100755 index 0000000000000000000000000000000000000000..30c150102b0a3575cd06bb7c059b55e0c5928bdf --- /dev/null +++ b/download_ckpts.sh @@ -0,0 +1,12 @@ +#! /bin/bash + +# make ckpts directory if not exist +mkdir -p ckpts + +# download ckpts and save to ckpts directory +wget https://zenodo.org/record/8179396/files/classifier.ckpt?download=1 -O ckpts/classifier.ckpt +wget https://zenodo.org/record/8179396/files/dcunet_chorus_aug.ckpt?download=1 -O ckpts/dcunet_chorus_aug.ckpt +wget https://zenodo.org/record/8179396/files/dcunet_delay_aug.ckpt?download=1 -O ckpts/dcunet_delay_aug.ckpt +wget https://zenodo.org/record/8179396/files/dcunet_reverb_aug.ckpt?download=1 -O ckpts/dcunet_reverb_aug.ckpt +wget https://zenodo.org/record/8179396/files/demucs_compressor_aug.ckpt?download=1 -O ckpts/demucs_compressor_aug.ckpt +wget https://zenodo.org/record/8179396/files/demucs_distortion_aug.ckpt?download=1 -O ckpts/demucs_distortion_aug.ckpt \ No newline at end of file diff --git a/download_eval_datasets.sh b/download_eval_datasets.sh new file mode 100755 index 0000000000000000000000000000000000000000..409a9dffaa06e7c5d4d462672006c21375c60e91 --- /dev/null +++ b/download_eval_datasets.sh @@ -0,0 +1,25 @@ +#! /bin/bash + +mkdir -p RemFX_eval_datasets +cd RemFX_eval_datasets +mkdir -p processed +cd processed +wget https://zenodo.org/record/8187288/files/0-0.zip?download=1 -O 0-0.zip +wget https://zenodo.org/record/8187288/files/1-1.zip?download=1 -O 1-1.zip +wget https://zenodo.org/record/8187288/files/2-2.zip?download=1 -O 2-2.zip +wget https://zenodo.org/record/8187288/files/3-3.zip?download=1 -O 3-3.zip +wget https://zenodo.org/record/8187288/files/4-4.zip?download=1 -O 4-4.zip +wget https://zenodo.org/record/8187288/files/5-5.zip?download=1 -O 5-5.zip +unzip 0-0.zip +unzip 1-1.zip +unzip 2-2.zip +unzip 3-3.zip +unzip 4-4.zip +unzip 5-5.zip +rm 0-0.zip +rm 1-1.zip +rm 2-2.zip +rm 3-3.zip +rm 4-4.zip +rm 5-5.zip + diff --git a/eval.sh b/eval.sh new file mode 100755 index 0000000000000000000000000000000000000000..cff6b24cbf27d3644f52457afc441c57f1ab1024 --- /dev/null +++ b/eval.sh @@ -0,0 +1,48 @@ +#! /bin/bash + +# Example usage: +# ./eval.sh remfx_detect 0-0 +# ./eval.sh distortion_aug 0-0 -ckpt logs/ckpts/2023-01-21-12-21-44 +# First 2 arguments are required, third argument is optional + +# Default value for the optional parameter +ckpt_path="" + +# Function to display script usage +function display_usage { + echo "Usage: $0 [-ckpt {ckpt_path}]" +} + +# Check if the number of arguments is less than 2 (minimum required) +if [ "$#" -lt 2 ]; then + display_usage + exit 1 +fi + +dataset_name=$2 + +# Parse optional parameter if provided +if [ "$3" == "-ckpt" ]; then + # Check if the ckpt_path is provided + if [ -z "$4" ]; then + echo "Error: -ckpt flag requires a path argument." + display_usage + exit 1 + fi + ckpt_path="$4" +fi + +# If ckpt_path is empty, run chain inference +if [ -z "$ckpt_path" ]; then + echo "Running chain inference" + python scripts/chain_inference.py +exp=$1 datamodule.train_dataset=None datamodule.val_dataset=None datamodule.test_dataset.render_root=./RemFX_eval_datasets/ render_files=False num_removed_effects=[${dataset_name:0:1},${dataset_name:2:1}] + exit 1 +fi + + +# Otherwise run inference on the specified checkpoint +echo "Running monolithic inference on checkpoint $3" +python scripts/test.py +exp=$1 datamodule.train_dataset=None datamodule.val_dataset=None datamodule.test_dataset.render_root=./RemFX_eval_datasets/ datamodule.test_dataset.num_kept_effects="[0,0]" num_removed_effects=[${dataset_name:0:1},${dataset_name:2:1}] effects_to_keep=[] effects_to_remove="[distortion, compressor,reverb,chorus,delay]" render_files=False +ckpt_path=$ckpt_path + + + diff --git a/notebooks/Experiments.ipynb b/notebooks/Experiments.ipynb deleted file mode 100644 index 5160ce83f8623d7125aec44e430c6b9e4aa38866..0000000000000000000000000000000000000000 --- a/notebooks/Experiments.ipynb +++ /dev/null @@ -1,1568 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "id": "c2807819", - "metadata": {}, - "outputs": [], - "source": [ - "from audio_diffusion_pytorch import AudioDiffusionModel\n", - "import torch\n", - "from tqdm import tqdm\n", - "from IPython.display import Audio\n", - "from pathlib import Path\n", - "import torchaudio\n", - "import torchaudio.transforms as T\n", - "import pytorch_lightning as pl\n", - "from torch.utils.data import random_split, DataLoader, Dataset\n", - "import torch.nn.functional as F\n", - "import wandb\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "cdd08230-c057-4a6e-83b9-435b2c0fbaaf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'1.13.0+cu117'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "torch.__version__" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "469edd04", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", - "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmattricesound\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" - ] - }, - { - "data": { - "text/html": [ - "Tracking run with wandb version 0.13.6" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Run data is saved locally in /home/jovyan/RemFx/wandb/run-20221209_160820-9wzgwfl3" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Syncing run fast-snowflake-6 to Weights & Biases (docs)
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wandb.init(project=\"RemFX\", entity=\"mattricesound\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "8d7eacfc", - "metadata": {}, - "outputs": [], - "source": [ - "SAMPLE_RATE = 22050\n", - "LENGTH = 2**17#round(5 * SAMPLE_RATE) 6 seconds" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "d8f78b50-b8f5-4008-b986-fb02590a9cd1", - "metadata": {}, - "outputs": [], - "source": [ - "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "cdc0fb64", - "metadata": {}, - "outputs": [], - "source": [ - "class GuitarDataset(Dataset):\n", - " def __init__(self, root, length=LENGTH):\n", - " self.files = list(Path().glob(f\"{root}/**/*.wav\"))\n", - " self.resampler = T.Resample(48000, SAMPLE_RATE)\n", - " \n", - " def __len__(self):\n", - " return len(self.files)\n", - " \n", - " def __getitem__(self, idx):\n", - " x, sr = torchaudio.load(self.files[idx])\n", - "# x = x.view() # Duplicate channel\n", - " resampled_x = self.resampler(x)\n", - " if resampled_x.shape[1] < LENGTH:\n", - " resampled_x = F.pad(resampled_x, (0, LENGTH - resampled_x.shape[1]))\n", - " elif resampled_x.shape[1] > LENGTH:\n", - " resampled_x = resampled_x[:, :LENGTH]\n", - " return resampled_x.to(device)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "148c2a96", - "metadata": {}, - "outputs": [], - "source": [ - "g = GuitarDataset(Path(\"Clean\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "670c94a5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([1, 131072])\n" - ] - } - ], - "source": [ - "x = g[10]\n", - "print(x.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "e1c83600", - "metadata": {}, - "outputs": [], - "source": [ - "data = DataLoader(GuitarDataset(Path(\"Clean\")), batch_size=32)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "4d46f992", - "metadata": {}, - "outputs": [], - "source": [ - "dataiter = iter(data)\n", - "x = next(dataiter)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "1103e520", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([1, 131072])" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x[0].shape" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "6b0f1575", - "metadata": {}, - "outputs": [], - "source": [ - "# wandb.log({\"Audio\": wandb.Audio(x[0].view(-1).numpy(), sample_rate=SAMPLE_RATE)})" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "314fd8af-a813-436e-9ca5-29dc3a5ad460", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "eff19abd-304c-449e-9fb5-4e9ce4d4b19c", - "metadata": {}, - "outputs": [], - "source": [ - "model = AudioDiffusionModel(in_channels=1, \n", - " patch_size=1,\n", - " multipliers=[1, 2, 4, 4, 4, 4, 4],\n", - " factors=[2, 2, 2, 2, 2, 2],\n", - " num_blocks=[2, 2, 2, 2, 2, 2],\n", - " attentions=[0, 0, 0, 0, 0, 0]\n", - " )\n", - "model = model.to(device)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "75dd6e95-5e31-43f5-a0f8-05c7e13e7a14", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "300\n", - "310\n", - "320\n", - "330\n", - "340\n", - "350\n", - "360\n", - "370\n", - "380\n", - "390\n", - "400\n", - "410\n", - "420\n", - "430\n", - "440\n", - "450\n", - "460\n", - "470\n", - "480\n", - "490\n", - "500\n", - "510\n", - "520\n", - "530\n", - "540\n", - "550\n", - "560\n", - "570\n", - "580\n", - "590\n", - "600\n", - "610\n", - "620\n", - "630\n", - "640\n", - "650\n", - "660\n", - "670\n", - "680\n", - "690\n", - "700\n", - "710\n", - "720\n", - "730\n", - "740\n", - "750\n", - "760\n", - "770\n", - "780\n", - "790\n", - "800\n", - "810\n", - "820\n", - "830\n", - "840\n", - "850\n", - "860\n", - "870\n", - "880\n", - "890\n", - "900\n", - "910\n", - "920\n", - "930\n", - "940\n", - "950\n", - "960\n", - "970\n", - "980\n", - "990\n", - "1000\n", - "1010\n", - "1020\n", - "1030\n", - "1040\n", - "1050\n", - "1060\n", - "1070\n", - "1080\n", - "1090\n", - "1100\n", - "1110\n", - "1120\n", - "1130\n", - "1140\n", - "1150\n", - "1160\n", - "1170\n", - "1180\n", - "1190\n", - "1200\n", - "1210\n", - "1220\n", - "1230\n", - "1240\n", - "1250\n", - "1260\n", - "1270\n", - "1280\n", - "1290\n", - "1300\n", - "1310\n", - "1320\n", - "1330\n", - "1340\n", - "1350\n", - "1360\n", - "1370\n", - "1380\n", - "1390\n", - "1400\n", - "1410\n", - "1420\n", - "1430\n", - "1440\n", - "1450\n", - "1460\n", - "1470\n", - "1480\n", - "1490\n", - "1500\n", - "1510\n", - "1520\n", - "1530\n", - "1540\n", - "1550\n", - "1560\n", - "1570\n", - "1580\n", - "1590\n", - "1600\n", - "1610\n", - "1620\n", - "1630\n", - "1640\n", - "1650\n", - "1660\n", - "1670\n", - "1680\n", - "1690\n", - "1700\n", - "1710\n", - "1720\n", - "1730\n", - "1740\n", - "1750\n", - "1760\n", - "1770\n", - "1780\n", - "1790\n", - "1800\n", - "1810\n", - "1820\n", - "1830\n", - "1840\n", - "1850\n", - "1860\n", - "1870\n", - "1880\n", - "1890\n", - "1900\n", - "1910\n", - "1920\n", - "1930\n", - "1940\n", - "1950\n", - "1960\n", - "1970\n", - "1980\n", - "1990\n", - "2000\n", - "2010\n", - "2020\n", - "2030\n", - "2040\n", - "2050\n", - "2060\n", - "2070\n", - "2080\n", - "2090\n", - "2100\n", - "2110\n", - "2120\n", - "2130\n", - "2140\n", - "2150\n", - "2160\n", - "2170\n", - "2180\n", - "2190\n", - "2200\n", - "2210\n", - "2220\n", - "2230\n", - "2240\n", - "2250\n", - "2260\n", - "2270\n", - "2280\n", - "2290\n", - "2300\n", - "2310\n", - "2320\n", - "2330\n", - "2340\n", - "2350\n", - "2360\n", - "2370\n", - "2380\n", - "2390\n", - "2400\n", - "2410\n", - "2420\n", - "2430\n", - "2440\n", - "2450\n", - "2460\n", - "2470\n", - "2480\n", - "2490\n", - "2500\n", - "2510\n", - "2520\n", - "2530\n", - "2540\n", - "2550\n", - "2560\n", - "2570\n", - "2580\n", - "2590\n", - "2600\n", - "2610\n", - "2620\n", - "2630\n", - "2640\n", - "2650\n", - "2660\n", - "2670\n", - "2680\n", - "2690\n", - "2700\n", - "2710\n", - "2720\n", - "2730\n", - "2740\n", - "2750\n", - "2760\n", - "2770\n", - "2780\n", - "2790\n", - "2800\n", - "2810\n", - "2820\n", - "2830\n", - "2840\n", - "2850\n", - "2860\n", - "2870\n", - "2880\n", - "2890\n", - "2900\n", - "2910\n", - "2920\n", - "2930\n", - "2940\n", - "2950\n", - "2960\n", - "2970\n", - "2980\n", - "2990\n", - "3000\n", - "3010\n", - "3020\n", - "3030\n", - "3040\n", - "3050\n", - "3060\n", - "3070\n", - "3080\n", - "3090\n", - "3100\n", - "3110\n", - "3120\n", - "3130\n", - "3140\n", - "3150\n", - "3160\n", - "3170\n", - "3180\n", - "3190\n", - "3200\n", - "3210\n", - "3220\n", - "3230\n", - "3240\n", - "3250\n", - "3260\n", - "3270\n", - "3280\n", - "3290\n", - "3300\n", - "3310\n", - "3320\n", - "3330\n", - "3340\n", - "3350\n", - "3360\n", - "3370\n", - "3380\n", - "3390\n", - "3400\n", - "3410\n", - "3420\n", - "3430\n", - "3440\n", - "3450\n", - "3460\n", - "3470\n", - "3480\n", - "3490\n", - "3500\n", - "3510\n", - "3520\n", - "3530\n", - "3540\n", - "3550\n", - "3560\n", - "3570\n", - "3580\n", - "3590\n", - "3600\n", - "3610\n", - "3620\n", - "3630\n", - "3640\n", - "3650\n", - "3660\n", - "3670\n", - "3680\n", - "3690\n", - "3700\n", - "3710\n", - "3720\n", - "3730\n", - "3740\n", - "3750\n", - "3760\n", - "3770\n", - "3780\n", - "3790\n", - "3800\n", - "3810\n", - "3820\n", - "3830\n", - "3840\n", - "3850\n", - "3860\n", - "3870\n", - "3880\n", - "3890\n", - "3900\n", - "3910\n", - "3920\n", - "3930\n", - "3940\n", - "3950\n", - "3960\n", - "3970\n", - "3980\n", - "3990\n", - "4000\n", - "4010\n", - "4020\n", - "4030\n", - "4040\n", - "4050\n", - "4060\n", - "4070\n", - "4080\n", - "4090\n", - "4100\n", - "4110\n", - "4120\n", - "4130\n", - "4140\n", - "4150\n", - "4160\n", - "4170\n", - "4180\n", - "4190\n", - "4200\n", - "4210\n", - "4220\n", - "4230\n", - "4240\n", - "4250\n", - "4260\n", - "4270\n", - "4280\n", - "4290\n", - "4300\n", - "4310\n", - "4320\n", - "4330\n", - "4340\n", - "4350\n", - "4360\n", - "4370\n", - "4380\n", - "4390\n", - "4400\n", - "4410\n", - "4420\n", - "4430\n", - "4440\n", - "4450\n", - "4460\n", - "4470\n", - "4480\n", - "4490\n", - "4500\n", - "4510\n", - "4520\n", - "4530\n", - "4540\n", - "4550\n", - "4560\n", - "4570\n", - "4580\n", - "4590\n", - "4600\n", - "4610\n", - "4620\n", - "4630\n", - "4640\n", - "4650\n", - "4660\n", - "4670\n", - "4680\n", - "4690\n", - "4700\n", - "4710\n", - "4720\n", - "4730\n", - "4740\n", - "4750\n", - "4760\n", - "4770\n", - "4780\n", - "4790\n", - "4800\n", - "4810\n", - "4820\n", - "4830\n", - "4840\n", - "4850\n", - "4860\n", - "4870\n", - "4880\n", - "4890\n", - "4900\n", - "4910\n", - "4920\n", - "4930\n", - "4940\n", - "4950\n", - "4960\n", - "4970\n", - "4980\n", - "4990\n", - "5000\n", - "5010\n", - "5020\n", - "5030\n", - "5040\n", - "5050\n", - "5060\n", - "5070\n", - "5080\n", - "5090\n", - "5100\n", - "5110\n", - "5120\n", - "5130\n", - "5140\n", - "5150\n", - "5160\n", - "5170\n", - "5180\n", - "5190\n", - "5200\n", - "5210\n", - "5220\n", - "5230\n", - "5240\n", - "5250\n", - "5260\n", - "5270\n", - "5280\n", - "5290\n", - "5300\n", - "5310\n", - "5320\n", - "5330\n", - "5340\n", - "5350\n", - "5360\n", - "5370\n", - "5380\n", - "5390\n", - "5400\n", - "5410\n", - "5420\n", - "5430\n", - "5440\n", - "5450\n", - "5460\n", - "5470\n", - "5480\n", - "5490\n", - "5500\n", - "5510\n", - "5520\n", - "5530\n", - "5540\n", - "5550\n", - "5560\n", - "5570\n", - "5580\n", - "5590\n", - "5600\n", - "5610\n", - "5620\n", - "5630\n", - "5640\n", - "5650\n", - "5660\n", - "5670\n", - "5680\n", - "5690\n", - "5700\n", - "5710\n", - "5720\n", - "5730\n", - "5740\n", - "5750\n", - "5760\n", - "5770\n", - "5780\n", - "5790\n", - "5800\n", - "5810\n", - "5820\n", - "5830\n", - "5840\n", - "5850\n", - "5860\n", - "5870\n", - "5880\n", - "5890\n", - "5900\n", - "5910\n", - "5920\n", - "5930\n", - "5940\n", - "5950\n", - "5960\n", - "5970\n", - "5980\n", - "5990\n", - "6000\n", - "6010\n", - "6020\n", - "6030\n", - "6040\n", - "6050\n", - "6060\n", - "6070\n", - "6080\n", - "6090\n", - "6100\n", - "6110\n", - "6120\n", - "6130\n", - "6140\n", - "6150\n", - "6160\n", - "6170\n", - "6180\n", - "6190\n", - "6200\n", - "6210\n", - "6220\n", - "6230\n", - "6240\n", - "6250\n", - "6260\n", - "6270\n", - "6280\n", - "6290\n", - "6300\n", - "6310\n", - "6320\n", - "6330\n", - "6340\n", - "6350\n", - "6360\n", - "6370\n", - "6380\n", - "6390\n", - "6400\n", - "6410\n", - "6420\n", - "6430\n", - "6440\n", - "6450\n", - "6460\n", - "6470\n", - "6480\n", - "6490\n", - "6500\n", - "6510\n", - "6520\n", - "6530\n", - "6540\n", - "6550\n", - "6560\n", - "6570\n", - "6580\n", - "6590\n", - "6600\n", - "6610\n", - "6620\n", - "6630\n", - "6640\n", - "6650\n", - "6660\n", - "6670\n", - "6680\n", - "6690\n", - "6700\n", - "6710\n", - "6720\n", - "6730\n", - "6740\n", - "6750\n", - "6760\n", - "6770\n", - "6780\n", - "6790\n", - "6800\n", - "6810\n", - "6820\n", - "6830\n", - "6840\n", - "6850\n", - "6860\n", - "6870\n", - "6880\n", - "6890\n", - "6900\n", - "6910\n", - "6920\n", - "6930\n", - "6940\n", - "6950\n", - "6960\n", - "6970\n", - "6980\n", - "6990\n", - "7000\n", - "7010\n", - "7020\n", - "7030\n", - "7040\n", - "7050\n", - "7060\n", - "7070\n", - "7080\n", - "7090\n", - "7100\n", - "7110\n", - "7120\n", - "7130\n", - "7140\n", - "7150\n", - "7160\n", - "7170\n", - "7180\n", - "7190\n", - "7200\n", - "7210\n", - "7220\n", - "7230\n", - "7240\n", - "7250\n", - "7260\n", - "7270\n", - "7280\n", - "7290\n", - "7300\n", - "7310\n", - "7320\n", - "7330\n", - "7340\n", - "7350\n", - "7360\n", - "7370\n", - "7380\n", - "7390\n", - "7400\n", - "7410\n", - "7420\n", - "7430\n", - "7440\n", - "7450\n", - "7460\n", - "7470\n", - "7480\n", - "7490\n", - "7500\n", - "7510\n", - "7520\n", - "7530\n", - "7540\n", - "7550\n", - "7560\n", - "7570\n", - "7580\n", - "7590\n", - "7600\n", - "7610\n", - "7620\n", - "7630\n", - "7640\n", - "7650\n", - "7660\n", - "7670\n", - "7680\n", - "7690\n", - "7700\n", - "7710\n", - "7720\n", - "7730\n", - "7740\n", - "7750\n", - "7760\n", - "7770\n", - "7780\n", - "7790\n", - "7800\n", - "7810\n", - "7820\n", - "7830\n", - "7840\n", - "7850\n", - "7860\n", - "7870\n", - "7880\n", - "7890\n", - "7900\n", - "7910\n", - "7920\n", - "7930\n", - "7940\n", - "7950\n", - "7960\n", - "7970\n", - "7980\n", - "7990\n", - "8000\n", - "8010\n", - "8020\n", - "8030\n", - "8040\n", - "8050\n", - "8060\n", - "8070\n", - "8080\n", - "8090\n", - "8100\n", - "8110\n", - "8120\n", - "8130\n", - "8140\n", - "8150\n", - "8160\n", - "8170\n", - "8180\n", - "8190\n", - "8200\n", - "8210\n", - "8220\n", - "8230\n", - "8240\n", - "8250\n", - "8260\n", - "8270\n", - "8280\n", - "8290\n", - "8300\n", - "8310\n", - "8320\n", - "8330\n", - "8340\n", - "8350\n", - "8360\n", - "8370\n", - "8380\n", - "8390\n", - "8400\n", - "8410\n", - "8420\n", - "8430\n", - "8440\n", - "8450\n", - "8460\n", - "8470\n", - "8480\n", - "8490\n", - "8500\n", - "8510\n", - "8520\n", - "8530\n", - "8540\n", - "8550\n", - "8560\n", - "8570\n", - "8580\n", - "8590\n", - "8600\n", - "8610\n", - "8620\n", - "8630\n", - "8640\n", - "8650\n", - "8660\n", - "8670\n", - "8680\n", - "8690\n", - "8700\n", - "8710\n", - "8720\n", - "8730\n", - "8740\n", - "8750\n", - "8760\n", - "8770\n", - "8780\n", - "8790\n", - "8800\n", - "8810\n", - "8820\n", - "8830\n", - "8840\n", - "8850\n", - "8860\n", - "8870\n", - "8880\n", - "8890\n", - "8900\n", - "8910\n", - "8920\n", - "8930\n", - "8940\n", - "8950\n", - "8960\n", - "8970\n", - "8980\n", - "8990\n" - ] - } - ], - "source": [ - "fs = 22050\n", - "t = 2 ** 18 / 22050\n", - "samples = torch.arange(t * fs) / fs\n", - "\n", - "for i in range(300, 8000):\n", - " f = i\n", - " signal1 = torch.sin(2 * torch.pi * f * samples)\n", - " signal2 = torch.sin(2 * torch.pi * (f*2) * samples)\n", - " stacked_signal = torch.stack((signal1, signal2)).unsqueeze(1)\n", - " stacked_signal = stacked_signal.to(device)\n", - " loss = model(stacked_signal)\n", - " loss.backward() \n", - " if i % 10 == 0:\n", - " print(i)\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "bda06495-0546-4474-ba5c-bf55e4887329", - "metadata": {}, - "outputs": [], - "source": [ - "# Sample 2 sources given start noise\n", - "noise = torch.randn(2, 1, 2 ** 18)\n", - "noise = noise.to(device)\n", - "sampled = model.sample(\n", - " noise=noise,\n", - " num_steps=10 # Suggested range: 2-50\n", - ") # [2, 1, 2 ** 18]" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "2d025c1e-3618-4801-9b9b-b4e50e41dcf7", - "metadata": {}, - "outputs": [], - "source": [ - "z = sampled[1]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "583d4d28-7b1b-463b-8642-4975b36f38f2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([1, 262144])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "z.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "eeec47b7-4b99-4239-9c61-fd36ad881876", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(z.cpu(), rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "4d87215c-4f2d-410b-ac33-7cc1d9f73fac", - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'sig' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn [14], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m Audio(\u001b[43msig\u001b[49m[\u001b[38;5;241m0\u001b[39m], rate\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m22050\u001b[39m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'sig' is not defined" - ] - } - ], - "source": [ - "Audio(sig[0], rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "2ccb733d-706a-4535-93b6-73ae2469de8a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(stacked_signal[1].cpu(), rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "0377cc63-846b-4acf-8fa9-f1d4a2b07be4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "7999" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "i" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "dcf6a106-7967-470a-932e-156b00e46ab2", - "metadata": {}, - "outputs": [], - "source": [ - "f = 4000\n", - "signal1 = torch.sin(2 * torch.pi * f * samples)\n", - "signal2 = torch.sin(2 * torch.pi * (f*2) * samples)" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "fac2d679-9e68-4bcc-8119-745435d128ed", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(signal1.cpu(), rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "ddf58e57-4660-4e1a-83e3-5909da3b42fe", - "metadata": {}, - "outputs": [], - "source": [ - "fs = 22050\n", - "f = 440\n", - "t = 2 ** 18 / 22050\n", - "samples = torch.arange(t * fs) / fs\n", - "signal = torch.sin(2 * torch.pi * f * samples)\n", - "sig = torch.stack((signal, signal)).unsqueeze(1)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "faef7cc2-94b0-4b85-919f-0339542570c7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([2, 1, 262144])" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sig.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "6cd94fea-3d4c-4a5b-bcba-2220fb3e9414", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "16384.0" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "262144 / 16" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "id": "a62143ce-e47b-49e8-979f-e9241068d744", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([264600])" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "signal.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "e79b1b33-1905-4ae6-9dbe-73b68eec1dc5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(sig[0], rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "a6a2bb97", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 500/500 [15:47:21<00:00, 113.68s/it] \n" - ] - } - ], - "source": [ - "epochs = 500\n", - "for i in tqdm(range(epochs)):\n", - " for batch in data:\n", - " loss = model(batch)\n", - " loss.backward()\n", - " if i % 10 == 0:\n", - " wandb.log({\"loss\": loss})\n", - " with torch.no_grad():\n", - " noise = torch.randn(1, 1, 2**17).to(device)\n", - " sampled = model.sample(noise=noise, num_steps=40)\n", - " z = sampled.view(-1)\n", - " wandb.log({f\"Audio_{i}\": wandb.Audio(z.cpu().numpy(), sample_rate=SAMPLE_RATE)})\n", - " \n", - " \n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 259, - "id": "d18e4816", - "metadata": {}, - "outputs": [], - "source": [ - "noise = torch.randn(1, 1, 2**17)\n", - "sampled = model.sample(noise=noise, num_steps=50)" - ] - }, - { - "cell_type": "code", - "execution_count": 260, - "id": "054e708f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([1, 1, 131072]) tensor([[[-0.4879, -0.4534, -0.4094, ..., -1.0000, 0.8554, -0.9605]]])\n" - ] - } - ], - "source": [ - "print(sampled.shape, sampled)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "fc8becc0", - "metadata": {}, - "outputs": [], - "source": [ - "z = sampled.view(-1)\n", - "# z = z.mean(axis=0)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c2296ba-7e43-4155-a754-349a7ee5f519", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "887fc2c1-de1a-4847-86ca-88b7c59f45fb", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55e3555b-3f88-4a33-9fc8-a47bf5f28df7", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/diffusion_test.ipynb b/notebooks/diffusion_test.ipynb deleted file mode 100644 index 7b59f1b3cc5b8dabcbf2edac9fe19b474a758785..0000000000000000000000000000000000000000 --- a/notebooks/diffusion_test.ipynb +++ /dev/null @@ -1,876 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "4c52cc1c-91f1-4b79-924b-041d2929ef7b", - "metadata": {}, - "outputs": [], - "source": [ - "from audio_diffusion_pytorch import AudioDiffusionModel, Sampler, Schedule, VSampler, LinearSchedule, AudioDiffusionAE\n", - "import torch\n", - "from torch import Tensor, nn, optim\n", - "from IPython.display import Audio\n", - "import pytorch_lightning as pl\n", - "from torch.utils.data import random_split, DataLoader, Dataset\n", - "\n", - "from einops import rearrange\n", - "from ema_pytorch import EMA\n", - "from pytorch_lightning import Callback, Trainer\n", - "from typing import Any, Callable, Dict, List, Optional, Sequence, Union\n", - "from pytorch_lightning.loggers import WandbLogger\n", - "import wandb\n", - "import torchaudio\n", - "import librosa\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a005011f-3019-4d34-bdf2-9a00e5480282", - "metadata": {}, - "outputs": [], - "source": [ - "# device = torch.device(\"cuda:1\" if torch.cuda.is_available() else \"cpu\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6349ed8e-f418-436f-860e-62a51e48f79a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", - "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmattricesound\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" - ] - }, - { - "data": { - "text/html": [ - "Tracking run with wandb version 0.13.7" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Run data is saved locally in ./wandb/run-20230107_213018-192gzo2n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Syncing run laced-bush-17 to Weights & Biases (docs)
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "wandb_logger = WandbLogger(project=\"RemFX\", save_dir=\"./\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1b689f18-375f-4b40-9ddc-a4ced6a5e5e4", - "metadata": {}, - "outputs": [], - "source": [ - "#AudioDiffusionModel\n", - "#AudioDiffusionAE\n", - "model = AudioDiffusionModel(in_channels=1, \n", - " patch_size=1,\n", - " multipliers=[1, 2, 4, 4, 4, 4, 4],\n", - " factors=[2, 2, 2, 2, 2, 2],\n", - " num_blocks=[2, 2, 2, 2, 2, 2],\n", - " attentions=[0, 0, 0, 0, 0, 0]\n", - " )\n", - "\n", - "\n", - "# model = model.to(device)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "950711d4-9e8a-4af1-8d56-204e4ce0a19b", - "metadata": {}, - "outputs": [], - "source": [ - "class Model(pl.LightningModule):\n", - " def __init__(\n", - " self,\n", - " lr: float,\n", - " lr_eps: float,\n", - " lr_beta1: float,\n", - " lr_beta2: float,\n", - " lr_weight_decay: float,\n", - " ema_beta: float,\n", - " ema_power: float,\n", - " model: nn.Module,\n", - " ):\n", - " super().__init__()\n", - " self.lr = lr\n", - " self.lr_eps = lr_eps\n", - " self.lr_beta1 = lr_beta1\n", - " self.lr_beta2 = lr_beta2\n", - " self.lr_weight_decay = lr_weight_decay\n", - " self.model = model\n", - " self.model_ema = EMA(self.model, beta=ema_beta, power=ema_power)\n", - "\n", - " @property\n", - " def device(self):\n", - " return next(self.model.parameters()).device\n", - "\n", - " def configure_optimizers(self):\n", - " optimizer = torch.optim.AdamW(\n", - " list(self.parameters()),\n", - " lr=self.lr,\n", - " betas=(self.lr_beta1, self.lr_beta2),\n", - " eps=self.lr_eps,\n", - " weight_decay=self.lr_weight_decay,\n", - " )\n", - " return optimizer\n", - "\n", - " def training_step(self, batch, batch_idx):\n", - " waveforms = batch\n", - " loss = self.model(waveforms)\n", - " self.log(\"train_loss\", loss)\n", - " self.model_ema.update()\n", - " self.log(\"ema_decay\", self.model_ema.get_current_decay())\n", - " return loss\n", - "\n", - " def validation_step(self, batch, batch_idx):\n", - " waveforms = batch\n", - " loss = self.model_ema(waveforms)\n", - " self.log(\"valid_loss\", loss)\n", - " return loss" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7ce9b20b-d163-425a-a92d-8ddb1a92b905", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "cfa42700-f190-485d-84b9-d9203f8275d7", - "metadata": {}, - "outputs": [], - "source": [ - "params = {\n", - " \"lr\": 1e-4,\n", - " \"lr_beta1\": 0.95,\n", - " \"lr_beta2\": 0.999,\n", - " \"lr_eps\": 1e-6,\n", - " \"lr_weight_decay\": 1e-3,\n", - " \"ema_beta\": 0.995,\n", - " \"ema_power\": 0.7,\n", - " \"model\": model \n", - "}\n", - "diffModel = Model(**params)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "aa4029a4-efd8-4922-a863-cf7677e86c05", - "metadata": {}, - "outputs": [], - "source": [ - "fs = 22050\n", - "t = 2 ** 18 / fs # 12 seconds\n", - "\n", - "class SinDataset(Dataset):\n", - " def __init__(self, num):\n", - " self.n = num\n", - " self.samples = torch.arange(t * fs) / fs\n", - " def __len__(self):\n", - " return self.n\n", - " def __getitem__(self, i): \n", - " f = 6000 * torch.rand(1) + 300\n", - " signal = torch.sin(2 * torch.pi * (f*2) * self.samples).unsqueeze(0)\n", - " return signal" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "ae57ad99-fdaf-4720-91b0-ce9338e6a811", - "metadata": {}, - "outputs": [], - "source": [ - "data = DataLoader(SinDataset(1000), batch_size=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "7b131b37-485f-4d4f-8616-6e7afe25beb9", - "metadata": {}, - "outputs": [], - "source": [ - "val_data = DataLoader(SinDataset(1000), batch_size=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "4d98c1a0-1763-4d0b-be1d-e84ace68bebb", - "metadata": {}, - "outputs": [], - "source": [ - "dataiter = iter(data)\n", - "x = next(dataiter)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "c3259082-20d5-415c-8a88-3b97af6615ee", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([2, 1, 262144])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "d1ec36ea-0f9c-49f6-8f24-a479084ea230", - "metadata": {}, - "outputs": [], - "source": [ - "class SampleLogger(Callback):\n", - " def __init__(\n", - " self,\n", - " num_items: int,\n", - " channels: int,\n", - " sampling_rate: int,\n", - " length: int,\n", - " sampling_steps: List[int],\n", - " diffusion_schedule: Schedule,\n", - " diffusion_sampler: Sampler,\n", - " use_ema_model: bool,\n", - " ) -> None:\n", - " self.num_items = num_items\n", - " self.channels = channels\n", - " self.sampling_rate = sampling_rate\n", - " self.length = length\n", - " self.sampling_steps = sampling_steps\n", - " self.diffusion_schedule = diffusion_schedule\n", - " self.diffusion_sampler = diffusion_sampler\n", - " self.use_ema_model = use_ema_model\n", - "\n", - " self.log_next = False\n", - "\n", - " def on_validation_epoch_start(self, trainer, pl_module):\n", - " self.log_next = True\n", - "\n", - " def on_validation_batch_start(\n", - " self, trainer, pl_module, batch, batch_idx, dataloader_idx\n", - " ):\n", - " if self.log_next:\n", - " self.log_sample(trainer, pl_module, batch)\n", - " self.log_next = False\n", - "\n", - " @torch.no_grad()\n", - " def log_sample(self, trainer, pl_module, batch):\n", - " is_train = pl_module.training\n", - " if is_train:\n", - " pl_module.eval()\n", - "\n", - " wandb_logger = get_wandb_logger(trainer).experiment\n", - "\n", - " diffusion_model = pl_module.model\n", - " if self.use_ema_model:\n", - " diffusion_model = pl_module.model_ema.ema_model\n", - " # Get start diffusion noise\n", - " noise = torch.randn(\n", - " (self.num_items, self.channels, self.length), device=pl_module.device\n", - " )\n", - "\n", - " for steps in self.sampling_steps:\n", - " samples = diffusion_model.sample(\n", - " noise=noise,\n", - " sampler=self.diffusion_sampler,\n", - " sigma_schedule=self.diffusion_schedule,\n", - " num_steps=steps,\n", - " )\n", - " log_wandb_audio_batch(\n", - " logger=wandb_logger,\n", - " id=\"sample\",\n", - " samples=samples,\n", - " sampling_rate=self.sampling_rate,\n", - " caption=f\"Sampled in {steps} steps\",\n", - " )\n", - " # log_wandb_audio_spectrogram(\n", - " # logger=wandb_logger,\n", - " # id=\"sample\",\n", - " # samples=samples,\n", - " # sampling_rate=self.sampling_rate,\n", - " # caption=f\"Sampled in {steps} steps\",\n", - " # )\n", - "\n", - " if is_train:\n", - " pl_module.train()\n", - "\n", - "def get_wandb_logger(trainer: Trainer) -> Optional[WandbLogger]:\n", - " \"\"\"Safely get Weights&Biases logger from Trainer.\"\"\"\n", - "\n", - " if isinstance(trainer.logger, WandbLogger):\n", - " return trainer.logger\n", - "\n", - " if isinstance(trainer.logger, LoggerCollection):\n", - " for logger in trainer.logger:\n", - " if isinstance(logger, WandbLogger):\n", - " return logger\n", - "\n", - " print(\"WandbLogger not found.\")\n", - " return None\n", - "\n", - "\n", - "def log_wandb_audio_batch(\n", - " logger: WandbLogger, id: str, samples: Tensor, sampling_rate: int, caption: str = \"\"\n", - "):\n", - " num_items = samples.shape[0]\n", - " samples = rearrange(samples, \"b c t -> b t c\").detach().cpu().numpy()\n", - " logger.log(\n", - " {\n", - " f\"sample_{idx}_{id}\": wandb.Audio(\n", - " samples[idx],\n", - " caption=caption,\n", - " sample_rate=sampling_rate,\n", - " )\n", - " for idx in range(num_items)\n", - " }\n", - " )\n", - "\n", - "\n", - "def log_wandb_audio_spectrogram(\n", - " logger: WandbLogger, id: str, samples: Tensor, sampling_rate: int, caption: str = \"\"\n", - "):\n", - " num_items = samples.shape[0]\n", - " samples = samples.detach().cpu()\n", - " transform = torchaudio.transforms.MelSpectrogram(\n", - " sample_rate=sampling_rate,\n", - " n_fft=1024,\n", - " hop_length=512,\n", - " n_mels=80,\n", - " center=True,\n", - " norm=\"slaney\",\n", - " )\n", - "\n", - " def get_spectrogram_image(x):\n", - " spectrogram = transform(x[0])\n", - " image = librosa.power_to_db(spectrogram)\n", - " trace = [go.Heatmap(z=image, colorscale=\"viridis\")]\n", - " layout = go.Layout(\n", - " yaxis=dict(title=\"Mel Bin (Log Frequency)\"),\n", - " xaxis=dict(title=\"Frame\"),\n", - " title_text=caption,\n", - " title_font_size=10,\n", - " )\n", - " fig = go.Figure(data=trace, layout=layout)\n", - " return fig\n", - "\n", - " logger.log(\n", - " {\n", - " f\"mel_spectrogram_{idx}_{id}\": get_spectrogram_image(samples[idx])\n", - " for idx in range(num_items)\n", - " }\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "27c038a6-38f1-4a61-a472-2591ae39af3b", - "metadata": {}, - "outputs": [], - "source": [ - "vsampler = VSampler()\n", - "linear_schedule = LinearSchedule()\n", - "samples_config = {\n", - " \"num_items\": 3,\n", - " \"channels\": 1,\n", - " \"sampling_rate\": fs,\n", - " \"sampling_steps\": [3,5,10,25,50,100],\n", - " \"use_ema_model\": True,\n", - " \"diffusion_sampler\": vsampler,\n", - " \"length\": 262144,\n", - " \"diffusion_schedule\": linear_schedule\n", - "}\n", - "s = SampleLogger(**samples_config)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ffe84ea2-6e3f-42f0-a261-57649574a601", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "8f8f3cda-da27-477c-b553-bca4eaad69ea", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (cuda), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n" - ] - } - ], - "source": [ - "trainer = pl.Trainer(limit_train_batches=100, max_epochs=100, accelerator='gpu', devices=[1], callbacks=[s], logger=wandb_logger)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47b8760a-8ee3-4212-8817-a804fd02fade", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1,2,3]\n", - "\n", - " | Name | Type | Params\n", - "--------------------------------------------------\n", - "0 | model | AudioDiffusionModel | 74.3 M\n", - "1 | model_ema | EMA | 148 M \n", - "--------------------------------------------------\n", - "74.3 M Trainable params\n", - "74.3 M Non-trainable params\n", - "148 M Total params\n", - "594.631 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/opt/conda/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/data_connector.py:224: PossibleUserWarning: The dataloader, val_dataloader 0, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 48 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.\n", - " rank_zero_warn(\n", - "/opt/conda/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/data_connector.py:224: PossibleUserWarning: The dataloader, train_dataloader, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 48 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.\n", - " rank_zero_warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5327d73bb6114877adb4e9f991058eea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c6e6b42717824054b576e47f92878ef5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "trainer.fit(model=diffModel, train_dataloaders=data, val_dataloaders=val_data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1f64d981-c9dc-4afa-b783-d017f99633da", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "53bba197-83eb-40a2-b748-a4c25e628356", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "49db25f0-8bda-4693-9872-cbf24c40b575", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29ed502f-2daf-4210-81ff-a90ade519086", - "metadata": {}, - "outputs": [], - "source": [ - "# Old code below" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "bd8a1cb4-42b5-43bc-9a12-f594ce069b33", - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'device' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn [14], line 12\u001b[0m\n\u001b[1;32m 10\u001b[0m signal2 \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39msin(\u001b[38;5;241m2\u001b[39m \u001b[38;5;241m*\u001b[39m torch\u001b[38;5;241m.\u001b[39mpi \u001b[38;5;241m*\u001b[39m (f\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m) \u001b[38;5;241m*\u001b[39m samples)\n\u001b[1;32m 11\u001b[0m stacked_signal \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mstack((signal1, signal2))\u001b[38;5;241m.\u001b[39munsqueeze(\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m---> 12\u001b[0m stacked_signal \u001b[38;5;241m=\u001b[39m stacked_signal\u001b[38;5;241m.\u001b[39mto(\u001b[43mdevice\u001b[49m)\n\u001b[1;32m 13\u001b[0m loss \u001b[38;5;241m=\u001b[39m model(stacked_signal)\n\u001b[1;32m 14\u001b[0m loss\u001b[38;5;241m.\u001b[39mbackward() \n", - "\u001b[0;31mNameError\u001b[0m: name 'device' is not defined" - ] - } - ], - "source": [ - "fs = 22050\n", - "t = 2 ** 18 / 22050\n", - "samples = torch.arange(t * fs) / fs\n", - "\n", - "for i in range(300, 8000):\n", - " f = i\n", - " # Create 2 sine waves (one at f=step, other is octave up) \n", - " # There is aliasing at higher freq, but since it is sinusoids, that doesn't matter too much\n", - " signal1 = torch.sin(2 * torch.pi * f * samples)\n", - " signal2 = torch.sin(2 * torch.pi * (f*2) * samples)\n", - " stacked_signal = torch.stack((signal1, signal2)).unsqueeze(1)\n", - " stacked_signal = stacked_signal.to(device)\n", - " loss = model(stacked_signal)\n", - " loss.backward() \n", - " if i % 10 == 0:\n", - " print(\"Step\", i)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "71d17c51-842c-40a1-81a1-a53bf358bc8a", - "metadata": {}, - "outputs": [], - "source": [ - "# Sample 2 sources given start noise\n", - "noise = torch.randn(2, 1, 2 ** 18)\n", - "noise = noise.to(device)\n", - "sampled = model.sample(\n", - " noise=noise,\n", - " num_steps=10 # Suggested range: 2-50\n", - ") # [2, 1, 2 ** 18]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "59d71efa-05ac-4545-84da-8c09c033dfd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "z = sampled[1]\n", - "Audio(z.cpu(), rate=22050)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "81eddd71-bba7-4c62-8d50-900b295bb2f8", - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'z' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn [12], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mz\u001b[49m\u001b[38;5;241m.\u001b[39mshape\n", - "\u001b[0;31mNameError\u001b[0m: name 'z' is not defined" - ] - } - ], - "source": [ - "z.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a3f582f-a956-4326-872b-416cc13b77ee", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/egfx.ipynb b/notebooks/egfx.ipynb deleted file mode 100644 index b7e8a06aa5f13f258da389f325dae884c24183f0..0000000000000000000000000000000000000000 --- a/notebooks/egfx.ipynb +++ /dev/null @@ -1,603 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "import mirdata\n", - "from torch.utils.data import Dataset, DataLoader\n", - "import torchaudio\n", - "import torchaudio.transforms as T\n", - "import torch.nn.functional as F\n", - "from pathlib import Path\n", - "from typing import List\n", - "import torch\n" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "effect_type = [\"Phaser\"]\n", - "root=Path(\"./data/egfx\")\n", - "wet_files = []\n", - "dry_files = []\n", - "labels = []" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "for i, effect in enumerate(effect_type):\n", - " for pickup in Path(root / effect).iterdir():\n", - " wet_files += list(pickup.glob(\"*.wav\"))\n", - " dry_files += list(root.glob(f\"Clean/{pickup.name}/**/*.wav\"))\n", - " \n", - " labels += [i] * len(wet_files)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "LENGTH = 2**18 # 12 seconds\n", - "ORIG_SR = 48000" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "class GuitarFXDataset(Dataset):\n", - " def __init__(\n", - " self,\n", - " root: str,\n", - " sample_rate: int,\n", - " length: int = LENGTH,\n", - " effect_type: List[str] = None,\n", - " ):\n", - " self.length = length\n", - " self.wet_files = []\n", - " self.dry_files = []\n", - " self.labels = []\n", - " self.root = Path(root)\n", - " if effect_type is None:\n", - " effect_type = [\n", - " d.name for d in self.root.iterdir() if d.is_dir() and d != \"Clean\"\n", - " ]\n", - " for i, effect in enumerate(effect_type):\n", - " for pickup in Path(self.root / effect).iterdir():\n", - " self.wet_files += sorted(list(pickup.glob(\"*.wav\")))\n", - " self.dry_files += sorted(\n", - " list(self.root.glob(f\"Clean/{pickup.name}/**/*.wav\"))\n", - " )\n", - " self.labels += [i] * len(self.wet_files)\n", - " print(\n", - " f\"Found {len(self.wet_files)} wet files and {len(self.dry_files)} dry files\"\n", - " )\n", - " self.resampler = T.Resample(ORIG_SR, sample_rate)\n", - "\n", - " def __len__(self):\n", - " return len(self.dry_files)\n", - "\n", - " def __getitem__(self, idx):\n", - " print(idx, self.wet_files[idx], self.dry_files[idx])\n", - " x, sr = torchaudio.load(self.wet_files[idx])\n", - " y, sr = torchaudio.load(self.dry_files[idx])\n", - " effect_label = self.labels[idx]\n", - "\n", - " resampled_x = self.resampler(x)\n", - " resampled_y = self.resampler(y)\n", - " # Pad or crop to length\n", - " if resampled_x.shape[-1] < self.length:\n", - " resampled_x = F.pad(resampled_x, (0, self.length - resampled_x.shape[1]))\n", - " elif resampled_x.shape[-1] > self.length:\n", - " resampled_x = resampled_x[:, : self.length]\n", - " if resampled_y.shape[-1] < self.length:\n", - " resampled_y = F.pad(resampled_y, (0, self.length - resampled_y.shape[1]))\n", - " elif resampled_y.shape[-1] > self.length:\n", - " resampled_y = resampled_y[:, : self.length]\n", - " return (resampled_x, resampled_y, effect_label)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "SAMPLE_RATE = 22050\n", - "TRAIN_SPLIT = 0.8" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Found 690 wet files and 690 dry files\n" - ] - } - ], - "source": [ - "guitfx = GuitarFXDataset(\n", - " root=\"./data/egfx\",\n", - " sample_rate=SAMPLE_RATE,\n", - " effect_type=[\"Phaser\"],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "train_size = int(TRAIN_SPLIT * len(guitfx))\n", - "val_size = len(guitfx) - train_size\n", - "train_dataset, val_dataset = torch.utils.data.random_split(\n", - " guitfx, [train_size, val_size]\n", - ")\n", - "val = DataLoader(val_dataset, batch_size=2)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[560, 150, 218, 404, 292, 509, 10, 315, 554, 6, 169, 116, 601, 309, 280, 510, 559, 197, 613, 424, 500, 460, 273, 467, 190, 534, 642, 112, 635, 283, 217, 7, 679, 526, 73, 102, 134, 263, 449, 142, 215, 154, 181, 378, 425, 278, 208, 58, 323, 210, 388, 363, 249, 57, 479, 79, 508, 429, 237, 390, 435, 62, 254, 528, 614, 311, 680, 61, 374, 668, 373, 594, 9, 677, 188, 2, 91, 633, 549, 257, 170, 183, 465, 502, 244, 664, 632, 356, 581, 145, 81, 85, 232, 250, 571, 118, 319, 308, 536, 592, 607, 566, 609, 302, 576, 354, 35, 493, 593, 437, 636, 495, 506, 153, 638, 164, 229, 456, 34, 518, 381, 322, 304, 565, 52, 499, 66, 39, 220, 38, 111, 454, 267, 98, 563, 585, 121, 391]\n" - ] - } - ], - "source": [ - "print(val_dataset.indices)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[tensor([[[0.0482, 0.0772, 0.0682, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0092, 0.0138, 0.0139, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0007, -0.0009, 0.0074, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0007, 0.0036, 0.0064, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0027, 0.0050, 0.0063, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0043, 0.0077, 0.0084, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0023, 0.0026, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0023, 0.0034, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0008, 0.0017, 0.0056, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0008, 0.0016, 0.0016, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0022, 0.0028, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0003, 0.0009, 0.0011, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0071, 0.0107, 0.0078, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0043, 0.0011, -0.0055, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0004, -0.0014, -0.0022, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0013, 0.0045, 0.0072, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0022, 0.0036, 0.0059, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0431, 0.0687, 0.0638, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0009, 0.0030, 0.0047, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0001, -0.0012, -0.0022, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0053, 0.0082, 0.0058, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0035, -0.0036, -0.0021, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0003, 0.0019, 0.0038, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0003, -0.0029, -0.0058, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0069, 0.0106, 0.0078, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0035, -0.0040, -0.0034, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0003, 0.0010, 0.0034, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0020, -0.0076, -0.0117, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0044, 0.0086, 0.0079, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0016, -0.0022, -0.0014, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0006, -0.0020, -0.0020, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0002, -0.0009, -0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0027, 0.0027, 0.0002, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0033, 0.0048, 0.0028, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0008, 0.0035, 0.0059, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0006, 0.0011, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0056, 0.0341, 0.0562, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0009, -0.0013, -0.0002, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0021, 0.0092, 0.0056, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0007, 0.0021, 0.0023, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0014, 0.0024, 0.0030, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.1450, -0.1390, -0.0209, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 2.6921e-04, 1.6453e-03, 2.7682e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[-3.2024e-02, -1.9613e-01, -4.0412e-01, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0059, -0.0064, -0.0022, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0039, -0.0046, -0.0021, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0002, -0.0021, -0.0037, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0004, -0.0017, -0.0031, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0086, 0.0122, 0.0111, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0114, -0.0113, -0.0039, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0004, 0.0043, 0.0085, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0010, -0.0059, -0.0108, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0069, 0.0105, 0.0097, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0069, 0.0100, 0.0067, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[1.4215e-04, 2.1199e-03, 5.7695e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[9.1938e-05, 1.1531e-03, 2.8006e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[0.0012, 0.0038, 0.0057, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0035, 0.0058, 0.0088, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0004, 0.0013, 0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0003, 0.0022, 0.0044, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0011, 0.0023, 0.0030, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0033, -0.0038, -0.0007, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0003, 0.0023, 0.0041, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0038, 0.0079, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0020, -0.0012, -0.0042, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0035, 0.0056, 0.0063, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0013, 0.0048, 0.0063, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0026, 0.0049, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0033, -0.0054, -0.0052, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0031, 0.0057, 0.0069, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0021, 0.0064, 0.0081, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0004, 0.0015, 0.0021, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0023, -0.0059, -0.0074, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0087, 0.0125, 0.0101, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0004, -0.0011, -0.0011, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0019, 0.0071, 0.0113, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0046, 0.0039, -0.0007, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0038, 0.0021, 0.0117, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0003, 0.0024, 0.0042, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0048, 0.0240, 0.0323, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0064, 0.0104, 0.0116, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0028, -0.0033, -0.0007, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0010, 0.0047, 0.0074, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0013, 0.0009, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0042, 0.0073, 0.0064, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0015, 0.0029, 0.0041, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0026, 0.0033, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0004, 0.0016, 0.0026, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0016, -0.0054, -0.0048, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0113, 0.0209, 0.0223, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0014, 0.0034, 0.0026, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0004, -0.0024, -0.0011, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0064, 0.0108, 0.0107, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0007, -0.0040, -0.0083, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0005, 0.0018, 0.0035, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0008, 0.0012, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0071, 0.0064, -0.0008, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0024, 0.0039, 0.0042, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0018, 0.0064, 0.0094, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0001, 0.0008, 0.0019, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0075, 0.0099, 0.0065, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0008, 0.0010, 0.0005, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0032, 0.0058, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0006, 0.0023, 0.0029, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0024, -0.0027, -0.0021, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0096, 0.0151, 0.0139, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0003, -0.0012, -0.0023, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0001, -0.0010, -0.0015, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0012, 0.0027, 0.0036, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0030, 0.0039, 0.0039, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0005, 0.0015, 0.0021, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0003, -0.0010, -0.0016, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0006, 0.0012, 0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0033, -0.0041, -0.0015, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0001, 0.0003, 0.0002, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0005, -0.0021, -0.0035, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0041, 0.0051, 0.0031, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0005, 0.0005, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0006, 0.0025, 0.0042, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0006, 0.0015, 0.0015, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0111, 0.0142, 0.0113, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0015, 0.0030, 0.0035, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 4.1647e-04, 3.4729e-03, 9.2547e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[-6.6249e-05, -7.6026e-04, -1.4447e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0004, 0.0005, 0.0029, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0025, 0.0042, 0.0035, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0004, 0.0015, 0.0015, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0005, 0.0011, 0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0009, 0.0009, 0.0006, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0147, 0.0051, -0.0118, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0008, 0.0028, 0.0037, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0010, 0.0134, 0.0304, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0015, 0.0026, 0.0049, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0030, 0.0060, 0.0081, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0003, 0.0015, 0.0035, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0010, 0.0015, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0019, 0.0052, 0.0092, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0031, -0.0043, -0.0041, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0002, 0.0005, 0.0007, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0010, -0.0047, -0.0077, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0014, 0.0019, 0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0005, -0.0015, -0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0002, 0.0011, 0.0020, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0008, 0.0032, 0.0038, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0097, 0.0098, 0.0010, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0106, 0.0109, 0.0012, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0003, -0.0013, -0.0023, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0002, 0.0021, 0.0052, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0030, 0.0057, 0.0084, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0037, -0.0044, -0.0016, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0013, 0.0051, 0.0077, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0006, 0.0007, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0050, 0.0078, 0.0072, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0022, -0.0033, -0.0034, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0003, 0.0014, 0.0022, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0006, -0.0028, -0.0046, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0014, -0.0020, -0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0069, 0.0159, 0.0219, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0002, 0.0004, -0.0001, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0008, 0.0033, 0.0045, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0027, -0.0035, -0.0092, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0004, 0.0005, 0.0015, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0029, -0.0107, -0.0177, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0006, 0.0013, 0.0007, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0286, 0.0299, 0.0081, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0002, 0.0009, 0.0020, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-2.5037e-03, -1.1195e-03, 1.1923e-02, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[ 1.5308e-04, -3.6808e-05, -5.5343e-04, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[0.0018, 0.0027, 0.0019, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0055, 0.0096, 0.0124, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0002, 0.0022, 0.0032, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0017, 0.0032, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 3.7041e-03, 5.7321e-03, 5.1036e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[ 2.1164e-03, 1.5563e-03, -7.2010e-05, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([[[0.0013, 0.0040, 0.0052, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0009, 0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0020, -0.0022, -0.0008, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0088, 0.0130, 0.0157, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-4.7201e-05, -2.4349e-04, -5.1608e-04, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[ 1.2934e-03, 4.1513e-03, 3.6547e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[0.0018, 0.0069, 0.0096, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0026, 0.0024, 0.0006, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 3.0634e-04, 1.1319e-03, 1.7446e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[-8.3813e-05, -7.7285e-04, -1.7113e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[0.0009, 0.0013, 0.0017, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0070, 0.0122, 0.0151, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0001, 0.0013, 0.0024, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0008, 0.0034, 0.0060, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0075, 0.0141, 0.0187, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0023, 0.0025, 0.0019, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0002, 0.0012, 0.0024, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0007, 0.0028, 0.0046, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0115, -0.0051, -0.0278, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0212, 0.0099, -0.0170, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0042, 0.0199, 0.0318, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0018, 0.0141, 0.0247, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0010, -0.0022, -0.0045, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0068, 0.0116, 0.0121, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0005, 0.0037, 0.0072, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0015, 0.0030, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0081, 0.0120, 0.0105, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0209, -0.0408, -0.0275, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0027, 0.0050, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0037, 0.0249, 0.0292, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0067, 0.0102, 0.0098, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0144, 0.0246, 0.0242, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[2.0850e-04, 2.0092e-03, 4.8804e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[5.1832e-05, 1.2148e-03, 4.0634e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0024, -0.0024, -0.0013, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0046, 0.0079, 0.0074, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0005, -0.0025, -0.0036, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0003, 0.0010, 0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0109, -0.0121, -0.0033, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0011, 0.0015, 0.0020, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0001, 0.0005, 0.0006, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0008, 0.0010, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0015, -0.0018, -0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0083, -0.0828, -0.1668, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0006, -0.0017, -0.0014, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0118, -0.0768, -0.1046, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0106, -0.0040, -0.0246, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0028, 0.0043, 0.0036, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0040, 0.0172, 0.0272, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0002, 0.0016, 0.0027, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0020, 0.0005, -0.0163, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0065, 0.0113, 0.0133, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0019, -0.0107, -0.0205, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0007, 0.0026, 0.0040, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0010, 0.0020, 0.0023, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0112, 0.0147, 0.0106, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0005, 0.0010, 0.0009, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0017, 0.0062, 0.0095, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0007, -0.0016, -0.0019, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0028, 0.0051, 0.0083, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0003, -0.0010, -0.0008, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0011, 0.0045, 0.0069, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0078, 0.0125, 0.0115, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0046, 0.0071, 0.0058, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-7.1681e-05, -8.8706e-04, -1.7330e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[ 1.1175e-03, 2.9858e-03, 4.5334e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[-0.0027, -0.0049, -0.0051, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0013, -0.0019, -0.0017, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0005, -0.0015, -0.0020, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0003, -0.0022, -0.0038, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0008, 0.0011, 0.0007, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0004, 0.0012, 0.0014, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0007, 0.0024, 0.0034, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0006, 0.0020, 0.0029, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[-1.2539e-03, -6.1979e-04, 1.0325e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[ 6.1576e-05, 2.2814e-04, 9.5116e-04, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([[[8.0004e-05, 1.0549e-03, 2.6432e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[7.4739e-05, 1.3412e-04, 1.7083e-04, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0151, 0.0170, 0.0124, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0022, -0.0067, -0.0094, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[ 0.0005, 0.0016, 0.0019, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0001, -0.0019, -0.0042, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[ 0.0006, 0.0013, 0.0020, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[-0.0153, -0.0197, -0.0135, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[7.0598e-04, 3.5944e-03, 4.8469e-03, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]],\n", - "\n", - " [[5.7171e-05, 3.5541e-04, 3.9973e-04, ..., 0.0000e+00,\n", - " 0.0000e+00, 0.0000e+00]]]), tensor([0, 0])]\n", - "[tensor([[[0.0013, 0.0020, 0.0025, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0120, 0.0202, 0.0220, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0006, 0.0025, 0.0037, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0004, 0.0027, 0.0058, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0029, 0.0039, 0.0064, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0015, 0.0025, 0.0030, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0004, 0.0048, 0.0087, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0003, 0.0012, 0.0022, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0034, 0.0093, 0.0100, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0007, 0.0014, 0.0018, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[-0.0008, -0.0035, -0.0042, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[ 0.0003, 0.0016, 0.0028, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n", - "[tensor([[[0.0022, 0.0047, 0.0062, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0082, 0.0121, 0.0115, ..., 0.0000, 0.0000, 0.0000]]]), tensor([[[0.0013, 0.0045, 0.0062, ..., 0.0000, 0.0000, 0.0000]],\n", - "\n", - " [[0.0015, 0.0091, 0.0154, ..., 0.0000, 0.0000, 0.0000]]]), tensor([0, 0])]\n" - ] - } - ], - "source": [ - "for v in val:\n", - " print(v)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "env", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "94173bdbcc3a07290a92586f1f41e17e9573695669854c49e68cc83ee6746035" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/notebooks/guitar_generation_test.ipynb b/notebooks/guitar_generation_test.ipynb deleted file mode 100644 index 8d13c4e35259261b2444d2c0e4470e33e7ea54ee..0000000000000000000000000000000000000000 --- a/notebooks/guitar_generation_test.ipynb +++ /dev/null @@ -1,13832 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "31564f4e-1c78-4adc-bab5-d7536ca38356", - "metadata": {}, - "outputs": [], - "source": [ - "from audio_diffusion_pytorch import AudioDiffusionModel\n", - "import torch\n", - "from torch import Tensor, nn, optim\n", - "from tqdm import tqdm\n", - "from IPython.display import Audio\n", - "from pathlib import Path\n", - "import torchaudio\n", - "import torchaudio.transforms as T\n", - "import pytorch_lightning as pl\n", - "from torch.utils.data import random_split, DataLoader, Dataset\n", - "import torch.nn.functional as F\n", - "import wandb\n", - "from pytorch_lightning.loggers import WandbLogger\n", - "from einops import rearrange" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "c25ed44a-3271-436a-aa5e-1de9290461c5", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", - "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmattricesound\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" - ] - }, - { - "data": { - "text/html": [ - "Tracking run with wandb version 0.13.7" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Run data is saved locally in ./wandb/run-20230110_005416-34njk5ue" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "Syncing run bumbling-night-20 to Weights & Biases (docs)
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "wandb_logger = WandbLogger(project=\"RemFX\", save_dir=\"./\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "5d6cb44c-94bd-4f61-92b4-76f359670679", - "metadata": {}, - "outputs": [], - "source": [ - "SAMPLE_RATE = 22050\n", - "LENGTH = 2**17#round(5 * SAMPLE_RATE) 6 seconds" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "5578eec7-7a22-410a-bb8b-075e62b579ba", - "metadata": {}, - "outputs": [], - "source": [ - "class GuitarDataset(Dataset):\n", - " def __init__(self, root, length=LENGTH):\n", - " self.files = list(Path().glob(f\"{root}/**/*.wav\"))\n", - " self.resampler = T.Resample(48000, SAMPLE_RATE)\n", - " \n", - " def __len__(self):\n", - " return len(self.files)\n", - " \n", - " def __getitem__(self, idx):\n", - " x, sr = torchaudio.load(self.files[idx])\n", - "# x = x.view() # Duplicate channel\n", - " resampled_x = self.resampler(x)\n", - " if resampled_x.shape[1] < LENGTH:\n", - " resampled_x = F.pad(resampled_x, (0, LENGTH - resampled_x.shape[1]))\n", - " elif resampled_x.shape[1] > LENGTH:\n", - " resampled_x = resampled_x[:, :LENGTH]\n", - " return resampled_x" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "401b1525-b375-484c-ad28-4d3469b29520", - "metadata": {}, - "outputs": [], - "source": [ - "g = GuitarDataset(Path(\"Clean\"))\n", - "\n", - "train_split = 0.8\n", - "train_size = int(train_split * len(g))\n", - "val_size = len(g) - train_size\n", - "\n", - "train_dataset, val_dataset = torch.utils.data.random_split(g, [train_size, val_size])\n", - "train = DataLoader(train_dataset, batch_size=2)\n", - "val = DataLoader(val_dataset, batch_size=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "077b2bc8-c8b0-4f8e-86d7-aa3b944c107b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([2, 1, 131072])\n", - "690 552 138\n" - ] - } - ], - "source": [ - "dataiter = iter(train)\n", - "x = next(dataiter)\n", - "print(x.shape)\n", - "print(len(g), train_size, val_size)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0f9c71be-05d7-472f-84fc-7c95afa892c0", - "metadata": {}, - "outputs": [], - "source": [ - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "ff5f6e99-0d17-47b8-bfea-06271a7e1c40", - "metadata": {}, - "outputs": [], - "source": [ - "# model = AudioDiffusionModel(in_channels=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "44423c82-91e7-4295-9cb8-611562967d75", - "metadata": {}, - "outputs": [], - "source": [ - "class WrapperModel(pl.LightningModule):\n", - " def __init__(self):\n", - " super().__init__()\n", - " self.model = AudioDiffusionModel(in_channels=1)\n", - " \n", - " def forward(self, x: torch.Tensor):\n", - " return self.model(x)\n", - "\n", - " def sample(self, *args, **kwargs) -> Tensor:\n", - " return self.model.sample(*args, **kwargs)\n", - " \n", - " def training_step(self, batch, batch_idx):\n", - " loss = self.common_step(batch, batch_idx, mode=\"train\")\n", - " return loss\n", - "\n", - " def validation_step(self, batch, batch_idx):\n", - " loss = self.common_step(batch, batch_idx, mode=\"val\")\n", - "\n", - " def common_step(self, batch, batch_idx, mode: str = \"train\"):\n", - " loss = self(batch)\n", - " self.log(f\"{mode}_loss\", loss, on_step=True, on_epoch=True)\n", - " return loss\n", - " \n", - " def configure_optimizers(self):\n", - " return torch.optim.Adam(self.parameters(), lr=1e-4, betas=(0.95, 0.999), eps=1e-6, weight_decay=1e-3)\n", - "\n", - " def on_validation_epoch_start(self):\n", - " self.log_next = True\n", - " \n", - " def on_validation_batch_start(\n", - " self, batch, batch_idx, dataloader_idx\n", - " ):\n", - " if self.log_next:\n", - " self.log_sample(batch)\n", - " self.log_next = False\n", - "\n", - " @torch.no_grad()\n", - " def log_sample(self, batch, num_steps=10):\n", - " # is_train = pl_module.training\n", - " # if is_train:\n", - " # pl_module.eval()\n", - " \n", - " # Get start diffusion noise\n", - " noise = torch.randn(batch.shape, device=self.device)\n", - " sampled = self.model.sample(\n", - " noise=noise,\n", - " num_steps=num_steps # Suggested range: 2-50\n", - " ) \n", - " self.log_wandb_audio_batch(\n", - " id=\"sample\",\n", - " samples=sampled,\n", - " sampling_rate=SAMPLE_RATE,\n", - " caption=f\"Sampled in {num_steps} steps\",\n", - " )\n", - "\n", - " # if is_train:\n", - " # pl_module.train()\n", - " \n", - " @torch.no_grad()\n", - " def log_wandb_audio_batch(self, id: str, samples: Tensor, sampling_rate: int, caption: str = \"\"\n", - " ):\n", - " num_items = samples.shape[0]\n", - " samples = rearrange(samples, \"b c t -> b t c\")\n", - " for idx in range(num_items):\n", - " wandb.log(\n", - " {\n", - " f\"sample_{idx}_{id}\": wandb.Audio(\n", - " samples[idx].cpu().numpy(),\n", - " caption=caption,\n", - " sample_rate=sampling_rate,\n", - " )\n", - "\n", - " }\n", - " )\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "db4b3260-406e-4bfc-bdd6-08d8f736d080", - "metadata": {}, - "outputs": [], - "source": [ - "model = WrapperModel()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "55da1120-7392-4e0a-82a5-06d3697d46e3", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (cuda), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n" - ] - } - ], - "source": [ - "trainer = pl.Trainer(limit_train_batches=100, max_epochs=1000, accelerator='gpu', devices=[1], logger=wandb_logger)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "fecc3960-539a-4f72-b86a-2a482c393105", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1,2,3]\n", - "\n", - " | Name | Type | Params\n", - "----------------------------------------------\n", - "0 | model | AudioDiffusionModel | 106 M \n", - "----------------------------------------------\n", - "106 M Trainable params\n", - "0 Non-trainable params\n", - "106 M Total params\n", - "424.786 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/jovyan/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/data_connector.py:224: PossibleUserWarning: The dataloader, val_dataloader 0, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 48 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.\n", - " rank_zero_warn(\n", - "/home/jovyan/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/data_connector.py:224: PossibleUserWarning: The dataloader, train_dataloader, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 48 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.\n", - " rank_zero_warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9c392e9b3b81409baf84f7e4a7a5be3c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "425751a6870a472da9b96f201d274225", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f48a2c746dd4550aba1878f245ea6f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea81f2ada5d1415aa0edf9389e81fc77", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5c6bbd5834cf451882992b2716ac2185", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95758fd3d9cd468ea9a6164d7406c380", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "517ca419688e4f86b6b12a6243b36ced", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ebd64581ebc471d85a00a5707b2a521", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "408df14430b6435f8bbb4973767c078f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9d7d424408664f92bee2f8c9823d7785", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f098893314ee44c98d9e0d5f795cc8b8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "53ac6cd59dbf48da8649bb5ae0c51dc0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4472341b146c4fc69652098aa38fa1f2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a9ef7bb0cfcd4e12966392cb49298a6a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6965609f6f7a4184b73491780df2ad71", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8830a21f6b6047ba9e4fcff6b9befd49", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5defd638a4af490cbc9989fc5a2af3b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "96bac7513eff49a881916704e67776a6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a7e2dccf8fbd42b4b0f260c2bfe28ad1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "216b130cf8aa4323ad92209aa857cded", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "937d7818a18e4f57b4fc152a4cee99fb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f767e9c241984091802fde9514fa24de", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "adbc18bfc75c42b39ee3a5d08ea07c80", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b2b8bb0b385340e38bd2e11c3472ddc1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6edd9bb0a1a64f52b465f2d1b0a185df", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e6d232dec006451692465c24c9853c14", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cabe8d3dac714cd0a2b8033e78f7dbd6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2f0be21037de42d8b84d022ed2e12bbf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "33491282229f43769a4ce117a0562f50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "178cea186b8f4ee68076256f6675dd5e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a134a56bd81e4ff28761ac66942c2d83", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9a3625dcc3c84cbd87ae2386d61aa57e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9a1018c45cbd4fd5ba506a73703d95c2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ad8a44d047e84a19a7dd5e3a0e670b8f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7040b90d80a54b59b68ab9a6dfcde2d3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "df45f45d9c0c40e985ffc8a514c6bb2e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e73c4733b6dc4cd2a1a1caa46b55ce69", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5fb6b2174d8e4352918cd62bb3c55672", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "19c54689dd684109af5765228c1d4a0d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a21f8532f5bd4ebda274497b76a5ef8a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dede8168c46a4e3e9111d06b06259c52", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c12e7baa8a84e90a4c0b623e0f13a01", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "853ef79615134fca886645577d656a53", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe9e9f40383c4406b241a12b16e2f2be", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9338355e6b3d48af9c6307d918303fe0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d79fbc2a068f48bd81f5f04fb9a689c9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e49e783d543747a7bbb676741ccbde28", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4b01fc09d356403abddf35e0848b08f6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cb5c77f617ca44298fd319a8dc68e7a1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5c84adeff51943069921cf03680b19b4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e48a822d5ce44ea5b2de6c5a07a837a4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0d75fbb7177c4993bc053810e05259c1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "43c15166238e470f9bbde825a0be523c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "313c7d5c0b914265ab29b6ad175476b0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "09b8e5d102df42b2a913aa171bda1bad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2defd66be872498e9980b644c494d3e5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "90e1399f888b4cc9931ad6ecb1f942eb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "831e8aa1db2a4a7484133dcf297799fa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "80bc5406cf6a48b88fada4fdc69f36c6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "43395533b3174b4ea5c9c38c73fd5302", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e902a7e52ae941a48b8dbb1314a01a5d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a20b81332cfb4b948c4eb03a62761151", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5b3429605c3b474d8d90860c064bc4b6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d2dfb3f713264fea95a4f4a6d00bfa79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e32ab8051c084a448a1f37a427f43a27", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44ab57312baf4c0da6fec588313243eb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "81939e890fd34e2d8965b7e4f666fd09", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "484f9c2af9dc48cfafbe6a5029b51cc1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e30b39419b714ac0a2e8517ed6c130cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e191811790f9464787fb814473f90bb2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b5849f821eb04b8bb25c08aaaeaff05e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e52cff12488f4670ae2817eb2f2a9e64", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a052477f3fb6479cbc67158ebb74b1ca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0a55019573204cdba993faa21a175423", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c60dd38a04394d51beb6ee1c73945a84", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "37fd3e18c16246249f53af4857deb24a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "caae92cc72f045f992f771b9e0a3e0a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cf85acb2d7314dc086c61ac7f2968ad8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b79661f9abea4d24906d5fd57ed979d4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6786b99b6c214f52bff71a64373886d6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "21e604121a0e46bf9fbb2972d3758118", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "276c627b4ab340b6964f7de2e58aa7a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "09022ec34c47412c9be265fe93458c70", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c4cf7ab3e0c4f3f837013f284a759f4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d50e89574bed48b486a40e877c93a840", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "630ba6478c0d4b36a54379e74433de18", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1eeef8482f3347adaec45cb64ef5d3f9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de2451da4ba944aebd7db6927826d38b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e189dd37099640f29e8bb792b0bf3952", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2b559800506e41419c220f0921a13a9e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ac4383935e3f4e48abdf6828aaf86c0a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "be86b998bc8743169ae08ff8850c3414", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4e0906fa743641e080fa82f4b7bedeab", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ed0d83bdc9f4f14893909d0a10f6817", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "063274a3ff4f4c5bb71511add28a2939", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba3b9b9a008a4e6296f29872d7a58f28", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b0d1e698d7ed40178730c51a608151a8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "436ba862f9ed465dabf00716e440a5a3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4ccf579cdf35462b8267e3712c4c4ea6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "76d3aa5466494f0d901221737ac9cff8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c6fd4092eeb6431889aa7b6d511dccea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "81744963a40a4954add506b42f5a688c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d14d52f4bc5f41ca8db9c67ea307934b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f23bd521edd04067bda3e38c2554ac6d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f87f58cfbd164f388134b507fb131191", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "40524803805a43ac999d0f76e1a43fb7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cc75e6bdb2c14288a7cb44777ba0701f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9b80207f887b46cf8abb9a9594553409", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "41cc775134054677a1d4d2ed9dd0d302", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fac8eedff7084f25a864695ab651d6b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e5e2491541834256923096600723ee0c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a4bfab53929423dad66462239b4f2af", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b44ee4807c084ebbaccd5e3b953846e4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c8691f37af7f4b2d8353b1f6eb837463", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ed6a1fb524745648728fae4b5302031", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ae12ed0ac4754b368c9eb8739c673095", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3b12c458a4984048b2d19b89873462a5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f3de8fc3ce54430086c8da7889b06b34", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9f1160a5639a4382b313f308edcbcf1b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "43da3d5b11f14ad3874c192fd09ffc0a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2d4af2a8c5fc4f27accdc0e3f612a04f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5153edca10f24ba29887fab8d573b3d0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "efa571e49fc2473bb2191daaf56b94ec", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "280bd200b0c4499f8b56c186abeaef07", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8e121fd130bb44ed90eff6f4e78802d0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "97b01fb3ca7349268cb96baad9bc78e9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "be94f7ea6be74b0dbc06163dcadf9700", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "96b98b74ee32495480c5f3dba5427e78", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4ea37bed525d43ef8fc34e6e099d547d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "32c0ea49a1d84347aed5baa698c04d3b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e09bf1b0238940edb23ac525805e6c94", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f968e735e1847dbae64319b6b6f8d9e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dd374587ce57463e9751f76b9bb8befe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b7ab17cd09a941f6bde34a113912e911", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "739bb17cbac44f159f160496bd346041", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e491c89f89c14fe894b597a5e83467fd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "627fbf016991400facc7f04753c0f8d5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "22e96fc75eec463da52e5639dade7e7e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "756c6962b3044c5db6a77fc6eae4cc91", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8db3ebc7aa024c6bb9de489aba276960", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f227f4e753454fdf82e06846af35256c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "715da00f5b5d44b3af18e1282ddc58c7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "88b313c86814419d9f097bb16141903d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7d9eaead6fa84cf2981d8db2b91c1883", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6dd6df6c1c2c4a7eb5b50fd721471da6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f79275c55b24997851a9cdad54a7f56", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2df9ac161415483e831590b9ceb9fbe5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3e9069314bc741fea892153744446d01", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e8f92b77d404074a8359ecc18985bf9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ff615641b2540cbb88484e1f28f924c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8694d58ec8e24accb12c52e20046c4b4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2b7326af8a5c4bbdb81026a19c503145", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e79dac9cbb5b4e4bab263e21ee66f983", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "88d739fe048d421ba3c7a67829d58c2d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "402bd6f521fe4e029fdf9a6aab5cfc17", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ebe9f4fbbb34b31a6952c0f1c72f5c7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aa7ede65fc264946a2157ebae7a0d836", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe064c605a5741979ac1ab11b25397c3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "68591ed10d2f44da966e4bbd5f5c7cb8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f5f285e7595c484fabdde8fba7ac89a5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "030a5d57302d4a95bc40eed5c7256b47", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "133acec40b2c49bab354d6f43fb26f1e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "611ca1110a49457b9816ef27b96dff65", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "958f3594cf70498fb6cfbe33be0d47ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9d1b77629674ebbb8fa330a825f4b18", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "54221a27338f46e6b22400ef894bf768", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ea37f2c764b42c0b07ebaf3bfd2e216", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3f7880f13db54b25846a2f2a797590b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a643662043b64322803f1290d629eefc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "21239bdc954244c1b9bf706187336898", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e8db100e7cc94420bd96b5839d601b78", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4da085d7a8bd4bb5a5d24c2e9c1f735f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "45c13a1cc94141a78b59c15bdaf08b22", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ce82d2c17df4987874fd8df4f107598", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5da1dadb09bf4e0b8df5d4e01235680e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "af84bcbab17647d4a218b05c648b0a90", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95734ee6e6ea495c938c1c4e50d52f58", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4222b3c5925442c5ba6187da141ff5a5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "618bafa36dff48cbbd6fe6d9950e88bb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2aad0864caa147188848c199419e7aaa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a27da7e3b4314f738faa87cd61876d23", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7e367045d79a4a548c503dc311789736", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "df91e190fd49459997363865e7cfc654", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b87e7fb8839c4b59ba1b7a29711754a1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "431dc80dad92457bb37b0f88ed555f6e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "825c3ae25ab3420c9ec07a6eb631669c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fd36297ae6024a5484d65bbb4726ec68", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f26d6dbfff8341618745110975a5a449", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9951715299d54b898204efc3e7cff377", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "803cd5ad60214c83bf943f4049d300c5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e00e57cb6ed4d178b08a3e49c2a69db", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "181ef334283d45b59c61b5323d59d45e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4af9eb6932b1436aa4c7d287e4397088", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b6b02b34abc94573aeff2db68f9533d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9530c729fba94790a45e31eee1276b2e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "227a42eaeb7541e9b573d7ad9cca4e3b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "13595e99bd3c49f9b846b3069a5c0ae5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0cfa93aab8fc4336b9f04847b88964fb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aa0a4406367e4283aa4c734fb5d3a922", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ddec86762bcc45b58f192cd87fc4953a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7ed511a800a9415b8ba7659176a51b37", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "af44ff27d9b542b6b79894c59f6212fd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2142aa37a5394fa480d759f42a2066c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3ace6676845d470f94407deb8d161935", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bf0d8581a12a4cbe9b089b052dbfd71f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "78914c0edfbd40948101b5cd0b0782a9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a5a118abcdf7405a80f04248f760f4b9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "85bd5ac7d17941e6a8c0d232d06d23a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "25bc69b5096541f4bb7d0b288aeb45c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a1578a55a207425b8d12137ab9f203ae", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "49a46ade55c64d6e8e17122bbb215a50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "11e096b3b3b04a9cb92b5113125a232a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "824712f080974358978cb78f5f2c1059", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "afa159b7b3ae45c3bc304c0eb09644db", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ccbf35ad4a054f6991f6abe7cf74c57b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "54153282c14040c49ce41fe1290d71fd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "90a8a1c19be5454ea6b05021483bfec4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3091ef18470f4680bbd035908dc36aef", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "632c7483ff9e474ea3b3f06934ce597d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7f83ab508b114394b285143f8dcf90c9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "eba9dd1143ab4f139df1c11525d40802", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34aaa9fe4f974ad388de97bb21fcec8e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d0b132590d564d39b7f38f060279938a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "722f9f4376fe40e5b7cc69d35d74d188", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9a091543b1749659474df871132d84e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fec6baf98e504015b238d639bd5fa59d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a9cddb5ac894efa89d88966c7797a05", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0a5c9976e4414244b829df062a2a0d4a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "16f937d5dc7e42949f6026b3c44d5439", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "156b1cbcc9b94070af1325e81b67b2b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1f0011ab93f64d3b8f63f5e7fd2e3740", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2f2ad3c3af0e4cc6b64103d255392870", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fca38af010a44b7db6c0a8f675faddec", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "20957641b492491483d2809ef642ebe7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b08937231bca4cc2b3c7b5ed0cd018b7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a368670948054c36aec25aa08975901b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6dde0d526c204e419aae813da93a3fd6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e0c2db4f5c314c818a8bcf6a6cf8a267", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34a3cb034a9f46ddb1290ce870e4f959", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f8adce5f4f7642fd96ea3ab14ae945f8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "60459987894e4700a620ab9ac8fa4fc2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bdf408be51da4540a1ff218aef5f4ebd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "32a81840710e40fc98c60707415f2e7d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8a8d39de8c37408c847e3e10ac3441b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f2564f9508fe4ef59a04366a93f8d232", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e654f2f8bcbb40fe947d17f3befde0b2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0ca1d4f4ee5947ecaef8618438ec24e1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0c913324b9b447abb26775901b6e52d7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a1103b7f02be402fabeef5f318a01632", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2dcd0a7037e444a5855dd746a6833f55", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3cb4586e1ace4fcd9292d3496546f9be", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea4828b42de64cc39fe6ae26b2aa9c45", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d395f64e29d54a728067be7b39b24d8d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "caf658d8d3374c4bafe3d93b7b55a98c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "24e774edd1084f4d83039a5050bef24d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36bdc05b1d5b4b29848d48a95c87862f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "869b1812db8d438ba6aeaa4eda07da09", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5b87c4d28acb4f35a90b4e7ba46f460b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ee09ce4561ce401eba0cacad761ca3cd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4404a46e7a96478da57034070aaa8dd9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44a37364d0dc4aa08ba955a8441233b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a28cfa6ed519490bae7fb26d8dda1336", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a81056138ef84585ae74747d56534ee1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3809ce14050c4ba3addff42ae0843d8f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cbc4c02cd2604197804bf72c6a8cc423", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6b0f358719ba42bdb70a69f5e43eed91", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e55b169a6a4448beaac664ff94263fa1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fb26524e365d47b6addb349a0e6a90e6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6b8a773132d8478fa1db8f178f186d7e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "488cb8b1c695485aa0fac1b5496fccb4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "380685bdb8a845758aca8ef075546804", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "20a65c974fb34ddfb184a6ba93a7b540", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de0a3370f339449f90ed003fb161cedb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4ebf77c3493b41b1a6b7bf75ab838b7d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5036cefc50d243e287f89974edba1bc0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "467d1c860ddc445ea8b0557211640b12", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bef4746e656d4c3ba840118f0b7a802a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7d43ea7b1e4f46e5a00fd6b30233a74b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9d13dba5e42e443096cca3e765aaffcb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "335872fc77f740a6b15933703e770a80", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4b89917865e24c3a94a1a8c69936d6c1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a53874aaed64540b00bfe3232eb3b07", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ff97ad8b21044563b0daaf1efb2fb337", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "74aa376593f749d9864ca76ca6f8918c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "967877ecfbe644a997303ca565677a31", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6ab5baf83b564882831eed17aa15aa6a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dfd7c82075434e139932ad2f1874dca1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "af7fcca3dcde4baa83a60da38d532139", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a480afe926d44cd28a6698c4ad918ea1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f5411f91bbee4d31a07e69bf7b5fa0fa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "030987f54caa4a488ba659d23b38add8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "04f6bd370e524a4f8e3b39be04746c17", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6bcd3586cc4b4bb2b35fdd79032a7388", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e5e1b2b83357472f80b53acdeb3b4b79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d3984219bd9344fb989c8937f939acaf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d52a2bb29ab4b6fb929476f23714397", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a7c46329b2a34b919ce1a11e7722540f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c5edd7aa813243f0af84bf7e91e58486", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d51f0a3e16fd4648a960ee7974037850", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d51905683a9646669cb2dcbd90e48a56", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d533e99343ba47469cd59664e1b155d5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2a9930c697c54e448f7832b4e2a800b6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "302478899fed4b8ab6351f73bdd44664", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "68fca5b386be4d0fa107a0c420942c02", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e1a8fb47917b4bf0af67e7a0c54cb3f9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a1576b71f1ed4320b9affefc2ff87abf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "42e1187ca72b4a518808dd608815fa8f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "872f410864f446aea77213f3d62970b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "01069e8b3c1d4c33a300e320194a8de0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "116a4654f7fe48c5addc257c8f14b7d3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "18f1dffee18f4c3198abb52b62bb1210", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "def4c5e52a16450fb1e28b5f5400071c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "81719ac12883410ea49af3885e13ae81", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f7ffc2f57d8640f1893cb97c50db7a9f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "befcc8c096e14edaa969799e47493fbc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7b70295922534493b90037243ed2b17a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c7cd7cd261de427bb90f6df2df477f13", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3b6ff265183c4b6aa3664051a839aeca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "63b22d13d0d6407cbcb57f941798e9e6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "39972df7000149e684e1b89510a12d89", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7d10dca3c087443f8582bc836321b33c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "355a6a7296604a889d6f33daed5f2046", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3b4e17c95a7548f38cb57e334e5ee5ff", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6c953d0a15d84763a804f9c4657643a0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4c3ff0c161bb4236bb7efd3bc91307f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f075a32e1eee4d49a186cb1027c0b6cf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f48ef23e273640aaa379b189143c0987", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "27763c16b6cf4344bce0bd22608ce57d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "859ce4c4ec3945ff8566c0922cb5215d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "175769836e6943858ea1de754139f4d3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e1abc1afecd14235b5cc7b6950db4258", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "41be97e15115472d92650c4b116f7f91", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "192be7d724554a94b6c9cac4831a78bb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f0d5402944174662b64cc4235bb1c71e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bc51e7fdefdc407481684866f403f588", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a53e5724f03b4aa6a0c9ddbfa75970c9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a0d03ff3a294930975cca1dd044b387", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2d8578c627ee43019ae84e1a2dd77d11", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f10cdbbb1ee14e20a7b18a838cbc5714", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e434144169b54de6b4d834bdae342ca4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "032db1417d044f449ff9fd2281159279", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7915edcd59b14ead8d904b760a5f8766", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e3083ae0b294ca1b9b07d053ab44ed9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44f3a44169f74c82ba2bd20ac4ef4edc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "25454252f6ef4ab898212c5136ac2817", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "59cbdcf2b1514f399900af65c8ed84b6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e3cb01c80a0e41a78b6dd5ff8320117e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dbfd3ad039ce4d878cd73607b2816829", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "358492ccdf404d0ea8c0f4d2efa642e7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a386eb3d29674f36b6f8001a61a52b20", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "700e395180ad4fcfb1a0097cb873dd8d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f1db947cec96462b8a7bf6b156447a62", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "06c98dd07aef43dfbe7ed05d54e92946", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a9de53f238974abe9e3f3251a63e09e0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "561b0f0817c14138baa95e88853ad9dd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a851e0123504e4d953eedefb6eea21e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "627e36e006be43b48f971efc36d9f7a2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6f70fc3f10f54184a5269182b9bc36f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "52a9a1cac07f40d6a50d6b8e88cc9536", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "90ecb983ee8547a4b0c1a3ed567aa945", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48a18219978649d0ba01768a93f44e53", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "821dc800b5e747af9236768ba2611bd0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0525b95655b44506928b2645c4c54c79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "18e528889ecf466e8c99ba5e30f211aa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba267c91c0a7441f9bc537acf09fc208", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d767c05f4aaf47159a5f9fd52f6bad3a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e6ffc367eb2e405691bec6fb38224ac0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a067fc28dff94fb3bab9b2f92938b309", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c12b181802ad456f91fea0351b4a9fd2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "88e5dea9e49d43d8bd9541b1138086a3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f099e0a8e4de46af9f967bceb700d7bf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2841a3c8c5b341d993f6fe592599fda3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ec2205982c744270a75fe3b072538bf2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c282f338fcfd4419ab57b400cc36976d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "91ed634e809d4c23b247a70aa488c6cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ee342081776f4393ac48c19cc8837771", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "55420b9bb57d40dca2690bfc599b5d5e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f2e5e4d2372148fe9773ba17d01050c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a880685f9ee4010b3200fd4625545ca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c73c0418cb64401ca2f2e1a1ef7c5c5d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "79b5d76b0aac4b3a80a7b327948c3381", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9bd4be00ee734d36850f14fba3db2b00", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e51c91656c63401f8e08f20c6afc5899", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0da8e900b54847488dfd9d33a4ce2010", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ede8c903f822450aa9d35c4307a0d161", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6249b8d3cca443698d3d70eab06d9dce", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e8a0dca4e9484a46b58515f662db811c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a0f5aa568b240ca9f35d18d48c7093b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f8df7bca74f943cb9964926eeed2ff4a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5f8b5be1703f43f6b40e2f5a5efd78e9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8367b48ab4a9485f804b80d06f6ddf4f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ce20f4f68f8f4d2ea1f07c2621a3f973", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "70be3f071b77489fa06fdf0088529b8a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "11199ea7fd4240af8eaf749be8ef0d85", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba259c2115524a138b73f7472fb39af6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5b5fc0b70a104d24a78a0cb348024a22", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cc62a3c4e4754ac58c1aa3034c0e58bb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d54a1eb474f647e1bfd38b359f9177dd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "65b87b32b1e548feac8a5112533ebe7d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fd1a4b333fa0494682b82b6ef364091d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6885efb4c7b44716b6316bb809e51de9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "55fa68c6889841d997b95eccb0a27b57", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "24e9db1424d5421589278e3e61f481aa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34568b57c5844c26a7177cf155676c7e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "22b516ec1e5b4d85a7acd25c5b4c0511", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1985f328096a4491b7fdc343ca6f2fa9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c54cb10fc6f240ffaf5b0426683c12b9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "500d6951738a4cc9bc00db3f3d09a36a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "77addec375fa4f7eb07e45ef27840daf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1d9e23f4a0bc43deaf0048eab9d66593", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5529b92c1451461cb48281885da2f610", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "455d81459dcb4eb98781afbdd78b7cac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "72cd8b0b530a4e43905ecade4179a5c0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2fd13915b30e47e7afe30ca6ae7abfd5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de23c9d3f5494354bc7d85f815e148c2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c0f6cc8528914fd09833646ab55b329e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4b5752a98004446b9b41d387793d1ee2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "eba5a9f6f7cc4f36ab1b4050bbea0772", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "30a2feb9c1974963a178bcec82d4c132", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5478d433f8ee408f86aea47eb367e590", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1f35fb31075d4bae8990e79406a408e2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8cd438bcd60142b295c06455b550bc04", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9c9287d5e89c42b198a130f3fc7efb3d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6246fbd56fb046f188537adb29026d56", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "364e82a586464a1ea65f117acde743c8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9530b40a37f747cc94853b8ebdddacb7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "edb07e5301294296860c73db0f78b4f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b7348b285c0f47acaa0ff618d719361d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "61019318bd284d3ebf895c506ae410ec", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba7aaaee9bd843c8a3664e62c909bc64", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fa00b1d9ffb54221b9e8cda5f932f5c7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "837fdc74e7924f9fa6d72dcbe7a39c87", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "26781c691df845f69af608d9c7b6763b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34c12ad438484e4aba95159435a1105b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "083eed92343a4601adf76bcb5e465aae", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f1e5127b7c964453a3b83f4cd2ab8235", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4e3e7a9b921f468eaf4a155f0402aefb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "76aee32316f74767a0a450c9ae02a72e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "302fc1c57fda44d7824d73bf018b8287", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cb4685d731e54de2a0ab3a6c607c0b31", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de3c8ac291e7426fbc60d29899412c11", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c2166df2c3c949f1af170f3e96cfe9fa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "24fa63686ebc4415af29d6ba98daf3d0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c7e1c2d956a456aa992d67516b861b4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f9f5a16383f44b8b80ee78a193c5fd8c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "74e5c4ef12204058b0a73b5263c793d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1304ed9f2f6a46dbba6f407147433a88", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d656e8182aec403f85c372e86995607c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bc71796cb8544d9faad397abfc905e39", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f362280c090e4adf81f0a7d7190d9e8d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aff9c0cf262346e7900416bba190a8c8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "be0ae81967644011a53313643b1dea68", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "823625f7ce5f48d183b00c7d7dbf6bcc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7c33dddea47c454f8a42e82946543832", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "056c9bb3f6c14ae39933b98d64081467", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0bfbd5c5cd7645ceb63bc0b2626b7215", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ee79ef20ab24cd69d6db1059ec8ac16", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "68c4f9026b0244d1bbe73110b81205e0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2c23bb1950db4aca93bebb2fb6df92af", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b10a5a06585b4ca38f93860fa4131941", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cfc8fa1e7d6f4d6095ccb5d9eec2363a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "189c1a17c2134dae96909c6a67975019", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2cd73c74735b4cbfbd7a45096af60779", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "797ed2dc531a4297b1a33334a85a10d4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a40392af2ad4cbcb831033185a9dc8b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "834a3443188b4dd286b40773e60940f1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e2041e6ab40d4e2a8c0d4f291e255276", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "679d2a2bfbdd4969853ee2bc3c74dbb1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3146fbdf89c04b0daf09e2af5a866252", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "10e1dd9a6f5a480099a0adc2b94e7b4f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1f05414c2f4843f1a9021963e91ea5d9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7ca836d414324dbfa77f87195ae49189", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "91233406aef7472eabef44d27ff93f92", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "db2762b76f464337b33d87a6acbcc233", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "296c58151e9140f19649c61096cc24d5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9817d17929a41718755b082bab76a5c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "42eca9b2a35946a884338bdba57f3c96", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bf07d3f44f224910a77a7a69958a3f93", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1f741f9abd28403f8543204e9bbc100f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1aa9e73e8e7044588da19ba1d28689ef", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "41675cf765c44a2ca4490ae62a0732d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7481e309b6254945b78bb66ee7b8f2aa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4ee0d3d09a4a4cc6845742567222e5fe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "23ad5c916d504188b6dd900c6a254cc9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "78dde14630b1421cb01abb7dff6ea928", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "df43a4bd3c91475f81003dd2dd38f2e2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ff63757366b04327a98d3f21f2ca505b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b10cb14c002e46ae88f5181185fce6cf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "285a18be63bf4bfe8efb2c76a4d79c5c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ce790e7ed1d4d2f87b7783bebb11c5e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "06f39866420f484b9eaaa6582308f718", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bd8563a500df477ab8293636af9e3e3c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ade8f0416f0480d8a77f0ae905fe5ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e61955c63ba64989ba48c395b86d534a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8df977bf1c30441cb33cb4bbaea56582", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3bb7ffd96fe5460eb32d97853f573622", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "20857b5ad02f4eaab7050502c7b47914", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea08a4d2383043ae820f2bdf955b7ccb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7e75478ed9784ae086cca5dbfdb500b2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c3a170894e0c45cdae32d7863487a0e4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "35fd4a46533c4c069905e1be06c99988", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "754d9886ac9c4ef99acc9dacfcbf85b2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6bcee7170fbd445fad838181563fe287", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4b3dae3c4d844432bb09431ca4b8d13b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a8ac4b1704de438a897b891a2b5c1e83", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1b7c7d9f8560432685eb01a7ccd6b7f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c6a78abd288d4a79a790ad67e9b4fb6f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2032f0d8554e4d84b6601f40e18cd5ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0ae21e058a664560a5c5bf12ea656f85", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e0d8c64067544323ab623b20c4102ecf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "41789676a4dc46ed95f65a776a2fecfc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d0a5d41a2dff4c75a243436c23692ccb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bee486b24194415580a65fc8bf995a68", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cdaa8bb714da4c3093c756873eceddac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "10c4e0c0497f4a9fbb85919b352b12b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e4e33f0b1e7b45b6aa8dbd5a882bafaa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "12bc2d39b620415d92b7e5274847d4f2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8dfafea966d4428388108a95f6b1b14e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a6ae7401e4a348a8b8d3dc7d52862c32", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3546ffcd216c4850adc2fc9accd7d818", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c6f04c5886734a1c8b33ebe06efb9acc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48f85ea9cd5c4f5e8b55f7e3848791cb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3b49af414a4f42c38c13fe4bd2fb4368", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c04208d5cded4c1d8d5e6c1967188091", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "328019435f224db699770b526b1b80f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5de93e2a693a4ec0be33cef3a11f7cf8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1e90266704c94825b9b1872f582d80df", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46ed8c33b2b94b5d976966f990515ac1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "40b4d5a9ac4541d9a87ab9928f790f6c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f9216eec5814b23a886db964b44d1f8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3bb88f9598014a29a18939aacd76ee41", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "048962f232ca477b9f01cdfe23492dc1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "49d0becc3a7a465a88fb41516ad0960d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a71eab1e7c8543fda1c5c779b1c33544", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6c80491fa79147688f1cdc26076680a6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "40a09605b5f14476a83c690857cc3518", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "70732bde4cd744e7ba78824bf5c39751", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "02ccd3c44aed42ddaaf58e78aa6b2763", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ee0d87685924b1dada812e7938b82f2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d7be79160a9845e191f333537d79e849", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d3fdca42f2ce4b9b89dfce4bb823d8de", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "40d5a47b7cc64145a6517c1c168a74a9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ecfa9bbec71c43e0b3c7f8aed9e7b2b2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4314c047300d4c7bae4ec59ee2f32f98", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aafb5d2a49a6474e9d0c6c9f9b9ea8d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8d46d73d443d403ea717846e50453057", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7b3389b9940a4a3a81972e6f20f40b6d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a7bb6494face4524ade510f7b9e7fed7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f98028b442347f18d6885f6b491aa20", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "181dbae2c3bc4252a3c1fd9ac52b20f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ed914c0083ef4210bfde7b3c22801b99", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44a202686a154abda8d70a3f6f17dfda", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bafee744e19045258a082fa82fb54fc0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2a7c875de51a4d0f9f119fc6ab258666", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "131c99ede10c475f90197a087f0b58fb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d922f741ee49456ba389dc3765ddb7b1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "927875de7eb241d6aa30cadb49c6a6b9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4fb4f4303f8c4d56a1d24a730a9ca397", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b74e3fb628214a69ab03a581377e72bd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a72daebedf824b5cb7e5d5592ef71775", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "113d8dd3d2314121960ad45e44b8eb92", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d75ec64b2db147cfbadfb32c5b95e940", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "38c43341d70f473bad7883df323d8911", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9fd3d3a831b84f8eb21eb56742863776", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cdf6b04bfe3240f2b667b7040296c990", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "22723ca4013d42c0866ae5fc2d844153", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a518c7733a9243a99e78c35641d32fed", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f4cc72d4f452448bb9d3d19cfbc43e5a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "857ba6f34397402299e872379f627223", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3725a0425aff4b31a77019b29931ae91", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "58d52dffd12d46eca108d2e620b55e75", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "60c8e81c2b294358a2609943f487845d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2eb9b63a89d447b3b413df305dd0ae1d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8cdd2c1691a644699c181284784ec4c0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "77d16bc78c464f7f9e17df064c08e7a1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0ea6351014134978b88e66917a017aa1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d62ab3262c94c08962bd04788a3d802", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a865ef09ba64e138dcc26a5c40f52b0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba9f5cb6925b4c6ba302420b12c38829", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4955e2492f5c41a4b195e92efd150c3d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6d865ffc2c62477c8ae3dc7e46152781", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a116ce590d374d2585bd0284ccf973ec", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "da58da41740544bfb2230de0fd61f73e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "54f141ad04ee49aa9e20b187f5ff5d47", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba894e23bc0d432695514bf4944ec6ad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "527e9dfc0f4546a2800c3f265068bcde", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1419b67d1494410a8eda430826506160", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ba9629b50db4e86a4555263c6d43115", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d6f88665f3cc443895950522eed55055", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0640e146ec8c431991038514fdc35a94", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "546d475e480b470eadee5ca589c0bdb1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "885b87490fd547f9abe41bda7d8308d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0a109beafd8b4c71bff91087b164f84e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e43531cac58e4a87a590e1ee331a8336", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c2286d30303d44c48bf7f8841c22055e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "84e874c47cda46ebb41097435aafab67", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "056cc66453a14e83967d55c38db3cc09", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ed3acc7053484a49910bc098d91fc1e7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f4ee0032c4254b7fb9765182da79ede0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1441824ae9e8405cafdba0267b2605f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "697e20460cb64000a8252ea7a31927f4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a7f3d7eb65847b2b8d738910d931fcd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c0837989ac8246fba0fe9f400ee5a114", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9170b5e78f4f4b14a554faa9830317e4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1caa70bf53c24d65877ed039274346ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ff9fe7d43af64bf29e000c25bb96051c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "86dd75143bee433dbceda78f08482cf0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f249a641c6f448a8a611475a2888c03", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ef84575bc5f46feb10464cbbea25f21", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1311027dd44547dabb593a14a4baffc4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "956131a01c5a408d9db7b9a6a020909d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "96f7abc461ee4adfb169def9126b770e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba0c3a80f85d40fbb6fe3cfa0d1c792a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9833c8a0c9e543f68680d243f2175682", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "121e0d2c00b14c048b3bdd79caae96ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de6ea3b6b9bb4bde9a8041d7d16b7d89", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a9fde47d07be4e87ac2bccf1fedf6300", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ed98b8e216ce4a6c83aa77a1bfd6fac7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0897d3282035438faf984e3d528dfb55", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b4e076ffe04b41c29caa868af8649ed1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f6a39bd92c2b4a03ac9f8fd6d1c7a2ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fac595268833478fa276cc038898c881", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "766bb4524c7044ba840ee4e06072874f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "171ac94f40e547829097864a246256db", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4e7aef4eb9b04b41a692cc595f001ea6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "756ca2d2b17a4d7484a521c909e67940", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e117b9ea16d4f1f980a4271a43878e1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9467e1be42946d1926fcf5d5cbb243a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5b7130447b59471da3f87dda20beeb83", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c3505761f806423ab82b46e73cf8f4ef", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ec5a3f0d77864cb8a7f7a28fa0e7eb20", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "210f4074ba5f49bebf906a67a0451678", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "92ef3069e27c452188ce6e7427fed197", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "350aa0fcc02c46ee8efa5ed513618768", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d35687786c084649a6ea444db45b5a7b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bba8e92da92748b2820148fcc6801f6e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "086fca8258fd4cf98a3b4e2ad35897ea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ec767f236e34705a3fe54f8dc4b6afc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b6179fb9b50d41b0922a129c52a0c99f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e65628033074cc0912627132356ab72", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "591dbe7eb0434d37946f88858899e8dd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d732cd0fc33b4b41b65a5aa4476f4171", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d9e1859a2f294d39a714413ab30f4926", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aad3c1431137457b82bcd640925fa37b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "649661ced0894fa6b3b1534c7206aa5f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "eb2cef5af3924eab80a5b7ea98c1e55a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2c0e842a19854fe98ba05e47343fe9a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "62414a62dfda469e9344e9df85786955", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8b0334eb62b844adabda0a8d9e9a1673", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d169e8f61fdb4469b3fece292bc9ba09", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9142b5a9eb3c4d8b8619b9c2adc5d75a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "38f340ec9320452fb76f3b88304660d2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6050e519c1974823922ce8f8d36ae7bb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3f9e0a8361244d8197bc540efbd90019", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1fb9e32fe68e4a5aa2b2ec2c936401f4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d2915bc9127c48b9b4915c6a6cda7432", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "406482edf7774749bab46bd51e8a2099", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "13e15d16ce8048bc92fd2de426947372", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bde732cf6ddb4f6eb63671527908771a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "83161bf797ed4fdd953ee41ac19f49d7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "740a876a16b0468c8986870f6f3b8e74", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ffad5050ef19461b8032e6d22ba5d1fe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "002e17c8c161486f9682869dbb7e00bd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c9655bc07b5b46f7af7de3e11133ee2b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7b32485482b8447e8db5381f84f06ddf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c504a0e569174c28b6314cdfd59d026e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d5630697e61641eeb7d6ea2ce9014ddf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e71a2486b0f7489eac0ea6628be85146", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "306ea045bff24334a2aed7069904e730", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4a6cb6c3fc3e43818ee4ff4da4c171c8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36b9aa7c66b34349ae7a039669c69185", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4c36bf3b408f4369954a2d9cfc4c2237", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c2af2c18c4f94d3db0bfa5ee25a7db0b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8052ec3d06cc480db3a659c4d479a093", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "461ca2bc6c2c429a8e2d818229392303", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "734c1d55c96c454dbf21cac605bc0c17", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4a2b435540374e4887d5f13d113c4a73", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "624c8b7b80744013afcf069e70d0bc1b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "06bd8afd101b4176a45113a943409983", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c0b4796ded194db584db7d0fccf856f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cafabc2cf1ca4c5b91630d2415c34519", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe3752c372044cd98784a78677fb4a63", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "11a88c6b1c9e478bb726f0ab2742f68d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ef683e25774c4871bfade13253e38688", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a1e0975b4114177bb02037b8b4e18c0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "502b9b32da1f4a898a641a41e50c9c9c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "702c18f186e743b2937937c28d16445e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "133a1c3db1644e0d8cfa199e0b638152", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e93232c4816e471d9df051cd088996f2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c5602d1d9a054b63a253920cdf78640d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "78ee4173e4574b1583f50e12d4c14bc4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea90a5980c984bbebbc3f4073cc71c8c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dde9438b1f184148b21954964b57ab22", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a0270c52dbc1490897da528d581598cd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fbe79254a4c74c3db9a650c162791889", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2aadbefc463e4e3eb7c12cade3b5dc55", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "16730d6b724d4e18bcaf755542a5a0b9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f3e606c061d461cb170d813a1618df8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dd7f0a98a36e4da78516e97f3c0f626e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "89c17c1f90ec43bcacf37fb3c42aaad8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "910f41649e50451894172ce62ea12855", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "23518caeef6b430a9d026f83ab0824bd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "362e9149475a4d828a390647c8a5d1b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d433cdb7aaeb4e5c8d5492f46ae54bb8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bebe5c670dd84e648596c02fb7b7202e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea88026d7ed44ecf919772a6a43199bc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "08656ce72fdf4849bf2a476d718e7370", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "94621d290ae3460f84ff162359f17cb4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95a75305198d4f21af4cae85bf7a1332", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "54d82c7513994ec29fecfd472bc05096", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c1a39b77526f4afbaa8d1353e2199a6d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6ff0923b0ff34c08856b9038c19df9e0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "73abfb88588e4e19ba5723a27b5df78a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e617999912364b3d90dfb07b2dcbddcf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7ab63e3827f248cdbdf2ecfe0c1ad9d4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7d0719f821e5477ba3a891608d40fc0e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36a8f8511e3f4dbe8984abaa5e2025a8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "77a95145ea9d47d79c297b2bc8833c66", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ec84d2e530d4aeea1e8e8b0f58f20f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4d78c3f7f0d647c6b04a2042f233f004", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7f41658c0b4e4850b395c99888be3eef", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "01616cd97ef74d7da841f3135d7bc5dc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b99cc93697f3452a835ff0e4b7627bca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fdec03ecd2364773b00dd368387e4583", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0f7855d324e6444d89d1e3242475555c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c17f5b95c33a48898d64df6c354ea219", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b1d7576e4e0d45cabcf8551132420376", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "53a7341a587549908f428f186e49f2fa", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0d0baca5e69d49588c51af56192b2c16", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4c6ff21635f24a4d8e1d22f1fbd74a82", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7d33976fb7b04b32a962cc95724c1890", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "47dc65a387ca49c3876f21aec2760530", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5fe3be9c465747939212bcd00139ae2b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "076a893fdbed4182901220c957c9b984", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d094e598986d4198a732afb278e8d0e6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dc78962a541744ecac71315438dae4fb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0175be8475f94ac5a894edc61ea8acd8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5f8391b104954e788c73a66b01de12a7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f6f1fb72ca7a4ff0b77b25290fae6a6e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e9e374c6aac48588e1e67763a2d4f4e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d29b5566f97d47d6a20deb2be67b905c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f4654f08d90c4899b6d2e91fe759f2d7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ef2f91dc7f04504b7103384f66e374c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7e0051b549934681b81ee449ec02d694", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c68e758ae834bf3b47ba718c942fb51", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b915bde6149848168629f72b956acec0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f223cb3f8f59460b9b25751d9b448826", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d1bf9ab80764b9686f274a557be47b8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1d3b4647537441beb3e83c1eb097d85e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "772c9441527d4d92a0e351b5f90ade86", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bad72ce251e24520a4337ac56d8a05b7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48163de7fa1a47b8929b2af174080106", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "30db95038c0d455b8221497af01b1a82", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d88a9d925ac84e1a93dab81e7999d29c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f916ebab0f8849bf9ab1a6b1895a7dc4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0c0ae82882cc4a519cacebd0b1481717", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c29de9ac110541f3a761f054c3e53039", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bee7ecd454a54838b290427abb59a870", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e6ef2ec42cf4d7badfa5adc34862fe6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "47d8725e85bb4163904b7d261bda8692", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0db56353f28640eb9df1838fb9dc4f4e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cd4ade124f674984b8bb8280793b46ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c86472c140fb4c74858f227987003092", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "868b296e6fe647d1b06e40cfdb2e9c8e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7050d669f3f042639c6ba0d325bc4e04", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "88330034922741a1a4c29b925e336284", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5613197766294ba9a3ff9be1b0b874cd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9a5c4d74c4fc40a5a40d03b7fabdfd23", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aeb2a6f985e64988ae66282b3955deb6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0741d4d24299422689e6ef0d389c7d34", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0bc244bedb924c5ba95dfd1503cc7d74", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36e9424890154bc491fe207958cb6ffc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e352274feaec477fb875d386c2c3fde1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f9a7592b1d02484ca476cc783acb292e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "04a1c2efd0b54f3ba98a58ac1c1cf9b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3e36d0cc37b74757b7136b5c66602712", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ddc6f956441a4604beada0a1e83c10f4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d1953a5896d84763a2af78c37c316687", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c175281ca2a3451cb4090ec0db2c9404", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "56fd12f780c347b980a3cb44bb146a10", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c84461cf7d144916b8832ee75e5ba445", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a51eaeac130a4c66a5f949919e044b50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8d1464337b45425a8050375d6afdaec0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0f754efad17341f3a8362d990d9fb1b0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5a2d035d10444bbeab5574df62336a0f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6dd493f2114146b4b287e1b9f7961c81", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7453383b834e43abb50c8a31696d8395", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a6e359323a86436baa589f57380c689b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "18f123061ac241c5ae124f31a940ab0c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "070a11276eba4b1a8388f2669f13656f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2d575997796946c29faf6b31ae606b2b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "893b53a6ad2a4beea70b3015cb41bf51", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ec51fb3dc3ce4bd8a4e9509a2a5748d9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "32843dae46b0475f8ea72a3e001a93e7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ad8d49a8915f440abe65cb81a5229233", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cddc103ea33b4889870cfeb895cec8cd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "418fd9e0cda4458fb06bd7403daf68ff", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a17b291c36584665933582aba6c585cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "60a1579e183b404b9957a75794b19085", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cf63b489a85c4e678c78d1a528ae8696", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d43676219d1949eab4e2f49298fe7630", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4aeb7f4849c84ced99e9efec5bded8d3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2222fe3906e8437abbf070bac424f8c5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5fa32ddb36a243c0a7c08c31e11b3fd9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cf5dfd81aea34f9a9b58aba5b4b7c554", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "681306575b17425ab895b756bc7e562e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6296276669f54690a2de7b336fa52387", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ad186cbef85f491ab468f2deca35515b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "debcb7c96f0546ac96620fd6fce7cd23", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9a696bcb31c14cca88b9693c9b307ab2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a596604de12f415fb4129c57b5fb91df", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c689dd95efd84221b70de0f4fd84be37", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9863cac833d24e8bb3c632b5df88debe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cb2a77c26b7944e48ed2d966599dee74", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7fce3b58ecdd447aab822797c3f6ad30", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6a3a15272f91401b940e7285be08db19", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b9f28514d6ed4ab1a948f5a6e18cd778", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1a88740f05584513ac35e50fd11f5872", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c327a24979a845a6bb5e5a8f16258f36", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6c028f775d924c8d82c2024dba717397", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "33b88c5e14474a7faf51fae8f84af75a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a8cfd724f17f416ba148dcee4b126364", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3f0d08be9a1b4144aed210fe7dfd06c3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "82a68acba3bb4d44b17f9558dd6aafd6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dd91652fcd4f4f2cac629ff77745baa5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "03051f29119c4ff488c189d4ada83a44", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dd1457265cee4aa9b192a01eb9b7705d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "58abea329c3943038b70d9d14e5f6f3f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0267996e86164044b699211587967fae", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "738c141db86048eba918a07f2883e0c6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1660ff55328941be89d7aeb12afb67fc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9800ef3ed37c4f3b87797fce6232a793", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5df5d53437cd471d85e408ead875867e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "868f0cd6a58c480585d6edd24d0b7bd3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f9e1ee78823f48dbb6c2b3bc7dcc6cd2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cda8abe54cb34d0e8c0a9c4c9ca87898", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ecd7aced8c9d4249a110d7f9ef9a8494", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ac2874a651e473f9529581eebc6ef0a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d39221fee52d444dae41ba41fecaefd3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e786504690de4178be3791a999704782", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ddbbc2b836564c2aa24d7fc2474f4aec", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3b0a460005b74f449a87aaa74a632d0e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4e224754a4284358a3e3793e40f1c3fc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e08cfa4cbcfb4213aac6418d5b8e8515", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "wandb: Network error (ReadTimeout), entering retry loop.\n", - "\u001b[34m\u001b[1mwandb\u001b[0m: Network error resolved after 0:00:27.999081, resuming normal operation.\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cf277bdadb2f4eef8a09e552d6d7b2c9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "924ad1870517415386eef77c375cb651", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "642bac42f7904ea6afbf18bc8c5af363", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "963ed33b3cde453c984110e7d501728e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1a9452be3eda4ce8ba9f7982db88623b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8c8cb9fd952b42b38421be6ec9576c0e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2f1261811ec844d6b6d7dc70eb95e8bd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "96d2035573de4879b4b1085500e3af56", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0ebbb65a1caf40eeb328838f11a7d6d9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4aa9c8aed7c1485fa7dfd744788be2eb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "db98b6aebc7f44dcbc23498f3acf7c44", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ca000508d3474e71ac4adbabd62f64a5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d4cc57178bff4a34ba6519e65807a917", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6d5695ac066a4271b605caaa441b88e4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48cb28b761ca42feb19f34da5c106a6c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4da0723c86bc4b6abba8b56957426f79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "63904a1ed0f5498aae2c9e49d0147de8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "73fd4ba3ec97426fa833b51a0928ed59", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3c59ad95ad7b4ae0a6d74d7ccffb7360", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "49a5bd00c5fa4a90be80326cbf1b98e3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dbaa3aa689b94a2188c4a5496438c476", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9a8ebe475da644d4ab18289f5b15996a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fbfefacaee5c41b9b98a5be158d82753", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0258545830c74959a5f4b5d8632c0d68", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2aadd4f03fd74203a14484a479a07e75", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a4bdcfcc2a0e4ce6b0039750994d3506", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba7760b4a28d4234aa4dcf4a0dac5774", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2901c88bd4e84b93a4f30089bcc3dc19", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cb21c71e1c124387994de726317a0550", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fb5540440bb74dd9a715b689f93bf397", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6da3c56fb9354be6b7c699df7491f7b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3224f9067e4140b98c9b3de93c0b58af", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c0a42df769f45438d6de1cf9b13f658", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9f7f698208ae40378b0f98421beb3efe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e63ab0618151497d8986e32064e2f508", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d15f3a2575c94dd0bab66a59346136f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "af33bd52daaa489ea555e425186cea94", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "66428f6dafc64ad4a9dd283c47f52d53", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c55e63428be49d39b0e8e5c1fce34f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "99125fcded604169b661d44778c5ed50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "28f52b773f594b5a8c952b62d57b644c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8d200641b7a546c8b6504e19a27e1374", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1b57b6760ca046ebbf4fa939a3dc4691", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f125b822d2b94af6a9c9c719d43d8a9c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "04689f2311424a1c87904bd31edecae9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e75afac9f02f4cdfb972768be6eaf046", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=1000` reached.\n" - ] - } - ], - "source": [ - "trainer.fit(model=model, train_dataloaders=train, val_dataloaders=val)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "5f23e13b-a415-4848-9b52-7b535f1f51cb", - "metadata": {}, - "outputs": [], - "source": [ - "noise = torch.randn(2, 1, LENGTH)\n", - "sampled = model.sample(\n", - " noise=noise,\n", - " num_steps=10 # Suggested range: 2-50\n", - ") # [2, 1, 2 ** 18]" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "1c9c7b80-4e11-4ec6-98e2-37263b62dc60", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(sampled[0], rate=SAMPLE_RATE)" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "a7d15cb9-6fea-4c43-bdc4-10133e72736a", - "metadata": {}, - "outputs": [], - "source": [ - "test = \"hi\"" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "ba6fd715-abbc-4dba-8822-a7046ca12ece", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "hi\n" - ] - } - ], - "source": [ - "print(test)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "1f8a4c43-ecff-4409-ace3-69ca80c08cdd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Audio(x[1], rate=SAMPLE_RATE)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "da8c525c-e6b5-4638-aba8-871ccadcf323", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/remfx/callbacks.py b/remfx/callbacks.py index 28bdbdcc6daa182239d1941b471e3f934aeb0d47..32bceffb9ca9dc7f5dea467b38d8fdf9181a231d 100644 --- a/remfx/callbacks.py +++ b/remfx/callbacks.py @@ -42,9 +42,7 @@ class AudioCallback(Callback): ) self.log_train_audio = False - def on_validation_batch_start( - self, trainer, pl_module, batch, batch_idx, dataloader_idx - ): + def on_validation_batch_start(self, trainer, pl_module, batch, batch_idx): x, target, _, rem_fx_labels = batch # Only run on first batch if batch_idx == 0 and self.log_audio: @@ -92,6 +90,8 @@ def log_wandb_audio_batch( caption: str = "", max_items: int = 10, ): + if type(logger) != pl.loggers.WandbLogger: + return num_items = samples.shape[0] samples = rearrange(samples, "b c t -> b t c") for idx in range(num_items): diff --git a/remfx/classifier.py b/remfx/classifier.py index 5bcde24657d459ee5ddea22b7bd29c6b53cbb953..1c35f1ace744993563c753241519bfea4f4abb28 100644 --- a/remfx/classifier.py +++ b/remfx/classifier.py @@ -173,10 +173,10 @@ class Cnn14(nn.Module): self.fc1 = nn.Linear(2048, 2048, bias=True) - # self.fc_audioset = nn.Linear(2048, num_classes, bias=True) - self.heads = torch.nn.ModuleList() - for _ in range(num_classes): - self.heads.append(nn.Linear(2048, 1, bias=True)) + self.fc_audioset = nn.Linear(2048, num_classes, bias=True) + # self.heads = torch.nn.ModuleList() + # for _ in range(num_classes): + # self.heads.append(nn.Linear(2048, 1, bias=True)) self.init_weight() @@ -192,7 +192,7 @@ class Cnn14(nn.Module): def init_weight(self): init_bn(self.bn0) init_layer(self.fc1) - # init_layer(self.fc_audioset) + init_layer(self.fc_audioset) def forward(self, x: torch.Tensor, train: bool = False): """ @@ -212,12 +212,12 @@ class Cnn14(nn.Module): # axs[1].imshow(x[0, :, :, :].detach().squeeze().cpu().numpy()) # plt.savefig("spec_augment.png", dpi=300) - # x = x.permute(0, 2, 1, 3) - # x = self.bn0(x) - # x = x.permute(0, 2, 1, 3) + x = x.permute(0, 2, 1, 3) + x = self.bn0(x) + x = x.permute(0, 2, 1, 3) # apply standardization - x = (x - x.mean(dim=0, keepdim=True)) / x.std(dim=0, keepdim=True) + # x = (x - x.mean(dim=0, keepdim=True)) / x.std(dim=0, keepdim=True) x = self.conv_block1(x, pool_size=(2, 2), pool_type="avg") x = F.dropout(x, p=0.2, training=train) @@ -239,13 +239,13 @@ class Cnn14(nn.Module): x = F.dropout(x, p=0.5, training=train) x = F.relu_(self.fc1(x)) - outputs = [] - for head in self.heads: - outputs.append(torch.sigmoid(head(x))) + # outputs = [] + # for head in self.heads: + # outputs.append(torch.sigmoid(head(x))) - # clipwise_output = self.fc_audioset(x) - - return outputs + clipwise_output = self.fc_audioset(x) + return clipwise_output + # return outputs class ConvBlock(nn.Module): diff --git a/remfx/datasets.py b/remfx/datasets.py index 82e2489f661e73c27ec1415f4ba5f76fef1ac915..41cee8afb4f947b98ddbbb9bd3e6df70d18d654c 100644 --- a/remfx/datasets.py +++ b/remfx/datasets.py @@ -18,7 +18,6 @@ from auraloss.freq import MultiResolutionSTFTLoss STFT_THRESH = 1e-3 ALL_EFFECTS = effect_lib.Pedalboard_Effects -# print(ALL_EFFECTS) vocalset_splits = { @@ -45,16 +44,6 @@ vocalset_splits = { } guitarset_splits = {"train": ["00", "01", "02", "03"], "val": ["04"], "test": ["05"]} -idmt_guitar_splits = { - "train": ["classical", "country_folk", "jazz", "latin", "metal", "pop"], - "val": ["reggae", "ska"], - "test": ["rock", "blues"], -} -idmt_bass_splits = { - "train": ["BE", "BEQ"], - "val": ["VIF"], - "test": ["VIS"], -} dsd_100_splits = { "train": ["train"], "val": ["val"], @@ -93,38 +82,8 @@ def locate_files(root: str, mode: str): ] print(f"Found {len(files)} files in GuitarSet {mode}.") file_list.append(sorted(files)) - # # ------------------------- IDMT-SMT-GUITAR ------------------------- - # idmt_smt_guitar_dir = os.path.join(root, "IDMT-SMT-GUITAR_V2") - # if os.path.isdir(idmt_smt_guitar_dir): - # files = glob.glob( - # os.path.join( - # idmt_smt_guitar_dir, "IDMT-SMT-GUITAR_V2", "dataset4", "**", "*.wav" - # ), - # recursive=True, - # ) - # files = [ - # f - # for f in files - # if os.path.basename(f).split("_")[0] in idmt_guitar_splits[mode] - # ] - # file_list.append(sorted(files)) - # print(f"Found {len(files)} files in IDMT-SMT-Guitar {mode}.") - # ------------------------- IDMT-SMT-BASS ------------------------- - # idmt_smt_bass_dir = os.path.join(root, "IDMT-SMT-BASS") - # if os.path.isdir(idmt_smt_bass_dir): - # files = glob.glob( - # os.path.join(idmt_smt_bass_dir, "**", "*.wav"), - # recursive=True, - # ) - # files = [ - # f - # for f in files - # if os.path.basename(os.path.dirname(f)) in idmt_bass_splits[mode] - # ] - # file_list.append(sorted(files)) - # print(f"Found {len(files)} files in IDMT-SMT-Bass {mode}.") # ------------------------- DSD100 --------------------------------- - dsd_100_dir = os.path.join(root, "DSD100") + dsd_100_dir = os.path.join(root, "DSD100/DSD100") if os.path.isdir(dsd_100_dir): files = glob.glob( os.path.join(dsd_100_dir, mode, "**", "*.wav"), @@ -468,7 +427,13 @@ class EffectDataset(Dataset): chunk = None random_dataset_choice = random.choice(self.files) while chunk is None: - random_file_choice = random.choice(random_dataset_choice) + try: + random_file_choice = random.choice(random_dataset_choice) + except IndexError: + print("IndexError") + print(random_dataset_choice) + print(random_file_choice) + raise IndexError chunk = select_random_chunk( random_file_choice, self.chunk_size, self.sample_rate ) @@ -613,7 +578,10 @@ class EffectDataset(Dataset): normalized_wet = self.normalize(wet) # Check STFT, pick different effects if necessary - stft = self.mrstft(normalized_wet, normalized_dry) + if num_removed_effects == 0: + # No need to check if no effects removed + break + stft = self.mrstft(normalized_wet.unsqueeze(0), normalized_dry.unsqueeze(0)) return normalized_dry, normalized_wet, dry_labels_tensor, wet_labels_tensor diff --git a/remfx/models.py b/remfx/models.py index 75dd03b7dc882eb2d994ff588f0d63af79392c32..ea3dc73a6dd21cfd13aab7b899b2831a67c2543c 100644 --- a/remfx/models.py +++ b/remfx/models.py @@ -4,16 +4,13 @@ import torchmetrics import pytorch_lightning as pl from torch import Tensor, nn from torchaudio.models import HDemucs -from audio_diffusion_pytorch import DiffusionModel from auraloss.time import SISDRLoss from auraloss.freq import MultiResolutionSTFTLoss from umx.openunmix.model import OpenUnmix, Separator -from remfx.utils import FADLoss, spectrogram +from remfx.utils import spectrogram from remfx.tcn import TCN from remfx.utils import causal_crop -from remfx.callbacks import log_wandb_audio_batch -from einops import rearrange from remfx import effects import asteroid import random @@ -51,7 +48,7 @@ class RemFXChainInference(pl.LightningModule): self.output_str = "IN_SISDR,OUT_SISDR,IN_STFT,OUT_STFT\n" self.use_all_effect_models = use_all_effect_models - def forward(self, batch, batch_idx, order=None): + def forward(self, batch, batch_idx, order=None, verbose=False): x, y, _, rem_fx_labels = batch # Use chain of effects defined in config if order: @@ -79,25 +76,19 @@ class RemFXChainInference(pl.LightningModule): ] for effect_label in rem_fx_labels ] + effects_present_name = [ + [ + ALL_EFFECTS[i].__name__ + for i, effect in enumerate(effect_label) + if effect == 1.0 + ] + for effect_label in rem_fx_labels + ] + if verbose: + print("Detected effects:", effects_present_name[0]) + print("Removing effects...") output = [] - # input_samples = rearrange(x, "b c t -> c (b t)").unsqueeze(0) - # target_samples = rearrange(y, "b c t -> c (b t)").unsqueeze(0) - - # log_wandb_audio_batch( - # logger=self.logger, - # id="input_effected_audio", - # samples=input_samples.cpu(), - # sampling_rate=self.sample_rate, - # caption="Input Data", - # ) - # log_wandb_audio_batch( - # logger=self.logger, - # id="target_audio", - # samples=target_samples.cpu(), - # sampling_rate=self.sample_rate, - # caption="Target Data", - # ) with torch.no_grad(): for i, (elem, effects_list) in enumerate(zip(x, effects_present)): elem = elem.unsqueeze(0) # Add batch dim @@ -107,40 +98,12 @@ class RemFXChainInference(pl.LightningModule): effect for effect in effects_order if effect in effect_list_names ] - # log_wandb_audio_batch( - # logger=self.logger, - # id=f"{i}_Before", - # samples=elem.cpu(), - # sampling_rate=self.sample_rate, - # caption=effects, - # ) for effect in effects: # Sample the model elem = self.model[effect].model.sample(elem) - # log_wandb_audio_batch( - # logger=self.logger, - # id=f"{i}_{effect}", - # samples=elem.cpu(), - # sampling_rate=self.sample_rate, - # caption=effects, - # ) - # log_wandb_audio_batch( - # logger=self.logger, - # id=f"{i}_After", - # samples=elem.cpu(), - # sampling_rate=self.sample_rate, - # caption=effects, - # ) output.append(elem.squeeze(0)) output = torch.stack(output) - # log_wandb_audio_batch( - # logger=self.logger, - # id="output_audio", - # samples=output_samples.cpu(), - # sampling_rate=self.sample_rate, - # caption="Output Data", - # ) loss = self.mrstftloss(output, y) + self.l1loss(output, y) * 100 return loss, output @@ -182,13 +145,14 @@ class RemFXChainInference(pl.LightningModule): ) # print(f"Input_{metric}", negate * self.metrics[metric](x, y)) # print(f"test_{metric}", negate * self.metrics[metric](output, y)) - self.output_str += f"{negate * self.metrics[metric](x, y).item():.4f},{negate * self.metrics[metric](output, y).item():.4f}," - self.output_str += "\n" + # self.output_str += f"{negate * self.metrics[metric](x, y).item():.4f},{negate * self.metrics[metric](output, y).item():.4f}," + # self.output_str += "\n" return loss def on_test_end(self) -> None: - with open("output.csv", "w") as f: - f.write(self.output_str) + pass + # with open("output.csv", "w") as f: + # f.write(self.output_str) def sample(self, batch): return self.forward(batch, 0)[1] @@ -300,13 +264,14 @@ class RemFX(pl.LightningModule): ) # print(f"Input_{metric}", negate * self.metrics[metric](x, y)) # print(f"test_{metric}", negate * self.metrics[metric](output, y)) - self.output_str += f"{negate * self.metrics[metric](x, y).item():.4f},{negate * self.metrics[metric](output, y).item():.4f}," - self.output_str += "\n" + # self.output_str += f"{negate * self.metrics[metric](x, y).item():.4f},{negate * self.metrics[metric](output, y).item():.4f}," + # self.output_str += "\n" return loss def on_test_end(self) -> None: - with open("output.csv", "w") as f: - f.write(self.output_str) + pass + # with open("output.csv", "w") as f: + # f.write(self.output_str) class OpenUnmixModel(nn.Module): @@ -377,21 +342,6 @@ class DemucsModel(nn.Module): return self.model(x).squeeze(1) -class DiffusionGenerationModel(nn.Module): - def __init__(self, n_channels: int = 1): - super().__init__() - self.model = DiffusionModel(in_channels=n_channels) - - def forward(self, batch): - x, target = batch - sampled_out = self.model.sample(x) - return self.model(x), sampled_out - - def sample(self, x: Tensor, num_steps: int = 10) -> Tensor: - noise = torch.randn(x.shape).to(x) - return self.model.sample(noise, num_steps=num_steps) - - class DPTNetModel(nn.Module): def __init__(self, sample_rate, num_bins, **kwargs): super().__init__() diff --git a/remfx/tcn.py b/remfx/tcn.py index d63fb2512a1184c3178942d1a9bd5d9a6c6d19e4..50a4ca08a6575d4c73e39816add9004be7d65752 100644 --- a/remfx/tcn.py +++ b/remfx/tcn.py @@ -125,7 +125,6 @@ class TCN(nn.Module): self.buffer = torch.zeros(2, self.receptive_field + self.block_size - 1) def forward(self, x: Tensor) -> Tensor: - x_in = x for _, block in enumerate(self.process_blocks): x = block(x) y_hat = torch.tanh(self.output(x)) diff --git a/remfx/utils.py b/remfx/utils.py index 61d93da102f766bd7170aaa9dcf020004aa7db22..7dd4565f0ae92f0fd128721c4249ce5424913896 100644 --- a/remfx/utils.py +++ b/remfx/utils.py @@ -3,8 +3,6 @@ from typing import List, Tuple import pytorch_lightning as pl from omegaconf import DictConfig from pytorch_lightning.utilities import rank_zero_only -from frechet_audio_distance import FrechetAudioDistance -import numpy as np import torch import torchaudio from torch import nn @@ -74,38 +72,10 @@ def log_hyperparameters( if "callbacks" in config: hparams["callbacks"] = config["callbacks"] - logger.experiment.config.update(hparams) - - -class FADLoss(torch.nn.Module): - def __init__(self, sample_rate: float): - super().__init__() - self.fad = FrechetAudioDistance( - use_pca=False, use_activation=False, verbose=False - ) - self.fad.model = self.fad.model.to("cpu") - self.sr = sample_rate - - def forward(self, audio_background, audio_eval): - embds_background = [] - embds_eval = [] - for sample in audio_background: - embd = self.fad.model.forward(sample.T.cpu().detach().numpy(), self.sr) - embds_background.append(embd.cpu().detach().numpy()) - for sample in audio_eval: - embd = self.fad.model.forward(sample.T.cpu().detach().numpy(), self.sr) - embds_eval.append(embd.cpu().detach().numpy()) - embds_background = np.concatenate(embds_background, axis=0) - embds_eval = np.concatenate(embds_eval, axis=0) - mu_background, sigma_background = self.fad.calculate_embd_statistics( - embds_background - ) - mu_eval, sigma_eval = self.fad.calculate_embd_statistics(embds_eval) - - fad_score = self.fad.calculate_frechet_distance( - mu_background, sigma_background, mu_eval, sigma_eval - ) - return fad_score + if type(trainer.logger) == pl.loggers.CSVLogger: + logger.log_hyperparams(hparams) + else: + logger.experiment.config.update(hparams) def create_random_chunks( diff --git a/remfx_detect.sh b/remfx_detect.sh new file mode 100755 index 0000000000000000000000000000000000000000..45a385bb82c5434323f26cb9a78ac8ca8ec3c511 --- /dev/null +++ b/remfx_detect.sh @@ -0,0 +1,39 @@ +#! /bin/bash + +# Example usage: +# ./remfx_detect.sh wet.wav -o examples/output.wav +# first argument is required, second argument is optional + +# Check if first argument is empty +if [ -z "$1" ] +then + echo "No audio input path supplied" + exit 1 +fi + +audio_input=$1 +# Shift first argument away +shift +output_path="" + +while getopts ":o:" opt; do + case $opt in + o) + output_path=$OPTARG + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + ;; + esac +done + + +# Run script +# If output path is blank, leave it blank + +if [ -z "$output_path" ] +then + python scripts/remfx_detect.py +exp=remfx_detect +audio_input=$audio_input + exit 0 +fi +python scripts/remfx_detect.py +exp=remfx_detect +audio_input=$audio_input +output_path=$output_path diff --git a/scripts/download.py b/scripts/download.py index faf0aa34508fcd8faebd261a27628680b8ba0618..8aa9f3343d4d3e05cc8ca2232e4d8a66cb753227 100644 --- a/scripts/download.py +++ b/scripts/download.py @@ -6,56 +6,62 @@ import shutil def download_zip_dataset(dataset_url: str, output_dir: str): zip_filename = os.path.basename(dataset_url) zip_name = zip_filename.replace(".zip", "") - os.system(f"wget -P {output_dir} {dataset_url}") - os.system( - f"""unzip {os.path.join(output_dir, zip_filename)} -d {os.path.join(output_dir, zip_name)}""" - ) - os.system(f"rm {os.path.join(output_dir, zip_filename)}") + if not os.path.exists(os.path.join(output_dir, zip_name)): + os.system(f"wget -P {output_dir} {dataset_url}") + os.system( + f"""unzip {os.path.join(output_dir, zip_filename)} -d {os.path.join(output_dir, zip_name)}""" + ) + os.system(f"rm {os.path.join(output_dir, zip_filename)}") + else: + print( + f"Dataset {zip_name} already downloaded at {output_dir}, skipping download." + ) def process_dataset(dataset_dir: str, output_dir: str): - if dataset_dir == "VocalSet1-2": - pass - elif dataset_dir == "audio_mono-mic": + if dataset_dir == "vocalset": pass - elif dataset_dir == "IDMT-SMT-GUITAR_V2": + elif dataset_dir == "guitarset": pass - elif dataset_dir == "IDMT-SMT-BASS": + elif dataset_dir == "idmt-smt-drums": pass - elif dataset_dir == "IDMT-SMT-DRUMS-V2": - pass - elif dataset_dir == "DSD100": - shutil.rmtree(os.path.join(output_dir, dataset_dir, "Mixtures")) - for dir in os.listdir(os.path.join(output_dir, dataset_dir, "Sources", "Dev")): - source = os.path.join(output_dir, dataset_dir, "Sources", "Dev", dir) - shutil.move(source, os.path.join(output_dir, dataset_dir)) - shutil.rmtree(os.path.join(output_dir, dataset_dir, "Sources", "Dev")) - for dir in os.listdir(os.path.join(output_dir, dataset_dir, "Sources", "Test")): - source = os.path.join(output_dir, dataset_dir, "Sources", "Test", dir) - shutil.move(source, os.path.join(output_dir, dataset_dir)) - shutil.rmtree(os.path.join(output_dir, dataset_dir, "Sources", "Test")) - shutil.rmtree(os.path.join(output_dir, dataset_dir, "Sources")) + elif dataset_dir == "dsd100": + dataset_root_dir = "DSD100/DSD100" - os.mkdir(os.path.join(output_dir, dataset_dir, "train")) - os.mkdir(os.path.join(output_dir, dataset_dir, "val")) - os.mkdir(os.path.join(output_dir, dataset_dir, "test")) - files = os.listdir(os.path.join(output_dir, dataset_dir)) + shutil.rmtree(os.path.join(output_dir, dataset_root_dir, "Mixtures")) + for dir in os.listdir( + os.path.join(output_dir, dataset_root_dir, "Sources", "Dev") + ): + source = os.path.join(output_dir, dataset_root_dir, "Sources", "Dev", dir) + shutil.move(source, os.path.join(output_dir, dataset_root_dir)) + shutil.rmtree(os.path.join(output_dir, dataset_root_dir, "Sources", "Dev")) + for dir in os.listdir( + os.path.join(output_dir, dataset_root_dir, "Sources", "Test") + ): + source = os.path.join(output_dir, dataset_root_dir, "Sources", "Test", dir) + shutil.move(source, os.path.join(output_dir, dataset_root_dir)) + shutil.rmtree(os.path.join(output_dir, dataset_root_dir, "Sources", "Test")) + shutil.rmtree(os.path.join(output_dir, dataset_root_dir, "Sources")) + os.mkdir(os.path.join(output_dir, dataset_root_dir, "train")) + os.mkdir(os.path.join(output_dir, dataset_root_dir, "val")) + os.mkdir(os.path.join(output_dir, dataset_root_dir, "test")) + files = os.listdir(os.path.join(output_dir, dataset_root_dir)) num = 0 for dir in files: - if not os.path.isdir(os.path.join(output_dir, dataset_dir, dir)): + if not os.path.isdir(os.path.join(output_dir, dataset_root_dir, dir)): continue if dir == "train" or dir == "val" or dir == "test": continue - source = os.path.join(output_dir, dataset_dir, dir, "bass.wav") + source = os.path.join(output_dir, dataset_root_dir, dir, "bass.wav") if num < 80: - dest = os.path.join(output_dir, dataset_dir, "train", f"{num}.wav") + dest = os.path.join(output_dir, dataset_root_dir, "train", f"{num}.wav") elif num < 90: - dest = os.path.join(output_dir, dataset_dir, "val", f"{num}.wav") + dest = os.path.join(output_dir, dataset_root_dir, "val", f"{num}.wav") else: - dest = os.path.join(output_dir, dataset_dir, "test", f"{num}.wav") + dest = os.path.join(output_dir, dataset_root_dir, "test", f"{num}.wav") shutil.move(source, dest) - shutil.rmtree(os.path.join(output_dir, dataset_dir, dir)) + shutil.rmtree(os.path.join(output_dir, dataset_root_dir, dir)) num += 1 else: @@ -69,23 +75,26 @@ if __name__ == "__main__": choices=[ "vocalset", "guitarset", - "idmt-smt-guitar", "dsd100", "idmt-smt-drums", ], nargs="+", ) + parser.add_argument("--output_dir", default="./data/remfx-data") args = parser.parse_args() + if not os.path.exists(args.output_dir): + os.makedirs(args.output_dir) + dataset_urls = { "vocalset": "https://zenodo.org/record/1442513/files/VocalSet1-2.zip", "guitarset": "https://zenodo.org/record/3371780/files/audio_mono-mic.zip", - "IDMT-SMT-GUITAR_V2": "https://zenodo.org/record/7544110/files/IDMT-SMT-GUITAR_V2.zip", - "DSD100": "http://liutkus.net/DSD100.zip", - "IDMT-SMT-DRUMS-V2": "https://zenodo.org/record/7544164/files/IDMT-SMT-DRUMS-V2.zip", + "dsd100": "http://liutkus.net/DSD100.zip", + "idmt-smt-drums": "https://zenodo.org/record/7544164/files/IDMT-SMT-DRUMS-V2.zip", } for dataset_name, dataset_url in dataset_urls.items(): if dataset_name in args.dataset_names: - download_zip_dataset(dataset_url, "~/data/remfx-data") - process_dataset(dataset_name, "~/data/remfx-data") + print("Downloading dataset: ", dataset_name) + download_zip_dataset(dataset_url, args.output_dir) + process_dataset(dataset_name, args.output_dir) diff --git a/scripts/download_egfx.sh b/scripts/download_egfx.sh deleted file mode 100755 index d62bb9af3d6349643b41030f28529a9394886bb0..0000000000000000000000000000000000000000 --- a/scripts/download_egfx.sh +++ /dev/null @@ -1,22 +0,0 @@ -#/bin/bash -mkdir -p data -cd data -mkdir -p egfx -cd egfx -wget https://zenodo.org/record/7044411/files/BluesDriver.zip?download=1 -O BluesDriver.zip -wget https://zenodo.org/record/7044411/files/Chorus.zip?download=1 -O Chorus.zip -wget https://zenodo.org/record/7044411/files/Clean.zip?download=1 -O Clean.zip -wget https://zenodo.org/record/7044411/files/Digital-Delay.zip?download=1 -O Digital-Delay.zip -wget https://zenodo.org/record/7044411/files/Flanger.zip?download=1 -O Flanger.zip -wget https://zenodo.org/record/7044411/files/Hall-Reverb.zip?download=1 -O Hall-Reverb.zip -wget https://zenodo.org/record/7044411/files/Phaser.zip?download=1 -O Phaser.zip -wget https://zenodo.org/record/7044411/files/Plate-Reverb.zip?download=1 -O Plate-Reverb.zip -wget https://zenodo.org/record/7044411/files/RAT.zip?download=1 -O RAT.zip -wget https://zenodo.org/record/7044411/files/Spring-Reverb.zip?download=1 -O Spring-Reverb.zip -wget https://zenodo.org/record/7044411/files/Sweep-Echo.zip?download=1 -O Sweep-Echo.zip -wget https://zenodo.org/record/7044411/files/TapeEcho.zip?download=1 -O TapeEcho.zip -wget https://zenodo.org/record/7044411/files/TubeScreamer.zip?download=1 -O TubeScreamer.zip -unzip -n \*.zip -rm -rf *.zip - - diff --git a/scripts/generate_dataset.py b/scripts/generate_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..2b961f7ff4a73fa4d95ae18a87cca91563148c70 --- /dev/null +++ b/scripts/generate_dataset.py @@ -0,0 +1,15 @@ +import pytorch_lightning as pl +import hydra +from omegaconf import DictConfig + + +@hydra.main(version_base=None, config_path="../cfg", config_name="config.yaml") +def main(cfg: DictConfig): + # Apply seed for reproducibility + if cfg.seed: + pl.seed_everything(cfg.seed) + datamodule = hydra.utils.instantiate(cfg.datamodule, _convert_="partial") + + +if __name__ == "__main__": + main() diff --git a/scripts/remfx_detect.py b/scripts/remfx_detect.py new file mode 100644 index 0000000000000000000000000000000000000000..b98c4eaf0a9dcdc09383c94ba787b0810ff34d8b --- /dev/null +++ b/scripts/remfx_detect.py @@ -0,0 +1,65 @@ +import hydra +from omegaconf import DictConfig +import torch +from remfx.models import RemFXChainInference +import torchaudio + + +@hydra.main( + version_base=None, + config_path="../cfg", + config_name="config.yaml", +) +def main(cfg: DictConfig): + print("Loading models...") + models = {} + for effect in cfg.ckpts: + model = hydra.utils.instantiate(cfg.ckpts[effect].model, _convert_="partial") + ckpt_path = cfg.ckpts[effect].ckpt_path + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + state_dict = torch.load(ckpt_path, map_location=device)["state_dict"] + model.load_state_dict(state_dict) + model.to(device) + models[effect] = model + + classifier = hydra.utils.instantiate(cfg.classifier, _convert_="partial") + ckpt_path = cfg.classifier_ckpt + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + state_dict = torch.load(ckpt_path, map_location=device)["state_dict"] + classifier.load_state_dict(state_dict) + classifier.to(device) + + inference_model = RemFXChainInference( + models, + sample_rate=cfg.sample_rate, + num_bins=cfg.num_bins, + effect_order=cfg.inference_effects_ordering, + classifier=classifier, + shuffle_effect_order=cfg.inference_effects_shuffle, + use_all_effect_models=cfg.inference_use_all_effect_models, + ) + + audio_file = cfg.audio_input + print("Loading", audio_file) + audio, sr = torchaudio.load(audio_file) + # Resample + audio = torchaudio.transforms.Resample(sr, cfg.sample_rate)(audio) + # Convert to mono + audio = audio.mean(0, keepdim=True) + # Add dimension for batch + audio = audio.unsqueeze(0) + audio = audio.to(device) + batch = [audio, audio, None, None] + + _, y = inference_model(batch, 0, verbose=True) + y = y.cpu() + if "output_path" in cfg: + output_path = cfg.output_path + else: + output_path = "./output.wav" + print("Saving output to", output_path) + torchaudio.save(output_path, y[0], sample_rate=cfg.sample_rate) + + +if __name__ == "__main__": + main() diff --git a/scripts/test.py b/scripts/test.py index 57cecd9b2d3f50270e5b8f4eaf310eb0e0e8afd8..bd24b66c6d0591fd2114c9478703f2a5823d8d0c 100644 --- a/scripts/test.py +++ b/scripts/test.py @@ -2,7 +2,6 @@ import pytorch_lightning as pl import hydra from omegaconf import DictConfig import remfx.utils as utils -from pytorch_lightning.utilities.model_summary import ModelSummary import torch log = utils.get_logger(__name__) diff --git a/setup.py b/setup.py index d7d841087c5c5c2d48054d020f46551cd48f0425..07effff61690ab42caab6914b08f380b0578175a 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages NAME = "remfx" DESCRIPTION = "Universal audio effect removal" -URL = "" +URL = "https://github.com/mhrice/RemFx" EMAIL = "m.rice@se22.qmul.ac.uk" AUTHOR = "Matthew Rice" REQUIRES_PYTHON = ">=3.8.0" @@ -35,18 +35,14 @@ setup( "scipy", "numpy", "torchvision", - "pytorch-lightning", + "pytorch-lightning>=2.0.0", "numba", "wandb", - "audio-diffusion-pytorch", - "ema_pytorch", "einops", - "librosa", "hydra-core", "auraloss", "pyloudnorm", "pedalboard", - "frechet_audio_distance", "asteroid", ], include_package_data=True, diff --git a/shell_vars.sh b/shell_vars.sh deleted file mode 100755 index 0294f944d22ece49be62768a6efca1bf54bc7104..0000000000000000000000000000000000000000 --- a/shell_vars.sh +++ /dev/null @@ -1,3 +0,0 @@ -export DATASET_ROOT="./data/remfx-data" -export WANDB_PROJECT="RemFX" -export WANDB_ENTITY="mattricesound" \ No newline at end of file diff --git a/train_all.sh b/train_all.sh deleted file mode 100755 index 49f9d3f8d972d935fc5f01c6cf5174aed4306489..0000000000000000000000000000000000000000 --- a/train_all.sh +++ /dev/null @@ -1,6 +0,0 @@ -python scripts/train.py +exp=5-5_cls.yaml model=cls_wav2vec2 render_files=False logs_dir=/scratch/cjs-log -python scripts/train.py +exp=5-5_cls.yaml model=cls_panns_44k render_files=False logs_dir=/scratch/cjs-log -python scripts/train.py +exp=5-5_cls.yaml model=cls_panns_16k render_files=False logs_dir=/scratch/cjs-log -python scripts/train.py +exp=5-5_cls.yaml model=cls_panns_pt render_files=False logs_dir=/scratch/cjs-log -python scripts/train.py +exp=5-5_cls.yaml model=cls_vggish render_files=False logs_dir=/scratch/cjs-log -python scripts/train.py +exp=5-5_cls.yaml model=cls_wav2clip render_files=False logs_dir=/scratch/cjs-log \ No newline at end of file