diff --git a/_parameters.ini b/_parameters.ini index d2ac814..3bb70ee 100644 --- a/_parameters.ini +++ b/_parameters.ini @@ -4,20 +4,19 @@ debug = False eval = True seed = 69 owner = si11ium -model_name = VisualTransformer -data_name = PrimatesLibrosaDatamodule +model_name = CNNBaseline +data_name = CCSLibrosaDatamodule [data] num_worker = 10 data_root = data variable_length = True -sample_segment_len=0 -sample_hop_len=0 +target_mel_length_in_seconds = 0.7 n_mels = 128 sr = 16000 hop_length = 128 -n_fft = 256 +n_fft = 512 random_apply_chance = 0.7 loudness_ratio = 0.0 @@ -47,8 +46,7 @@ use_bias = True use_norm = True dropout = 0.2 lat_dim = 32 -features = 64 -filters = [16, 32, 64] +filters = [16, 32, 64, 128] [VisualTransformer] weight_init = xavier_normal_ @@ -111,7 +109,7 @@ embedding_size = 30 [train] outpath = output version = None -sampler = EqualSampler +sampler = WeightedRandomSampler loss = ce_loss sto_weight_avg = False weight_decay = 0 diff --git a/datasets/compare_base.py b/datasets/compare_base.py index ed5d646..ce5e075 100644 --- a/datasets/compare_base.py +++ b/datasets/compare_base.py @@ -32,7 +32,7 @@ class CompareBase(_BaseDataModule): @property def mel_folder(self): - return self.root / 'mel_folder' + return Path(f'{self.root}_mel_folder') @property def wav_folder(self): @@ -58,7 +58,10 @@ class CompareBase(_BaseDataModule): self.sample_segment_length = target_frames // self.mel_kwargs['hop_length'] + 1 # Utility - self.utility_transforms = Compose([NormalizeLocal(), ToTensor()]) + self.utility_transforms = Compose([ + NormalizeLocal(), + ToTensor() + ]) # Data Augmentations self.random_apply_chance = random_apply_chance @@ -85,8 +88,11 @@ class CompareBase(_BaseDataModule): batch_size=self.batch_size, pin_memory=False, num_workers=self.num_worker) - def _build_subdataset(self, row, build=False): + def _build_subdataset(self, row, build=False, data_option=None): slice_file_name, class_name = row.strip().split(',') + if data_option is not None: + if data_option not in slice_file_name: + return None, -1, 'no_file' class_id = self.class_names.get(class_name, -1) audio_file_path = self.wav_folder / slice_file_name @@ -96,53 +102,54 @@ class CompareBase(_BaseDataModule): kwargs.update(mel_augmentations=self.utility_transforms) # DATA OPTION DIFFERENTIATION !!!!!!!!!!! - End - kwargs.update(sample_segment_len=self.sample_segment_length, sample_hop_len=self.sample_segment_length//2) mel_dataset = LibrosaAudioToMelDataset(audio_file_path, class_id, **kwargs) if build: assert mel_dataset.build_mel() return mel_dataset, class_id, slice_file_name - def manual_setup(self, stag=None): + def manual_setup(self): datasets = dict() - for data_option in data_options: - with open(Path(self.root) / 'lab' / f'{data_option}.csv', mode='r') as f: - # Exclude the header - _ = next(f) - all_rows = list(f) - chunksize = len(all_rows) // max(self.num_worker, 1) - dataset = list() - with mp.Pool(processes=self.num_worker) as pool: - from itertools import repeat - results = pool.starmap_async(self._build_subdataset, zip(all_rows, repeat(True, len(all_rows))), - chunksize=chunksize) - for sub_dataset in results.get(): - dataset.append(sub_dataset[0]) + with (Path(self.root) / 'lab' / 'labels.csv') as label_csv_file: + if label_csv_file.exists(): + lab_file = label_csv_file.name + else: + lab_file = None + + for data_option in data_options: + if lab_file is not None: + if any([x in lab_file for x in data_options]): + lab_file = f'{data_option}.csv' + dataset = self._load_from_file(lab_file, data_option, rebuild=True) datasets[data_option] = ConcatDataset(dataset) print(f'{data_option}-dataset prepared.') self.datasets = datasets return datasets - def prepare_data(self, *args, rebuild=False, **kwargs): + def prepare_data(self, *args, rebuild=False, subsets=None, **kwargs): datasets = dict() samplers = dict() weights = dict() - for data_option in data_options: - with open(Path(self.root) / 'lab' / f'{data_option}.csv', mode='r') as f: - # Exclude the header - _ = next(f) - all_rows = list(f) - chunksize = len(all_rows) // max(self.num_worker, 1) - dataset = list() - with mp.Pool(processes=self.num_worker) as pool: + with (Path(self.root) / 'lab' / 'labels.csv') as label_csv_file: + if label_csv_file.exists(): + lab_file = label_csv_file.name + else: + lab_file = None + + for data_option in data_options: + if subsets is not None: + if data_option not in subsets: + print(f'{data_option} skipped...') + continue + + if lab_file is not None: + if any([x in lab_file for x in data_options]): + lab_file = f'{data_option}.csv' + + dataset = self._load_from_file(lab_file, data_option, rebuild=rebuild) - from itertools import repeat - results = pool.starmap_async(self._build_subdataset, zip(all_rows, repeat(rebuild, len(all_rows))), - chunksize=chunksize) - for sub_dataset in results.get(): - dataset.append(sub_dataset[0]) datasets[data_option] = ConcatDataset(dataset) print(f'{data_option}-dataset set up!') @@ -172,6 +179,27 @@ class CompareBase(_BaseDataModule): print(f'Dataset {self.__class__.__name__} setup done.') return datasets + def _load_from_file(self, lab_file, data_option, rebuild=False): + with open(Path(self.root) / 'lab' / lab_file, mode='r') as f: + # Exclude the header + _ = next(f) + all_rows = list(f) + chunksize = len(all_rows) // max(self.num_worker, 1) + dataset = list() + with mp.Pool(processes=self.num_worker) as pool: + + from itertools import repeat + results = pool.starmap_async(self._build_subdataset, + zip(all_rows, + repeat(rebuild, len(all_rows)), + repeat(data_option, len(all_rows)) + ), + chunksize=chunksize) + for sub_dataset in results.get(): + if sub_dataset[0] is not None: + dataset.append(sub_dataset[0]) + return dataset + def purge(self): import shutil diff --git a/datasets/mask_librosa_datamodule.py b/datasets/mask_librosa_datamodule.py new file mode 100644 index 0000000..2c15c38 --- /dev/null +++ b/datasets/mask_librosa_datamodule.py @@ -0,0 +1,19 @@ +from datasets.compare_base import CompareBase +from ml_lib.utils.tools import add_argparse_args + + +class MaskLibrosaDatamodule(CompareBase): + + class_names = ['mask', 'clear'] + sub_dataset_name = 'ComParE2020_Mask' + + def __init__(self, *args, **kwargs): + super(MaskLibrosaDatamodule, self).__init__(*args, **kwargs) + + @classmethod + def add_argparse_args(cls, parent_parser): + return add_argparse_args(CompareBase, parent_parser) + + @classmethod + def from_argparse_args(cls, args, **kwargs): + return CompareBase.from_argparse_args(args, class_names=cls.class_names, sub_dataset_name=cls.sub_dataset_name) diff --git a/models/cnn_baseline.py b/models/cnn_baseline.py index cb7611f..fe79494 100644 --- a/models/cnn_baseline.py +++ b/models/cnn_baseline.py @@ -16,8 +16,7 @@ class CNNBaseline(CombinedModelMixins, ): def __init__(self, in_shape, n_classes, weight_init, activation, - use_bias, use_norm, dropout, lat_dim, features, - filters, + use_bias, use_norm, dropout, lat_dim, filters, lr, weight_decay, sto_weight_avg, lr_warm_restart_epochs, opt_reset_interval, loss, scheduler, lr_scheduler_parameter ): diff --git a/models/transformer_model.py b/models/transformer_model.py index 1ed79c2..f196a3c 100644 --- a/models/transformer_model.py +++ b/models/transformer_model.py @@ -6,6 +6,7 @@ from torch import nn from einops import rearrange, repeat +from ml_lib.metrics.binary_class_classifictaion import BinaryScores from ml_lib.metrics.multi_class_classification import MultiClassScores from ml_lib.modules.blocks import (TransformerModule, F_x) from ml_lib.modules.util import (LightningBaseModule, AutoPadToShape) @@ -128,4 +129,7 @@ class VisualTransformer(CombinedModelMixins, return Namespace(main_out=tensor, attn_weights=attn_weights) def additional_scores(self, outputs): - return MultiClassScores(self)(outputs) + if self.params.n_classes <= 2: + return BinaryScores(self)(outputs) + else: + return MultiClassScores(self)(outputs) diff --git a/multi_run.py b/multi_run.py index 26080f8..db50ba7 100644 --- a/multi_run.py +++ b/multi_run.py @@ -10,13 +10,13 @@ import itertools if __name__ == '__main__': # Set new values - hparams_dict = dict(seed=range(10), + hparams_dict = dict(seed=range(1, 11), model_name=['CNNBaseline'], data_name=['CCSLibrosaDatamodule'], # 'CCSLibrosaDatamodule'], batch_size=[50], max_epochs=[200], - variable_length=[False], - target_mel_length_in_seconds=[0.5], + variable_length=[False], # THIS IS NEXT + target_mel_length_in_seconds=[0.7], random_apply_chance=[0.5], # trial.suggest_float('random_apply_chance', 0.1, 0.5, step=0.1), loudness_ratio=[0], # trial.suggest_float('loudness_ratio', 0.0, 0.5, step=0.1), shift_ratio=[0.3], # trial.suggest_float('shift_ratio', 0.0, 0.5, step=0.1), @@ -31,11 +31,11 @@ if __name__ == '__main__': attn_depth=[12], # trial.suggest_int('attn_depth', 2, 14, step=4), heads=[6], # trial.suggest_int('heads', 2, 16, step=2), scheduler=['LambdaLR'], # trial.suggest_categorical('scheduler', [None, 'LambdaLR']), - lr_scheduler_parameter=[0.95], # [0.98], + lr_scheduler_parameter=[0.94, 0.93, 0.95], # [0.98], embedding_size=[30], # trial.suggest_int('embedding_size', 12, 64, step=12), loss=['ce_loss'], sampler=['WeightedRandomSampler'], - # rial.suggest_categorical('sampler', [None, 'WeightedRandomSampler']), + # trial.suggest_categorical('sampler', [None, 'WeightedRandomSampler']), weight_decay=[0], # trial.suggest_loguniform('weight_decay', 1e-20, 1e-1), ) diff --git a/notebooks/Train Eval.ipynb b/notebooks/Train Eval.ipynb index 696135c..61eb2e9 100644 --- a/notebooks/Train Eval.ipynb +++ b/notebooks/Train Eval.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 6, + "execution_count": 25, "outputs": [], "source": [ "from collections import defaultdict\n", @@ -33,14 +33,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 26, "outputs": [], "source": [ "# Settings and Variables\n", "\n", "# This Experiment (= Model and Parameter Configuration\n", "_ROOT = Path('..')\n", - "out_path = Path('..') / Path('output')\n", + "out_path = Path('..') / Path('output') / 'output'\n", "model_name = 'VisualTransformer'\n" ], "metadata": { @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 27, "outputs": [], "source": [ "def print_stats(data_option, mean_duration, std_duration, min_duration, max_duration):\n", @@ -78,7 +78,7 @@ " # mean_loss,epoch,step,macro_f1_score, macro_roc_auc_ovr, uar_score, micro_f1_score\n", " # Pytorch Metrics:\n", " # PL_f1_score,PL_accuracy_score_score, PL_fbeta_score,PL_recall_score,PL_precision_score,\n", - " score = metrics.PL_recall_score[-1]\n", + " score = metrics.PL_recall_score.iat[-1]\n", " print(f'{exp_path.name} - {run_folder.name}: {score}')\n", " best_scores.append(score)\n", " had_errors.append(False)\n", @@ -102,183 +102,648 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 28, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "--------------VT_259ee495ee2d2dc0e56bb23d12476f17------------------\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_1: 0.8403531908988953\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_3: 0.8312729001045227\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_0: 0.8342075347900391\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_5: 0.8459098935127258\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_2: 0.8468937277793884\n", - "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_4: 0.8404075503349304\n", + "--------------VT_01123c93daaffa92d2ed341bda32426d------------------\n", + "VT_01123c93daaffa92d2ed341bda32426d - version_0: 0.8587360978126526\n", + "VT_01123c93daaffa92d2ed341bda32426d - version_1: 0.8587360978126526\n", + "VT_01123c93daaffa92d2ed341bda32426d - version_2: 0.8587360978126526\n", + "VT_01123c93daaffa92d2ed341bda32426d - version_3: 0.8587360978126526\n", + "VT_01123c93daaffa92d2ed341bda32426d - version_4: nan\n", "\n", "\n", - "For VT_259ee495ee2d2dc0e56bb23d12476f17; statistics are:\n", - "Scores - mean: 0.840s\tstd: 0.006smin: 0.831s\t max: 0.847s\n", + "For VT_01123c93daaffa92d2ed341bda32426d; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", "--------------------------------------------\n", "--------------VT_012aff7c1c667073aedafcbebfa35ec7------------------\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_6: 0.8637051582336426\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_1: 0.864475429058075\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_3: 0.854859471321106\n", "VT_012aff7c1c667073aedafcbebfa35ec7 - version_0: 0.8631429672241211\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_8: 0.8484407663345337\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_5: 0.8564963340759277\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_7: 0.8519455194473267\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_1: 0.864475429058075\n", "VT_012aff7c1c667073aedafcbebfa35ec7 - version_2: 0.8683117032051086\n", - "VT_012aff7c1c667073aedafcbebfa35ec7 - version_9: 0.8730489611625671\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_3: 0.854859471321106\n", "VT_012aff7c1c667073aedafcbebfa35ec7 - version_4: 0.8658838272094727\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_5: 0.8564963340759277\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_6: 0.8637051582336426\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_7: 0.8519455194473267\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_8: 0.8484407663345337\n", + "VT_012aff7c1c667073aedafcbebfa35ec7 - version_9: 0.8730489611625671\n", "\n", "\n", "For VT_012aff7c1c667073aedafcbebfa35ec7; statistics are:\n", "Scores - mean: 0.861s\tstd: 0.007smin: 0.848s\t max: 0.873s\n", "--------------------------------------------\n", - "--------------VT_fdf2a86085b508c1325b181c830a4cf7------------------\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_6: 0.854997456073761\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_1: 0.8609604835510254\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_3: 0.8558254837989807\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_0: 0.8728921413421631\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_8: 0.8631933927536011\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_5: 0.8612215518951416\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_7: 0.8661960959434509\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_2: 0.8636621832847595\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_9: 0.8614727258682251\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_4: 0.8657329082489014\n", + "--------------VT_028418f4008a3ef47d12924589eae87f------------------\n", + "--------------VT_0791cc2ee5aa32971fb0414616f198dd------------------\n", + "VT_0791cc2ee5aa32971fb0414616f198dd - version_69: 0.5\n", "\n", "\n", - "For VT_fdf2a86085b508c1325b181c830a4cf7; statistics are:\n", - "Scores - mean: 0.863s\tstd: 0.005smin: 0.855s\t max: 0.873s\n", + "For VT_0791cc2ee5aa32971fb0414616f198dd; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", "--------------------------------------------\n", - "--------------VT_cc64c06847a7ca26f5ea4d465f9cc5bc------------------\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_6: 0.8572231531143188\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_1: 0.8442623615264893\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_3: 0.8498414754867554\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_0: 0.8569087982177734\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_8: 0.8455194234848022\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_5: 0.8435630798339844\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_7: 0.845982551574707\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_2: 0.8571171164512634\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_9: 0.8448543548583984\n", - "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_4: 0.845399022102356\n", + "--------------VT_0f47a18659846bffd5557edaa03f43b0------------------\n", + "VT_0f47a18659846bffd5557edaa03f43b0 - version_69: 0.5\n", "\n", "\n", - "For VT_cc64c06847a7ca26f5ea4d465f9cc5bc; statistics are:\n", - "Scores - mean: 0.849s\tstd: 0.005smin: 0.844s\t max: 0.857s\n", + "For VT_0f47a18659846bffd5557edaa03f43b0; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_0f705777d0da20ebadfd2a1bca77544e------------------\n", + "VT_0f705777d0da20ebadfd2a1bca77544e - version_69: 0.5\n", + "\n", + "\n", + "For VT_0f705777d0da20ebadfd2a1bca77544e; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_10c1c7d5e95892f7b1f2449277d5401d------------------\n", + "VT_10c1c7d5e95892f7b1f2449277d5401d - version_69: 0.5\n", + "\n", + "\n", + "For VT_10c1c7d5e95892f7b1f2449277d5401d; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_15cbb349b2b50dbb97beec16af2bedab------------------\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_0: 0.8336991667747498\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_1: 0.836580216884613\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_2: 0.8349334001541138\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_3: 0.8312996029853821\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_4: 0.8381868600845337\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_5: 0.8243923187255859\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_6: 0.8407894372940063\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_7: 0.8342592120170593\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_8: 0.8231534957885742\n", + "VT_15cbb349b2b50dbb97beec16af2bedab - version_9: 0.8382810950279236\n", + "\n", + "\n", + "For VT_15cbb349b2b50dbb97beec16af2bedab; statistics are:\n", + "Scores - mean: 0.834s\tstd: 0.006smin: 0.823s\t max: 0.841s\n", + "--------------------------------------------\n", + "--------------VT_15f1df9a738c8f14f1535b5267bf9c35------------------\n", + "VT_15f1df9a738c8f14f1535b5267bf9c35 - version_7: nan\n", + "\n", + "\n", + "For VT_15f1df9a738c8f14f1535b5267bf9c35; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_190a66a3e55a8bc5e14f24429702e6b3------------------\n", + "VT_190a66a3e55a8bc5e14f24429702e6b3 - version_69: 0.5\n", + "\n", + "\n", + "For VT_190a66a3e55a8bc5e14f24429702e6b3; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_1988173e9e2bd82b83868260996df192------------------\n", + "VT_1988173e9e2bd82b83868260996df192 - version_69: 0.5\n", + "\n", + "\n", + "For VT_1988173e9e2bd82b83868260996df192; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_1f3896e6f435f3f0b3b043b90356fcaa------------------\n", + "--------------VT_1f4ef79ca183a18cc66a01d6179cbac5------------------\n", + "VT_1f4ef79ca183a18cc66a01d6179cbac5 - version_0: nan\n", + "\n", + "\n", + "For VT_1f4ef79ca183a18cc66a01d6179cbac5; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_235111597a471c2c3cd33786f2a96f98------------------\n", + "--------------VT_23fce6bbb050ed1ca3a84e28bec6540a------------------\n", + "--------------VT_259ee495ee2d2dc0e56bb23d12476f17------------------\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_0: 0.8342075347900391\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_1: 0.8403531908988953\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_2: 0.8468937277793884\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_3: 0.8312729001045227\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_4: 0.8404075503349304\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_5: 0.8485946655273438\n", + "VT_259ee495ee2d2dc0e56bb23d12476f17 - version_6: 0.8351554870605469\n", + "\n", + "\n", + "For VT_259ee495ee2d2dc0e56bb23d12476f17; statistics are:\n", + "Scores - mean: 0.840s\tstd: 0.006smin: 0.831s\t max: 0.849s\n", "--------------------------------------------\n", "--------------VT_2c7afd50e127f5a2339db0ddfd6bfd7c------------------\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_6: 0.8630585670471191\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_1: 0.8686699271202087\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_3: 0.8729345798492432\n", "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_0: 0.8636038899421692\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_8: 0.8558077812194824\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_5: 0.8710847496986389\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_7: 0.8619015216827393\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_1: 0.8686699271202087\n", "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_2: 0.8499867916107178\n", - "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_9: 0.8507344722747803\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_3: 0.8729345798492432\n", "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_4: 0.8555077314376831\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_5: 0.8710847496986389\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_6: 0.8630585670471191\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_7: 0.8619015216827393\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_8: 0.8558077812194824\n", + "VT_2c7afd50e127f5a2339db0ddfd6bfd7c - version_9: 0.8507344722747803\n", "\n", "\n", "For VT_2c7afd50e127f5a2339db0ddfd6bfd7c; statistics are:\n", "Scores - mean: 0.861s\tstd: 0.008smin: 0.850s\t max: 0.873s\n", "--------------------------------------------\n", - "--------------VT_63b9fee765cdda91756af1f35cd320a3------------------\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_6: 0.8663593530654907\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_1: 0.8519773483276367\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_3: 0.8519774675369263\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_0: 0.8603388071060181\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_8: 0.8614517450332642\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_5: 0.8558711409568787\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_7: 0.8537712097167969\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_2: 0.8558205962181091\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_9: 0.8647329211235046\n", - "VT_63b9fee765cdda91756af1f35cd320a3 - version_4: 0.8546129465103149\n", + "--------------VT_2fb996c7394577d90651f381ad06d9b0------------------\n", + "--------------VT_30c0815ba934bff4458141e33dacb15a------------------\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_0: 0.841953456401825\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_1: 0.8552379608154297\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_2: 0.8526695966720581\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_3: 0.8482565879821777\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_4: 0.8506109118461609\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_5: 0.850794792175293\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_6: 0.8524023294448853\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_7: 0.8411595225334167\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_8: 0.8499799370765686\n", + "VT_30c0815ba934bff4458141e33dacb15a - version_9: 0.8531520366668701\n", "\n", "\n", - "For VT_63b9fee765cdda91756af1f35cd320a3; statistics are:\n", - "Scores - mean: 0.858s\tstd: 0.005smin: 0.852s\t max: 0.866s\n", + "For VT_30c0815ba934bff4458141e33dacb15a; statistics are:\n", + "Scores - mean: 0.850s\tstd: 0.004smin: 0.841s\t max: 0.855s\n", "--------------------------------------------\n", - "--------------VT_aca900a5b9566af61c91aea6525190e6------------------\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_6: 0.8575441241264343\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_1: 0.8453981280326843\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_3: 0.8621359467506409\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_0: 0.8547767400741577\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_8: 0.8613359928131104\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_5: 0.8667657375335693\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_7: 0.8474754095077515\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_2: 0.8628634214401245\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_9: 0.8585749268531799\n", - "VT_aca900a5b9566af61c91aea6525190e6 - version_4: 0.8380126357078552\n", + "--------------VT_3481f06b90f6d2dd76c70f3fb304e289------------------\n", + "VT_3481f06b90f6d2dd76c70f3fb304e289 - version_69: 0.7722082138061523\n", "\n", "\n", - "For VT_aca900a5b9566af61c91aea6525190e6; statistics are:\n", - "Scores - mean: 0.855s\tstd: 0.009smin: 0.838s\t max: 0.867s\n", + "For VT_3481f06b90f6d2dd76c70f3fb304e289; statistics are:\n", + "Scores - mean: 0.772s\tstd: 0.000smin: 0.772s\t max: 0.772s\n", "--------------------------------------------\n", - "--------------VT_fb6b96a190455106d29f0630f002ac6f------------------\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_6: 0.8635155558586121\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_1: 0.8261691927909851\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_3: 0.8444902896881104\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_0: 0.865719735622406\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_8: 0.8533784747123718\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_5: 0.8555656671524048\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_7: 0.837948739528656\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_2: 0.8545827865600586\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_9: 0.8541560769081116\n", - "VT_fb6b96a190455106d29f0630f002ac6f - version_4: 0.85297691822052\n", + "--------------VT_352b6ac0a2cbda72c0ab4e461f3d531b------------------\n", + "VT_352b6ac0a2cbda72c0ab4e461f3d531b - version_69: 0.5\n", "\n", "\n", - "For VT_fb6b96a190455106d29f0630f002ac6f; statistics are:\n", - "Scores - mean: 0.851s\tstd: 0.011smin: 0.826s\t max: 0.866s\n", + "For VT_352b6ac0a2cbda72c0ab4e461f3d531b; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", "--------------------------------------------\n", "--------------VT_378971720b930050ad7662bb96699e20------------------\n", - "VT_378971720b930050ad7662bb96699e20 - version_6: 0.8388294577598572\n", - "VT_378971720b930050ad7662bb96699e20 - version_1: 0.8333806395530701\n", - "VT_378971720b930050ad7662bb96699e20 - version_3: 0.847841203212738\n", "VT_378971720b930050ad7662bb96699e20 - version_0: 0.8287097811698914\n", - "VT_378971720b930050ad7662bb96699e20 - version_8: 0.8436978459358215\n", - "VT_378971720b930050ad7662bb96699e20 - version_5: 0.8392724990844727\n", - "VT_378971720b930050ad7662bb96699e20 - version_7: 0.8410612344741821\n", + "VT_378971720b930050ad7662bb96699e20 - version_1: 0.8333806395530701\n", "VT_378971720b930050ad7662bb96699e20 - version_2: 0.8407015204429626\n", - "VT_378971720b930050ad7662bb96699e20 - version_9: 0.8334627151489258\n", + "VT_378971720b930050ad7662bb96699e20 - version_3: 0.847841203212738\n", "VT_378971720b930050ad7662bb96699e20 - version_4: 0.8400266766548157\n", + "VT_378971720b930050ad7662bb96699e20 - version_5: 0.8392724990844727\n", + "VT_378971720b930050ad7662bb96699e20 - version_6: 0.8388294577598572\n", + "VT_378971720b930050ad7662bb96699e20 - version_7: 0.8410612344741821\n", + "VT_378971720b930050ad7662bb96699e20 - version_8: 0.8436978459358215\n", + "VT_378971720b930050ad7662bb96699e20 - version_9: 0.8334627151489258\n", "\n", "\n", "For VT_378971720b930050ad7662bb96699e20; statistics are:\n", "Scores - mean: 0.839s\tstd: 0.005smin: 0.829s\t max: 0.848s\n", "--------------------------------------------\n", + "--------------VT_38732f1b943508e5c6767bfd2685787f------------------\n", + "VT_38732f1b943508e5c6767bfd2685787f - version_69: 0.5\n", + "\n", + "\n", + "For VT_38732f1b943508e5c6767bfd2685787f; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_43d4a465ae0448602958abb6b56ca98a------------------\n", + "--------------VT_47b626672d6b4618e6251e11807e4552------------------\n", + "VT_47b626672d6b4618e6251e11807e4552 - version_69: nan\n", + "\n", + "\n", + "For VT_47b626672d6b4618e6251e11807e4552; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_4943dd404e08bb9aefd11a1fc739a548------------------\n", + "--------------VT_49df1762a14fec8e3bcc1552368ce3f7------------------\n", + "--------------VT_4a5fb0a95c68bd6f0bc665c7430c296d------------------\n", + "VT_4a5fb0a95c68bd6f0bc665c7430c296d - version_69: 0.8368446826934814\n", + "\n", + "\n", + "For VT_4a5fb0a95c68bd6f0bc665c7430c296d; statistics are:\n", + "Scores - mean: 0.837s\tstd: 0.000smin: 0.837s\t max: 0.837s\n", + "--------------------------------------------\n", + "--------------VT_4a9c7a537898f0ca054f7fbc47d42bc6------------------\n", + "VT_4a9c7a537898f0ca054f7fbc47d42bc6 - version_69: 0.5\n", + "\n", + "\n", + "For VT_4a9c7a537898f0ca054f7fbc47d42bc6; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_4c3ef78ea641b992b877403335ae2a3a------------------\n", + "--------------VT_4cb7ad6614a3c2b9e0baeef4d614a98c------------------\n", + "VT_4cb7ad6614a3c2b9e0baeef4d614a98c - version_69: 0.5\n", + "\n", + "\n", + "For VT_4cb7ad6614a3c2b9e0baeef4d614a98c; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_5275e294f2fa694448691a4c251daa82------------------\n", + "VT_5275e294f2fa694448691a4c251daa82 - version_69: 0.5\n", + "\n", + "\n", + "For VT_5275e294f2fa694448691a4c251daa82; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_535681d3bbafc4d5dc371d82d054c146------------------\n", + "--------------VT_53bcfd70e60d332995ec83194de4763d------------------\n", + "VT_53bcfd70e60d332995ec83194de4763d - version_1: 0.8556768298149109\n", + "VT_53bcfd70e60d332995ec83194de4763d - version_2: 0.8515230417251587\n", + "VT_53bcfd70e60d332995ec83194de4763d - version_3: 0.8562380075454712\n", + "\n", + "\n", + "For VT_53bcfd70e60d332995ec83194de4763d; statistics are:\n", + "Scores - mean: 0.854s\tstd: 0.002smin: 0.852s\t max: 0.856s\n", + "--------------------------------------------\n", + "--------------VT_58c410c607ebfbd9ee22030be05da540------------------\n", + "VT_58c410c607ebfbd9ee22030be05da540 - version_69: 0.5\n", + "\n", + "\n", + "For VT_58c410c607ebfbd9ee22030be05da540; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_58dce7138334203ef2703c7a1749f893------------------\n", + "VT_58dce7138334203ef2703c7a1749f893 - version_1: 0.5\n", + "\n", + "\n", + "For VT_58dce7138334203ef2703c7a1749f893; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_5b1cb6144b2f79e9e53804b4e0ee4f22------------------\n", + "--------------VT_63b9fee765cdda91756af1f35cd320a3------------------\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_0: 0.8603388071060181\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_1: 0.8519773483276367\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_2: 0.8558205962181091\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_3: 0.8519774675369263\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_4: 0.8546129465103149\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_5: 0.8558711409568787\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_6: 0.8663593530654907\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_7: 0.8537712097167969\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_8: 0.8614517450332642\n", + "VT_63b9fee765cdda91756af1f35cd320a3 - version_9: 0.8647329211235046\n", + "\n", + "\n", + "For VT_63b9fee765cdda91756af1f35cd320a3; statistics are:\n", + "Scores - mean: 0.858s\tstd: 0.005smin: 0.852s\t max: 0.866s\n", + "--------------------------------------------\n", + "--------------VT_67c06cbaf03ac8624a9aa24afe928e98------------------\n", + "VT_67c06cbaf03ac8624a9aa24afe928e98 - version_69: 0.7984834909439087\n", + "\n", + "\n", + "For VT_67c06cbaf03ac8624a9aa24afe928e98; statistics are:\n", + "Scores - mean: 0.798s\tstd: 0.000smin: 0.798s\t max: 0.798s\n", + "--------------------------------------------\n", + "--------------VT_67e6558f4d240f8100b6993970941b0a------------------\n", + "--------------VT_6b4e9061e68a8f697e2a4755471a7ffd------------------\n", + "--------------VT_6eaec2911947abd6ba0a671f3de4f5bf------------------\n", + "VT_6eaec2911947abd6ba0a671f3de4f5bf - version_69: 0.5\n", + "\n", + "\n", + "For VT_6eaec2911947abd6ba0a671f3de4f5bf; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_72807e86b387f4cd327afcb93f945f5e------------------\n", + "VT_72807e86b387f4cd327afcb93f945f5e - version_69: 0.8392706513404846\n", + "\n", + "\n", + "For VT_72807e86b387f4cd327afcb93f945f5e; statistics are:\n", + "Scores - mean: 0.839s\tstd: 0.000smin: 0.839s\t max: 0.839s\n", + "--------------------------------------------\n", + "--------------VT_7899c07a4809a45c57cba58047cefb5e------------------\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_0: 0.8663597106933594\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_1: 0.8652830123901367\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_2: 0.8739997744560242\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_3: 0.854115903377533\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_4: 0.8697185516357422\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_5: 0.8741324543952942\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_6: 0.8711682558059692\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_7: 0.8780345916748047\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_8: 0.8690432906150818\n", + "VT_7899c07a4809a45c57cba58047cefb5e - version_9: 0.8685160875320435\n", + "\n", + "\n", + "For VT_7899c07a4809a45c57cba58047cefb5e; statistics are:\n", + "Scores - mean: 0.869s\tstd: 0.006smin: 0.854s\t max: 0.878s\n", + "--------------------------------------------\n", + "--------------VT_81fb4e76a4cf8574c6f20badb0fbe3b2------------------\n", + "VT_81fb4e76a4cf8574c6f20badb0fbe3b2 - version_69: nan\n", + "\n", + "\n", + "For VT_81fb4e76a4cf8574c6f20badb0fbe3b2; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_8434217cbc9c36788536ce5888fe7037------------------\n", + "VT_8434217cbc9c36788536ce5888fe7037 - version_3: 0.8607174754142761\n", + "\n", + "\n", + "For VT_8434217cbc9c36788536ce5888fe7037; statistics are:\n", + "Scores - mean: 0.861s\tstd: 0.000smin: 0.861s\t max: 0.861s\n", + "--------------------------------------------\n", + "--------------VT_854b9e312d2c3a8aab7de8953b84e9ea------------------\n", + "VT_854b9e312d2c3a8aab7de8953b84e9ea - version_69: nan\n", + "\n", + "\n", + "For VT_854b9e312d2c3a8aab7de8953b84e9ea; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_8a19b1652c8c561da9ffca44db7043f3------------------\n", + "--------------VT_8d4128b953ebf41b1d7072fd214a5b53------------------\n", + "VT_8d4128b953ebf41b1d7072fd214a5b53 - version_0: 0.8607174754142761\n", + "VT_8d4128b953ebf41b1d7072fd214a5b53 - version_1: 0.8607174754142761\n", + "VT_8d4128b953ebf41b1d7072fd214a5b53 - version_2: 0.8607174754142761\n", + "\n", + "\n", + "For VT_8d4128b953ebf41b1d7072fd214a5b53; statistics are:\n", + "Scores - mean: 0.861s\tstd: 0.000smin: 0.861s\t max: 0.861s\n", + "--------------------------------------------\n", + "--------------VT_8d522affb43dec302858d19b9ca807d2------------------\n", + "VT_8d522affb43dec302858d19b9ca807d2 - version_1: 0.5\n", + "\n", + "\n", + "For VT_8d522affb43dec302858d19b9ca807d2; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_8d6fe086678573b737243bcbc9e812fd------------------\n", + "--------------VT_965daab4ee04e9d174e694504572e5f8------------------\n", + "VT_965daab4ee04e9d174e694504572e5f8 - version_69: nan\n", + "\n", + "\n", + "For VT_965daab4ee04e9d174e694504572e5f8; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_99d788004e558bc20a46a5915ec33d9a------------------\n", + "VT_99d788004e558bc20a46a5915ec33d9a - version_1: 0.5\n", + "\n", + "\n", + "For VT_99d788004e558bc20a46a5915ec33d9a; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_9e1a8791100cc7e14b96c397e8bc7113------------------\n", + "--------------VT_9ee8f70a5104ca683c765cfeeb9eba36------------------\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_3: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_4: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_5: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_6: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_7: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_8: 0.8427470922470093\n", + "VT_9ee8f70a5104ca683c765cfeeb9eba36 - version_9: 0.8427470922470093\n", + "\n", + "\n", + "For VT_9ee8f70a5104ca683c765cfeeb9eba36; statistics are:\n", + "Scores - mean: 0.843s\tstd: 0.000smin: 0.843s\t max: 0.843s\n", + "--------------------------------------------\n", + "--------------VT_a26f40b26cb96b4c6cf78b913435dfa9------------------\n", + "VT_a26f40b26cb96b4c6cf78b913435dfa9 - version_69: nan\n", + "\n", + "\n", + "For VT_a26f40b26cb96b4c6cf78b913435dfa9; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_a37714ee4c37cf225ff7c56f1250c27c------------------\n", + "VT_a37714ee4c37cf225ff7c56f1250c27c - version_1: 0.5\n", + "\n", + "\n", + "For VT_a37714ee4c37cf225ff7c56f1250c27c; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_a3e77e5cd59d847a711f3703f9225a64------------------\n", + "VT_a3e77e5cd59d847a711f3703f9225a64 - version_69: nan\n", + "\n", + "\n", + "For VT_a3e77e5cd59d847a711f3703f9225a64; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_a5ef9966e457973286d73568f161f293------------------\n", + "VT_a5ef9966e457973286d73568f161f293 - version_0: 0.8427470922470093\n", + "VT_a5ef9966e457973286d73568f161f293 - version_1: 0.8427470922470093\n", + "VT_a5ef9966e457973286d73568f161f293 - version_2: 0.8427470922470093\n", + "\n", + "\n", + "For VT_a5ef9966e457973286d73568f161f293; statistics are:\n", + "Scores - mean: 0.843s\tstd: 0.000smin: 0.843s\t max: 0.843s\n", + "--------------------------------------------\n", + "--------------VT_a69b0267162831d5989d11b10f3f0795------------------\n", + "--------------VT_aca900a5b9566af61c91aea6525190e6------------------\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_0: 0.8547767400741577\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_1: 0.8453981280326843\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_2: 0.8628634214401245\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_3: 0.8621359467506409\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_4: 0.8380126357078552\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_5: 0.8667657375335693\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_6: 0.8575441241264343\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_7: 0.8474754095077515\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_8: 0.8613359928131104\n", + "VT_aca900a5b9566af61c91aea6525190e6 - version_9: 0.8585749268531799\n", + "\n", + "\n", + "For VT_aca900a5b9566af61c91aea6525190e6; statistics are:\n", + "Scores - mean: 0.855s\tstd: 0.009smin: 0.838s\t max: 0.867s\n", + "--------------------------------------------\n", + "--------------VT_acd670939b4ffff77dc826dc03dbc9d0------------------\n", + "--------------VT_ada2eb434097122a4177871d47c1f818------------------\n", + "VT_ada2eb434097122a4177871d47c1f818 - version_69: 0.5\n", + "\n", + "\n", + "For VT_ada2eb434097122a4177871d47c1f818; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_b06a84d2430e20f39469a1c1d342f0be------------------\n", + "VT_b06a84d2430e20f39469a1c1d342f0be - version_69: 0.5\n", + "\n", + "\n", + "For VT_b06a84d2430e20f39469a1c1d342f0be; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_b22165b70e7fc3b24a5e7734e9fb5531------------------\n", + "VT_b22165b70e7fc3b24a5e7734e9fb5531 - version_69: 0.5\n", + "\n", + "\n", + "For VT_b22165b70e7fc3b24a5e7734e9fb5531; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_b545432f93932d26236992e6d159a3a0------------------\n", + "--------------VT_b63db9082a8274248a76465ecd2f8bf0------------------\n", + "VT_b63db9082a8274248a76465ecd2f8bf0 - version_69: 0.8024263381958008\n", + "\n", + "\n", + "For VT_b63db9082a8274248a76465ecd2f8bf0; statistics are:\n", + "Scores - mean: 0.802s\tstd: 0.000smin: 0.802s\t max: 0.802s\n", + "--------------------------------------------\n", + "--------------VT_b948cf3132a0750de99a555f30478885------------------\n", + "VT_b948cf3132a0750de99a555f30478885 - version_1: 0.8622770309448242\n", + "VT_b948cf3132a0750de99a555f30478885 - version_2: 0.8648049235343933\n", + "VT_b948cf3132a0750de99a555f30478885 - version_3: 0.8514904379844666\n", + "VT_b948cf3132a0750de99a555f30478885 - version_4: nan\n", + "\n", + "\n", + "For VT_b948cf3132a0750de99a555f30478885; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_bb3e61fe791c2013a5a8668cb3d79763------------------\n", + "--------------VT_bb817858c2b2a53f0b85a944d73e6b2f------------------\n", + "VT_bb817858c2b2a53f0b85a944d73e6b2f - version_69: nan\n", + "\n", + "\n", + "For VT_bb817858c2b2a53f0b85a944d73e6b2f; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_c66d2e6b7b7bf8ff8c1fcc0dc22994ae------------------\n", + "--------------VT_cc64c06847a7ca26f5ea4d465f9cc5bc------------------\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_0: 0.8569087982177734\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_1: 0.8442623615264893\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_2: 0.8571171164512634\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_3: 0.8498414754867554\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_4: 0.845399022102356\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_5: 0.8435630798339844\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_6: 0.8572231531143188\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_7: 0.845982551574707\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_8: 0.8455194234848022\n", + "VT_cc64c06847a7ca26f5ea4d465f9cc5bc - version_9: 0.8448543548583984\n", + "\n", + "\n", + "For VT_cc64c06847a7ca26f5ea4d465f9cc5bc; statistics are:\n", + "Scores - mean: 0.849s\tstd: 0.005smin: 0.844s\t max: 0.857s\n", + "--------------------------------------------\n", + "--------------VT_d3512eec26876ed3950d6883044ccbd8------------------\n", + "--------------VT_d4431d4990af1c076fc67b2e7fa15475------------------\n", + "VT_d4431d4990af1c076fc67b2e7fa15475 - version_69: 0.5\n", + "\n", + "\n", + "For VT_d4431d4990af1c076fc67b2e7fa15475; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_d4b93b2170ca4d4b41a304ee582b41df------------------\n", + "--------------VT_d50f8d5f2272084ee61273d028fbd2f9------------------\n", + "VT_d50f8d5f2272084ee61273d028fbd2f9 - version_0: nan\n", + "\n", + "\n", + "For VT_d50f8d5f2272084ee61273d028fbd2f9; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", "--------------VT_d55f1492ff29a3cd1026013948ce7fa7------------------\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_6: 0.8385945558547974\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_1: 0.8324360251426697\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_3: 0.8386826515197754\n", "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_0: 0.8366813063621521\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_8: 0.8460721969604492\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_5: 0.8374781608581543\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_7: 0.8320286273956299\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_1: 0.8324360251426697\n", "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_2: 0.8370164632797241\n", - "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_9: 0.8495808839797974\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_3: 0.8386826515197754\n", "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_4: 0.8332125544548035\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_5: 0.8374781608581543\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_6: 0.8385945558547974\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_7: 0.8320286273956299\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_8: 0.8460721969604492\n", + "VT_d55f1492ff29a3cd1026013948ce7fa7 - version_9: 0.8495808839797974\n", "\n", "\n", "For VT_d55f1492ff29a3cd1026013948ce7fa7; statistics are:\n", "Scores - mean: 0.838s\tstd: 0.005smin: 0.832s\t max: 0.850s\n", "--------------------------------------------\n", - "--------------VT_15cbb349b2b50dbb97beec16af2bedab------------------\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_6: 0.8407894372940063\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_1: 0.836580216884613\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_3: 0.8312996029853821\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_0: 0.8336991667747498\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_8: 0.8231534957885742\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_5: 0.8243923187255859\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_7: 0.8342592120170593\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_2: 0.8349334001541138\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_9: 0.8382810950279236\n", - "VT_15cbb349b2b50dbb97beec16af2bedab - version_4: 0.8381868600845337\n", + "--------------VT_d6c088aa12591278d31c02f0c05763e2------------------\n", + "VT_d6c088aa12591278d31c02f0c05763e2 - version_1: 0.5\n", "\n", "\n", - "For VT_15cbb349b2b50dbb97beec16af2bedab; statistics are:\n", - "Scores - mean: 0.834s\tstd: 0.006smin: 0.823s\t max: 0.841s\n", + "For VT_d6c088aa12591278d31c02f0c05763e2; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_d8637b6c86a31b305c2ea3131834299e------------------\n", + "VT_d8637b6c86a31b305c2ea3131834299e - version_69: 0.5\n", + "\n", + "\n", + "For VT_d8637b6c86a31b305c2ea3131834299e; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_d9e748d535a69eb7592f9fcb697d29f4------------------\n", + "VT_d9e748d535a69eb7592f9fcb697d29f4 - version_69: 0.8140299916267395\n", + "\n", + "\n", + "For VT_d9e748d535a69eb7592f9fcb697d29f4; statistics are:\n", + "Scores - mean: 0.814s\tstd: 0.000smin: 0.814s\t max: 0.814s\n", + "--------------------------------------------\n", + "--------------VT_dc0b4819c1e7642ee819651bfb0a2e63------------------\n", + "--------------VT_ddcd3cf319138ec13f4b0b77b9ab1d92------------------\n", + "VT_ddcd3cf319138ec13f4b0b77b9ab1d92 - version_69: 0.5\n", + "\n", + "\n", + "For VT_ddcd3cf319138ec13f4b0b77b9ab1d92; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_e1ab4fa5a5d0649f411b34d2c45731ae------------------\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_0: 0.8507610559463501\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_1: 0.8411756753921509\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_2: 0.8576055765151978\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_3: 0.8609339594841003\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_4: 0.8473474383354187\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_5: 0.8473350405693054\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_6: 0.8621013760566711\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_7: 0.8595266342163086\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_8: 0.8662147521972656\n", + "VT_e1ab4fa5a5d0649f411b34d2c45731ae - version_9: 0.8629968762397766\n", + "\n", + "\n", + "For VT_e1ab4fa5a5d0649f411b34d2c45731ae; statistics are:\n", + "Scores - mean: 0.856s\tstd: 0.008smin: 0.841s\t max: 0.866s\n", + "--------------------------------------------\n", + "--------------VT_edd2a2ba78735db9d31839071cd1b05e------------------\n", + "VT_edd2a2ba78735db9d31839071cd1b05e - version_69: 0.5\n", + "\n", + "\n", + "For VT_edd2a2ba78735db9d31839071cd1b05e; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_f32f257e1bfe3885c781a17da6ff29bd------------------\n", + "--------------VT_f53f335a7ec043211a1290df42fb723d------------------\n", + "VT_f53f335a7ec043211a1290df42fb723d - version_69: nan\n", + "\n", + "\n", + "For VT_f53f335a7ec043211a1290df42fb723d; statistics are:\n", + "Scores - mean: nans\tstd: nansmin: nans\t max: nans\n", + "--------------------------------------------\n", + "--------------VT_f56c6a9953c5a42b8d11761918762168------------------\n", + "VT_f56c6a9953c5a42b8d11761918762168 - version_1: 0.5\n", + "\n", + "\n", + "For VT_f56c6a9953c5a42b8d11761918762168; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_f9001ab9419a3aa658713ac38cf59ad8------------------\n", + "--------------VT_fae88c1b18c4c4b1708fa9f3bf243230------------------\n", + "VT_fae88c1b18c4c4b1708fa9f3bf243230 - version_69: 0.5\n", + "\n", + "\n", + "For VT_fae88c1b18c4c4b1708fa9f3bf243230; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_fb6b96a190455106d29f0630f002ac6f------------------\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_0: 0.865719735622406\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_1: 0.8261691927909851\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_2: 0.8545827865600586\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_3: 0.8444902896881104\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_4: 0.85297691822052\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_5: 0.8555656671524048\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_6: 0.8635155558586121\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_7: 0.837948739528656\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_8: 0.8533784747123718\n", + "VT_fb6b96a190455106d29f0630f002ac6f - version_9: 0.8541560769081116\n", + "\n", + "\n", + "For VT_fb6b96a190455106d29f0630f002ac6f; statistics are:\n", + "Scores - mean: 0.851s\tstd: 0.011smin: 0.826s\t max: 0.866s\n", + "--------------------------------------------\n", + "--------------VT_fdf2a86085b508c1325b181c830a4cf7------------------\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_0: 0.8728921413421631\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_1: 0.8609604835510254\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_2: 0.8636621832847595\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_3: 0.8558254837989807\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_4: 0.8657329082489014\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_5: 0.8612215518951416\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_6: 0.854997456073761\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_7: 0.8661960959434509\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_8: 0.8631933927536011\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_9: 0.8614727258682251\n", + "\n", + "\n", + "For VT_fdf2a86085b508c1325b181c830a4cf7; statistics are:\n", + "Scores - mean: 0.863s\tstd: 0.005smin: 0.855s\t max: 0.873s\n", + "--------------------------------------------\n", + "--------------VT_ff3a0c864586958f3087f6e207e4fa7f------------------\n", + "VT_ff3a0c864586958f3087f6e207e4fa7f - version_69: 0.5\n", + "\n", + "\n", + "For VT_ff3a0c864586958f3087f6e207e4fa7f; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", + "--------------------------------------------\n", + "--------------VT_ffa54e3ac1508cfd9ac50368c852630d------------------\n", + "VT_ffa54e3ac1508cfd9ac50368c852630d - version_69: 0.5\n", + "\n", + "\n", + "For VT_ffa54e3ac1508cfd9ac50368c852630d; statistics are:\n", + "Scores - mean: 0.500s\tstd: 0.000smin: 0.500s\t max: 0.500s\n", "--------------------------------------------\n" ] } @@ -297,25 +762,27 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 29, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--------------VT_fdf2a86085b508c1325b181c830a4cf7------------------\n", - "--------------VT_fdf2a86085b508c1325b181c830a4cf7------------------\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_6: 0.854997456073761\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_1: 0.8609604835510254\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_3: 0.8558254837989807\n", "VT_fdf2a86085b508c1325b181c830a4cf7 - version_0: 0.8728921413421631\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_8: 0.8631933927536011\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_5: 0.8612215518951416\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_7: 0.8661960959434509\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_1: 0.8609604835510254\n", "VT_fdf2a86085b508c1325b181c830a4cf7 - version_2: 0.8636621832847595\n", - "VT_fdf2a86085b508c1325b181c830a4cf7 - version_9: 0.8614727258682251\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_3: 0.8558254837989807\n", "VT_fdf2a86085b508c1325b181c830a4cf7 - version_4: 0.8657329082489014\n", - "--------------------------------------------\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_5: 0.8612215518951416\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_6: 0.854997456073761\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_7: 0.8661960959434509\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_8: 0.8631933927536011\n", + "VT_fdf2a86085b508c1325b181c830a4cf7 - version_9: 0.8614727258682251\n", + "\n", + "\n", + "For VT_fdf2a86085b508c1325b181c830a4cf7; statistics are:\n", + "Scores - mean: 0.863s\tstd: 0.005smin: 0.855s\t max: 0.873s\n", "--------------------------------------------\n" ] } @@ -338,7 +805,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 30, "outputs": [ { "name": "stdout", diff --git a/notebooks/plot_mels.ipynb b/notebooks/plot_mels.ipynb new file mode 100644 index 0000000..7212a79 --- /dev/null +++ b/notebooks/plot_mels.ipynb @@ -0,0 +1,192 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 97, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import configparser\n", + "from argparse import Namespace\n", + "from pathlib import Path\n", + "import random\n", + "\n", + "import numpy as np\n", + "import seaborn as sns\n", + "from matplotlib import pyplot as plt\n", + "\n", + "import librosa\n", + "from datasets.ccs_librosa_datamodule import CCSLibrosaDatamodule\n", + "from datasets.primates_librosa_datamodule import PrimatesLibrosaDatamodule" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "outputs": [], + "source": [ + "# variables\n", + "data_option = 'devel'" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 99, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " file exists:True\n", + "test skipped...\n", + "train skipped...\n", + "devel-dataset set up!\n", + "Dataset CompareBase setup done.\n" + ] + } + ], + "source": [ + "from ml_lib.utils.tools import auto_cast\n", + "with (Path('..') / '_parameters.ini') as f:\n", + " print(f' file exists:{f.exists()}')\n", + " # Load Defaults from _parameters.ini file\n", + " config = configparser.ConfigParser()\n", + " config.read(str(f))\n", + "\n", + " hparams = dict()\n", + " for key in ['project', 'train', 'data']:\n", + " defaults = config[key]\n", + " hparams.update({key: auto_cast(val) for key, val in defaults.items()})\n", + " hparams.update(data_root='../data', target_mel_length_in_seconds=1,\n", + " random_apply_chance = 0.7,\n", + " loudness_ratio = 0.0,\n", + " shift_ratio = 0.3,\n", + " noise_ratio = 0.0,\n", + " mask_ratio = 0.3,\n", + " )\n", + "hparams = Namespace(**hparams)\n", + "\n", + "dataset = PrimatesLibrosaDatamodule.from_argparse_args(hparams)\n", + "dataset.prepare_data(subsets=[data_option])\n", + "data_set_option = dataset.datasets[data_option]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for idx in range(dataset.n_classes):\n", + " label = -1\n", + "\n", + " while label != idx:\n", + " filepath, mel_tensor, label = data_set_option[random.randint(0, len(data_option))]\n", + "\n", + " fig, ax = plt.subplots()\n", + " # S_dB = librosa.power_to_db(S, ref=np.max)\n", + " img = plt.imshow(mel_tensor.squeeze())\n", + " fig.colorbar(img, ax=ax, format='%+2.0f dB')\n", + " class_names = {val: key for key, val in dataset.class_names.items()}\n", + " ax.set(title=f'Mel-frequency spectrogram for class {class_names[idx]}')\n", + " plt.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": true + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "wave_path = Path('..') / 'data' / 'primates' / 'wav' / 'devel_00011.wav'\n", + "wav_file, sr = librosa.load(wave_path, sr=16000)\n", + "print(f'sr= {sr}')\n", + "mel = librosa.feature.melspectrogram(wav_file, sr=16000, n_mels=128, hop_length=128, n_fft=512)\n", + "fig, ax = plt.subplots()\n", + "S_dB = librosa.power_to_db(mel, ref=np.max)\n", + "img = plt.imshow(S_dB)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": true + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": true + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/reload model.ipynb b/notebooks/reload model.ipynb similarity index 100% rename from reload model.ipynb rename to notebooks/reload model.ipynb diff --git a/optuna_tune.py b/optuna_tune.py index f8f02c0..18e0c99 100644 --- a/optuna_tune.py +++ b/optuna_tune.py @@ -7,50 +7,63 @@ from optuna.integration import PyTorchLightningPruningCallback from main import run_lightning_loop from ml_lib.utils.config import parse_comandline_args_add_defaults -import neptunecontrib.monitoring.optuna as opt_utils - def optimize(trial: optuna.Trial): # Optuna configuration folder = Path('study') folder.mkdir(parents=False, exist_ok=True) + scheduler = trial.suggest_categorical('scheduler', [None, 'LambdaLR']) + if scheduler is not None: + lr_scheduler_parameter = trial.suggest_float('lr_scheduler_parameter', 0.8, 1, step=0.01) + else: + lr_scheduler_parameter = None + optuna_suggestions = dict( - model_name='VisualTransformer', - batch_size=trial.suggest_int('batch_size', 30, 100, step=32), - lr_scheduler_parameter=trial.suggest_float('lr_scheduler_parameter', 0.8, 1, step=0.01), - max_epochs=100, - random_apply_chance=0.1, # trial.suggest_float('random_apply_chance', 0.1, 0.5, step=0.1), - loudness_ratio=0.1, # trial.suggest_float('loudness_ratio', 0.0, 0.5, step=0.1), - shift_ratio=0.1, # trial.suggest_float('shift_ratio', 0.0, 0.5, step=0.1), - noise_ratio=0, # trial.suggest_float('noise_ratio', 0.0, 0.5, step=0.1), - mask_ratio=0.2, # trial.suggest_float('mask_ratio', 0.0, 0.5, step=0.1), - lr=trial.suggest_uniform('lr', 1e-3, 3e-3), - dropout=0.05, # trial.suggest_float('dropout', 0.0, 0.3, step=0.05), - lat_dim=32, # 2 ** trial.suggest_int('lat_dim', 1, 5, step=1), - mlp_dim=16, # 2 ** trial.suggest_int('mlp_dim', 1, 5, step=1), - head_dim=8, # 2 ** trial.suggest_int('head_dim', 1, 5, step=1), - patch_size=12, # trial.suggest_int('patch_size', 6, 12, step=3), - attn_depth=10, # trial.suggest_int('attn_depth', 2, 14, step=4), - heads=16, # trial.suggest_int('heads', 2, 16, step=2), - scheduler='LambdaLR', # trial.suggest_categorical('scheduler', [None, 'LambdaLR']), - embedding_size=48, # trial.suggest_int('embedding_size', 12, 64, step=12), + model_name='CNNBaseline', + data_name='MaskLibrosaDatamodule', + batch_size=trial.suggest_int('batch_size', 5, 50, step=5), + max_epochs=75, + target_mel_length_in_seconds=trial.suggest_float('target_mel_length_in_seconds', 0.2, 1.5, step=0.1), + random_apply_chance=trial.suggest_float('random_apply_chance', 0.1, 0.5, step=0.1), + loudness_ratio=trial.suggest_float('loudness_ratio', 0.0, 0.5, step=0.1), + shift_ratio=trial.suggest_float('shift_ratio', 0.0, 0.5, step=0.1), + noise_ratio=trial.suggest_float('noise_ratio', 0.0, 0.5, step=0.1), + mask_ratio=trial.suggest_float('mask_ratio', 0.0, 0.5, step=0.1), + lr=trial.suggest_loguniform('lr', 1e-5, 1e-3), + dropout=trial.suggest_float('dropout', 0.0, 0.3, step=0.05), + lat_dim=2 ** trial.suggest_int('lat_dim', 1, 5, step=1), + scheduler=scheduler, + lr_scheduler_parameter=lr_scheduler_parameter, loss='ce_loss', - sampler='WeightedRandomSampler', # rial.suggest_categorical('sampler', [None, 'WeightedRandomSampler']), - weight_decay=trial.suggest_loguniform('weight_decay', 1e-20, 1e-1), + sampler=trial.suggest_categorical('sampler', [None, 'WeightedRandomSampler']), study_name=trial.study.study_name ) + if optuna_suggestions['model_name'] == 'CNNBaseline': + model_depth = trial.suggest_int('model_depth', 1, 6, step=1) + filters = list() + for layer_idx in range(model_depth): + filters.append(2 ** trial.suggest_int(f'filters_{layer_idx}', 2, 6, step=1)) + optuna_suggestions.update(filters=filters) + elif optuna_suggestions['model_name'] == 'VisualTransformer': + transformer_dict = dict( + mlp_dim=2 ** trial.suggest_int('mlp_dim', 1, 5, step=1), + head_dim=2 ** trial.suggest_int('head_dim', 1, 5, step=1), + patch_size=trial.suggest_int('patch_size', 6, 12, step=3), + attn_depth=trial.suggest_int('attn_depth', 2, 14, step=4), + heads=trial.suggest_int('heads', 2, 16, step=2), + embedding_size=trial.suggest_int('embedding_size', 12, 64, step=12) + ) + optuna_suggestions.update(**transformer_dict) pruning_callback = PyTorchLightningPruningCallback(trial, monitor="PL_recall_score") # Parse comandline args, read config and get model - cmd_args, found_data_class, found_model_class = parse_comandline_args_add_defaults('_parameters.ini') - - h_params = dict(**cmd_args) - h_params.update(optuna_suggestions) + h_params, found_data_class, found_model_class, seed = parse_comandline_args_add_defaults( + '_parameters.ini', overrides=optuna_suggestions) h_params = Namespace(**h_params) try: best_score = run_lightning_loop(h_params, data_class=found_data_class, model_class=found_model_class, - additional_callbacks=pruning_callback) + additional_callbacks=pruning_callback, seed=seed) except Exception as e: print(e) best_score = 0 @@ -60,7 +73,7 @@ def optimize(trial: optuna.Trial): if __name__ == '__main__': study = optuna.create_study(direction='maximize', sampler=optuna.samplers.TPESampler(seed=1337)) # study.optimize(optimize, n_trials=50, callbacks=[opt_utils.NeptuneCallback(log_study=True, log_charts=True)]) - study.optimize(optimize, n_trials=50) + study.optimize(optimize, n_trials=100) print("Number of finished trials: {}".format(len(study.trials))) diff --git a/rebuild_dataset.py b/rebuild_dataset.py index f7640f7..c0dc597 100644 --- a/rebuild_dataset.py +++ b/rebuild_dataset.py @@ -2,6 +2,9 @@ from argparse import Namespace import warnings +from datasets.ccs_librosa_datamodule import CCSLibrosaDatamodule +from datasets.primates_librosa_datamodule import PrimatesLibrosaDatamodule +from datasets.mask_librosa_datamodule import MaskLibrosaDatamodule from ml_lib.utils.config import parse_comandline_args_add_defaults warnings.filterwarnings('ignore', category=FutureWarning) @@ -15,20 +18,20 @@ def rebuild_dataset(h_params, data_class): # Let Datamodule pull what it wants datamodule = data_class.from_argparse_args(h_params) assert datamodule.purge() - datasets = datamodule.prepare_data() - datasets = datamodule.setup() + datasets = datamodule.manual_setup() print(f'Dataset length is: {len(datasets)}') if __name__ == '__main__': - # Parse comandline args, read config and get model - cmd_args, found_data_class, _, _ = parse_comandline_args_add_defaults('_parameters.ini') + for dataset in [MaskLibrosaDatamodule]: # [PrimatesLibrosaDatamodule, CCSLibrosaDatamodule]: + # Parse comandline args, read config and get model + cmd_args, _, _, _ = parse_comandline_args_add_defaults('_parameters.ini') - # To NameSpace - hparams = Namespace(**cmd_args) + # To NameSpace + hparams = Namespace(**cmd_args) - # Start - # ----------------- - rebuild_dataset(hparams, found_data_class) - print('done') - pass + # Start + # ----------------- + rebuild_dataset(hparams, dataset) + print('done') + pass diff --git a/util/module_mixins.py b/util/module_mixins.py index 989ab5b..ba04994 100644 --- a/util/module_mixins.py +++ b/util/module_mixins.py @@ -56,18 +56,17 @@ class ValMixin: for file_name in sorted_y: sorted_y.update({file_name: torch.stack(sorted_y[file_name])}) - y_max = torch.stack( - [torch.argmax(x.mean(dim=0)) if x.shape[0] > 1 else torch.argmax(x) for x in sorted_y.values()] - ).squeeze() - y_one_hot = torch.nn.functional.one_hot(y_max, num_classes=self.params.n_classes).float() + target_y = torch.stack(tuple(sorted_batch_y.values())).long() if self.params.n_classes <= 2: - if y_one_hot.ndim == 1: - y_one_hot = y_one_hot.unsqueeze(0) - if target_y.ndim == 1: - target_y = target_y.unsqueeze(-1) - - self.metrics.update(y_one_hot, target_y) + mean_sorted_y = torch.stack([x.mean(dim=0) if x.shape[0] > 1 else x for x in sorted_y.values()]) + self.metrics.update(mean_sorted_y, target_y) + else: + y_max = torch.stack( + [torch.argmax(x.mean(dim=0)) if x.shape[0] > 1 else torch.argmax(x) for x in sorted_y.values()] + ).squeeze() + y_one_hot = torch.nn.functional.one_hot(y_max, num_classes=self.params.n_classes).float() + self.metrics.update(y_one_hot, target_y) if self.params.n_classes <= 2: val_loss = self.bce_loss(y.squeeze().float(), batch_y.float()) else: @@ -109,14 +108,15 @@ class ValMixin: #mean_vote_loss = self.ce_loss(y_mean, sorted_batch_y) #summary_dict.update(val_mean_vote_loss=mean_vote_loss) - y_max = torch.stack( - [torch.argmax(x.mean(dim=0)) if x.shape[0] > 1 else torch.argmax(x) for x in sorted_y.values()] - ).squeeze() - y_one_hot = torch.nn.functional.one_hot(y_max, num_classes=self.params.n_classes).float() - if self.params.n_classes >= 2: - max_vote_loss = self.ce_loss(y_one_hot, sorted_batch_y) + if self.params.n_classes <= 2: + mean_sorted_y = torch.stack([x.mean(dim=0) if x.shape[0] > 1 else x for x in sorted_y.values()]) + max_vote_loss = self.bce_loss(mean_sorted_y.float(), sorted_batch_y.float()) else: - max_vote_loss = self.bce_loss(y_one_hot, sorted_batch_y) + y_max = torch.stack( + [torch.argmax(x.mean(dim=0)) if x.shape[0] > 1 else torch.argmax(x) for x in sorted_y.values()] + ).squeeze() + y_one_hot = torch.nn.functional.one_hot(y_max, num_classes=self.params.n_classes).float() + max_vote_loss = self.ce_loss(y_one_hot, sorted_batch_y) summary_dict.update(val_max_vote_loss=max_vote_loss) summary_dict.update({f'mean_{key}': torch.mean(torch.stack([output[key] @@ -124,7 +124,10 @@ class ValMixin: for key in keys if 'loss' in key} ) # Sklearn Scores - additional_scores = self.additional_scores(dict(y=y_one_hot, batch_y=sorted_batch_y)) + if self.params.n_classes <= 2: + additional_scores = self.additional_scores(dict(y=y_max, batch_y=sorted_batch_y)) + else: + additional_scores = self.additional_scores(dict(y=y_one_hot, batch_y=sorted_batch_y)) summary_dict.update(**additional_scores) pl_metrics, pl_images = self.metrics.compute_and_prepare() @@ -132,7 +135,9 @@ class ValMixin: summary_dict.update(**pl_metrics) summary_dict.update(epoch=self.current_epoch) - self.log_dict(summary_dict, on_epoch=True) + self.log_dict(summary_dict) + # For Debugging: + # print(f'Summary Metrics are: {summary_dict}') for name, image in pl_images.items(): self.logger.log_image(name, image, step=self.global_step)