diff --git a/WavPool/__init__.py b/WavPool/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/WavPool/data_generators/__init__.py b/WavPool/data_generators/__init__.py new file mode 100644 index 0000000..d56707c --- /dev/null +++ b/WavPool/data_generators/__init__.py @@ -0,0 +1,3 @@ +from WavPool.data_generators.cifar_generator import CIFARGenerator +from WavPool.data_generators.mnist_generator import MNISTGenerator +from WavPool.data_generators.fashion_mnist_generator import FashionMNISTGenerator diff --git a/WavPool/data_generators/cifar_generator.py b/WavPool/data_generators/cifar_generator.py new file mode 100644 index 0000000..19c993b --- /dev/null +++ b/WavPool/data_generators/cifar_generator.py @@ -0,0 +1,18 @@ +from WavPool.data_generators.data_generator import DataGenerator +from torchvision import transforms +from torchvision.datasets import CIFAR10 + + +class CIFARGenerator(DataGenerator): + def __init__(self): + grayscale_transforms = transforms.Compose( + [transforms.Grayscale(num_output_channels=1), transforms.ToTensor()] + ) + + dataset = CIFAR10( + root="wavNN/data/cifar10", + download=True, + train=True, + transform=grayscale_transforms, + ) + super().__init__(dataset=dataset) diff --git a/WavPool/data_generators/data_generator.py b/WavPool/data_generators/data_generator.py new file mode 100644 index 0000000..b5c2a7b --- /dev/null +++ b/WavPool/data_generators/data_generator.py @@ -0,0 +1,59 @@ +from torch.utils.data import DataLoader, Subset +import numpy as np + + +class DataGenerator: + def __init__(self, dataset): + self.dataset = dataset + + def __call__(self, *args, **kwargs): + sample_size = kwargs["sample_size"] + split = False if not "split" in kwargs else kwargs["split"] + if type(sample_size) == list: + split = True + + batch_size = 64 if "batch_size" not in kwargs else kwargs["batch_size"] + shuffle = False if "shuffle" not in kwargs else kwargs["shuffle"] + + if split: + if type(sample_size) == int: + sample_size = [sample_size for _ in range(3)] + + assert sum(sample_size) <= len(self.dataset), ( + f"" + f"Too many requested samples, " + f"decreases your sample size to less " + f"than {len(self.dataset)}" + ) + + assert len(sample_size) == 3, ( + "The sample size of validation " + "and test must be individually specified" + ) + + # this is quick and dirty. Ideally I'd be shuffling when i load in. + # But I'm chronically lazy and this is what I'm doing + # I can change it later. + + samples = np.cumsum(sample_size) + training_data = Subset(self.dataset, list(range(0, samples[0]))) + val_data = Subset(self.dataset, list(range(samples[0], samples[1]))) + test_data = Subset(self.dataset, list(range(samples[1], samples[2]))) + + training = DataLoader(training_data, batch_size=batch_size, shuffle=shuffle) + validation = DataLoader(val_data, batch_size=batch_size, shuffle=shuffle) + test = DataLoader(test_data, batch_size=batch_size, shuffle=shuffle) + + else: + assert sample_size <= len(self.dataset), ( + f"Too many requested samples, decreases your" + f" sample size to less than {len(self.dataset)}" + ) + + training_data = Subset(self.dataset, list(range(0, sample_size))) + + training = DataLoader(training_data, batch_size=batch_size, shuffle=shuffle) + validation = None + test = None + + return {"training": training, "validation": validation, "test": test} diff --git a/WavPool/data_generators/fashion_mnist_generator.py b/WavPool/data_generators/fashion_mnist_generator.py new file mode 100644 index 0000000..e2543e1 --- /dev/null +++ b/WavPool/data_generators/fashion_mnist_generator.py @@ -0,0 +1,14 @@ +from WavPool.data_generators.data_generator import DataGenerator +from torchvision.transforms import ToTensor +from torchvision.datasets import FashionMNIST + + +class FashionMNISTGenerator(DataGenerator): + def __init__(self): + dataset = FashionMNIST( + root="wavNN/data/fashionmnist", + download=True, + train=True, + transform=ToTensor(), + ) + super().__init__(dataset=dataset) diff --git a/WavPool/data_generators/mnist_generator.py b/WavPool/data_generators/mnist_generator.py new file mode 100644 index 0000000..54b4929 --- /dev/null +++ b/WavPool/data_generators/mnist_generator.py @@ -0,0 +1,11 @@ +from WavPool.data_generators.data_generator import DataGenerator +from torchvision.transforms import ToTensor +from torchvision.datasets import MNIST + + +class MNISTGenerator(DataGenerator): + def __init__(self): + dataset = MNIST( + root="wavNN/data/mnist", download=True, train=True, transform=ToTensor() + ) + super().__init__(dataset=dataset) diff --git a/WavPool/models/__init__.py b/WavPool/models/__init__.py new file mode 100644 index 0000000..ee39183 --- /dev/null +++ b/WavPool/models/__init__.py @@ -0,0 +1,4 @@ +from WavPool.models.wavMLP import WavMLP +from WavPool.models.wavpool import WavPool +from WavPool.models.vanillaMLP import VanillaMLP +from WavPool.models.vanillaCNN import VanillaCNN diff --git a/WavPool/models/vanillaCNN.py b/WavPool/models/vanillaCNN.py new file mode 100644 index 0000000..f7b2fb9 --- /dev/null +++ b/WavPool/models/vanillaCNN.py @@ -0,0 +1,52 @@ +import torch.nn as nn +import math + + +class VanillaCNN(nn.Module): + def __init__( + self, + in_channels: int, + kernel_size: int, + out_channels: int, + hidden_channels_1: int = 1, + hidden_channels_2: int = 1, + ) -> None: + super().__init__() + + self.conv1 = nn.Conv2d( + in_channels=1, + out_channels=int(hidden_channels_1), + kernel_size=int(kernel_size), + padding=1, + stride=1, + bias=False, + ) + self.batch_norm_hidden = nn.BatchNorm2d(int(hidden_channels_1)) + conv1_out = math.ceil(in_channels + 2 - int(kernel_size) + 1) + + self.conv2 = nn.Conv2d( + in_channels=int(hidden_channels_1), + out_channels=int(hidden_channels_2), + kernel_size=int(kernel_size), + padding=1, + stride=1, + bias=False, + ) + self.batch_norm_out = nn.BatchNorm2d(int(hidden_channels_2)) + conv2_out = math.ceil(conv1_out + 2 - int(kernel_size) + 1) + + self.dense_out = nn.Linear( + in_features=(conv2_out**2) * int(hidden_channels_2), + out_features=out_channels, + ) + + def forward(self, x): + x = self.conv1(x) + x = self.batch_norm_hidden(x) + x = nn.ReLU()(x) + x = self.conv2(x) + x = self.batch_norm_out(x) + x = nn.ReLU()(x) + x = nn.Flatten()(x) + x = self.dense_out(x) + return x diff --git a/WavPool/models/vanillaMLP.py b/WavPool/models/vanillaMLP.py new file mode 100644 index 0000000..23570c9 --- /dev/null +++ b/WavPool/models/vanillaMLP.py @@ -0,0 +1,63 @@ +import torch +import torch.nn as nn + + +class VanillaMLP(nn.Module): + def __init__( + self, in_channels: int, hidden_size: int, out_channels: int, tail: bool = False + ): + super().__init__() + + self.flatten_input = nn.Flatten() + self.hidden_layer = nn.Linear(int(in_channels) ** 2, int(hidden_size)) + self.output_layer = nn.Linear(int(hidden_size), out_channels) + + if tail: + self.tail = nn.Softmax(dim=0) + + def forward(self, x): + x = self.flatten_input(x) + x = self.hidden_layer(x) + x = self.output_layer(x) + + if hasattr(self, "tail"): + x = self.tail(x) + + return x + + +class BananaSplitMLP(nn.Module): + def __init__(self, in_channels, hidden_size, out_channels, tail=False): + super().__init__() + + self.flatten_input = nn.Flatten() + + self.hidden_layer_1 = nn.Linear(in_channels**2, hidden_size) + self.hidden_layer_2 = nn.Linear(in_channels**2, hidden_size) + self.hidden_layer_3 = nn.Linear(in_channels**2, hidden_size) + + self.flatten = nn.Flatten(start_dim=1, end_dim=-1) + + # Output of those tied 3 channel layers, and the flattened concat of those + self.output = nn.Linear(hidden_size * 3, out_channels) + + if tail: + self.tail = nn.Softmax(dim=0) + + def forward(self, x): + x = self.flatten_input(x) + + channel_1 = self.hidden_layer_1(x) + channel_2 = self.hidden_layer_2(x) + channel_3 = self.hidden_layer_3(x) + + concat = torch.stack([channel_1, channel_2, channel_3], dim=1) + # Flatten for the output dense + + x = self.flatten(concat) + x = self.output(x) + + if hasattr(self, "tail"): + x = self.tail(x) + + return x diff --git a/WavPool/models/wavMLP.py b/WavPool/models/wavMLP.py new file mode 100644 index 0000000..f6d32c6 --- /dev/null +++ b/WavPool/models/wavMLP.py @@ -0,0 +1,54 @@ +import torch +import torch.nn as nn + +from WavPool.utils.levels import Levels +from WavPool.models.wavelet_layer import MicroWav + + +class WavMLP(nn.Module): + def __init__( + self, + in_channels: int, + hidden_size: int, + out_channels: int, + level: int, + tail=False, + ): + """ + Simplest version is an MLP that takes a single layer of the wavelet + And stacks the input channel-wise + + in_channels: Input size, int; should be the x, y of the input image + out_channels: Out size of the mlp layer + level: Level of the wavelet used in the MLP + tail: Bool, If to add an activation at the end of the network to get a class output + """ + super().__init__() + assert level != 0, "Level 0 wavelet not supported" + + # Wavelet transform of input x at a level as defined by the user + self.wav = MicroWav( + level=int(level), in_channels=in_channels, hidden_size=int(hidden_size) + ) + # Flatten for when these are stacked + self.flatten = nn.Flatten(start_dim=1, end_dim=-1) + + # Output of those tied 3 channel layers, and the flattened concat of those + self.output = nn.Linear(int(hidden_size) * 3, out_channels) + + # Activation for a classifier + if tail: + self.tail = nn.Softmax(dim=0) + + def forward(self, x): + # forward pass through the network + + x = self.wav(x) + # Flatten for the output dense + x = self.flatten(x) + x = self.output(x) + + if hasattr(self, "tail"): + x = self.tail(x) + + return x diff --git a/WavPool/models/wavelet_layer.py b/WavPool/models/wavelet_layer.py new file mode 100644 index 0000000..b29db47 --- /dev/null +++ b/WavPool/models/wavelet_layer.py @@ -0,0 +1,55 @@ +from typing import Union +import numpy as np +import torch +import pywt +from kymatio.torch import Scattering2D +from WavPool.utils.levels import Levels + + +class WaveletLayer: + def __init__( + self, level: int, input_size: Union[int, None] = None, backend: str = "pywt" + ) -> None: + + layers = { + "pywt": lambda x: torch.Tensor(np.array(pywt.wavedec2(x, "db1")[level])), + "kymatio": lambda x: self.kymatio_layer(level=level, input_size=input_size)( + x + )[level], + } + + assert backend in layers.keys() + self.layer = layers[backend] + + def kymatio_layer(self, level, input_size): + # Ref: This code + # https://www.kymat.io/gallery_2d/plot_invert_scattering_torch.html#sphx-glr-gallery-2d-plot-invert-scattering-torch-py + + scattering = Scattering2D(J=2, shape=(input_size, input_size), max_order=level) + return scattering + + def __call__(self, x): + return self.layer(x) + + +class MicroWav(torch.nn.Module): + def __init__(self, level: int, in_channels: int, hidden_size: int) -> None: + super().__init__() + self.wavelet = WaveletLayer(level=level) + wav_in_channels = Levels.find_output_size(level, in_channels) + hidden_size = int(hidden_size) + self.flatten_wavelet = torch.nn.Flatten(start_dim=1, end_dim=-1) + # Channels for each of the 3 channels of the wavelet (Not including the downscaled original + self.channel_1_mlp = torch.nn.Linear(wav_in_channels**2, hidden_size) + self.channel_2_mlp = torch.nn.Linear(wav_in_channels**2, hidden_size) + self.channel_3_mlp = torch.nn.Linear(wav_in_channels**2, hidden_size) + + def forward(self, x): + x = self.wavelet(x) + # An MLP for each of the transformed levels + channel_1 = self.channel_1_mlp(self.flatten_wavelet(x[0])) + channel_2 = self.channel_2_mlp(self.flatten_wavelet(x[1])) + channel_3 = self.channel_3_mlp(self.flatten_wavelet(x[2])) + # stack the outputs + concat = torch.stack([channel_1, channel_2, channel_3], dim=-1) + return concat diff --git a/WavPool/models/wavpool.py b/WavPool/models/wavpool.py new file mode 100644 index 0000000..969cd60 --- /dev/null +++ b/WavPool/models/wavpool.py @@ -0,0 +1,88 @@ +""" +Modifcaiton of the voting mlp that instead of using a normal voting algorithm +Pools the results after reshaping the results from each hidden layer + +> need to make a good diagram for this. +""" + +import torch +import math +import numpy as np + +from WavPool.utils.levels import Levels +from WavPool.models.wavelet_layer import MicroWav + + +class WavPool(torch.nn.Module): + def __init__( + self, + in_channels: int, + hidden_size: int, + out_channels: int, + pooling_size: int = None, # type: ignore + pooling_mode: str = "average", + hidden_pooling: int = None, # type: ignore + level_pooling: int = None, # type: ignore + hidden_layer_scaling: bool = False, + ) -> None: + super().__init__() + + possible_levels = Levels.calc_possible_levels(in_channels) + possible_levels = [level for level in possible_levels if level != 0] + + self.n_levels = len(possible_levels) + + hidden_sizes = ( + hidden_size + if type(hidden_size) == list + else { + True: [int(hidden_size / (i + 1)) for i in range(self.n_levels)], + False: [int(hidden_size) for _ in range(self.n_levels)], + }[hidden_layer_scaling] + ) + if hidden_layer_scaling: + hidden_sizes.reverse() + + self.max_hidden = max(hidden_sizes) + self.models = torch.nn.ModuleList() + for level, hidden_size in zip(possible_levels, hidden_sizes): + self.models.append( + MicroWav( + level=int(level), + in_channels=in_channels, + hidden_size=int(hidden_size), + ) + ) + + if hidden_pooling is not None: + assert level_pooling is not None + pooling_kernel = (int(hidden_pooling), 1, int(level_pooling)) + else: + pooling = int(pooling_size) + pooling_kernel = (pooling, pooling, pooling) + + self.pool = torch.nn.ModuleDict( + { + "average": torch.nn.AvgPool3d(kernel_size=pooling_kernel), + "max": torch.nn.MaxPool3d(kernel_size=pooling_kernel), + } + )[pooling_mode] + + pool_out_shape = int( + math.prod(self.pool(torch.rand(1, self.max_hidden, 3, self.n_levels)).shape) + ) + + self.output = torch.nn.Linear(pool_out_shape, out_features=out_channels) + + def forward(self, x): + level_outputs = [model.forward(x) for model in self.models] + x = [ + torch.nn.functional.pad( + x, pad=(0, 0, self.max_hidden - x.shape[1], 0), mode="constant", value=0 + ) + for x in level_outputs + ] + x = torch.stack(x, dim=-1) + x = self.pool(x) + x = torch.flatten(x, start_dim=1, end_dim=-1) + return self.output(x) diff --git a/WavPool/training/finetune_network.py b/WavPool/training/finetune_network.py new file mode 100644 index 0000000..90dec1c --- /dev/null +++ b/WavPool/training/finetune_network.py @@ -0,0 +1,209 @@ +""" +Generate parameters for a network using a guassian processor optimizer +(Using https://github.com/fmfn/BayesianOptimization) +Lightweight wrapper on the train_model + +""" +import json +from typing import Union +from bayes_opt import BayesianOptimization +import os +import numpy as np +import math +import pandas as pd + +from WavPool.training.train_model import TrainingLoop +import WavPool + + +class Optimize: + def __init__( + self, + model, + parameter_space, + parameter_selection_function, + data_class, + data_params, + monitor_metric="val_accuracy", + epochs=80, + n_optimizizer_iters=40, + save=False, + save_path="", + ): + self.model = model + self.parameter_space = parameter_space + self.parameter_selection = parameter_selection_function + self.monitor_metric = monitor_metric + self.data_class = data_class + self.data_params = data_params + self.epochs = epochs + self.opt_iters = n_optimizizer_iters + self.save = save + + if self.save: + if not os.path.exists(save_path): + os.makedirs(save_path) + self.save_path = save_path + + def training_loop(self, **model_parameters): + + ( + model_params, + optimizer, + optimizer_params, + loss_function, + ) = self.parameter_selection(**model_parameters) + + training = TrainingLoop( + model_class=self.model, + model_params=model_params, + data_class=self.data_class, + data_params=self.data_params, + loss=loss_function, + epochs=self.epochs, + optimizer_class=optimizer, + optimizer_config=optimizer_params, + ) + + training() + history = training.history + quality = np.max(np.asarray(history[self.monitor_metric])) + return quality + + def run_optimization(self): + optimizer = BayesianOptimization( + f=self.training_loop, + pbounds=self.parameter_space, + verbose=1, + random_state=1, + ) + + optimizer.maximize(init_points=5, n_iter=self.opt_iters) + + history = optimizer.res + return history + + def __call__(self): + optimizer_results = self.run_optimization() + if self.save: + with open(self.save_path, "w") as f: + json.dump(optimizer_results, fp=f, default=str) + results = pd.DataFrame(optimizer_results) + return results.iloc[results["target"].idxmax()]["params"] # type: ignore + + +# TODO Cleo to build params from scratch +class OptimizeFromConfig(Optimize): + def __init__(self, config: Union[dict, str]): + + if type(config) == str: + assert os.path.exists(config) + with open(config, "rb") as f: + config = json.load(f) + + self.config = config + optimizer_kwargs = self.read_config(config) + + super().__init__(**optimizer_kwargs) + + def add_config_params(self, config_file): + default_config = { + "data_config": {}, + "monitor": "val_accuracy", + "epochs": 20, + "n_optimizer_iters": 40, + "save": False, + "save_path": "", + "parameters_space": {}, + "parameter_function": {}, + } + for field in default_config: + if field not in config_file.keys(): + config_file[field] = default_config[field] + + def read_config(self, config_file): + + model = config_file["model"] + data_class = config_file["data_class"] + data_params = config_file["data_config"] + monitor_metric = config_file["monitor"] + epochs = int(config_file["epochs"]) + n_optimizer_iters = int(config_file["n_optimizer_iters"]) + save = bool(config_file["save"]) + save_path = config_file["save_path"] + + parameter_space = self.build_parameter_space(config_file) + parameter_function = self.build_selection_function(config_file) + + optimizer_config = { + "model": model, + "parameter_space": parameter_space, + "parameter_selection_function": parameter_function, + "data_class": data_class, + "data_params": data_params, + "monitor_metric": monitor_metric, + "epochs": epochs, + "n_optimizizer_iters": n_optimizer_iters, + "save": save, + "save_path": save_path, + } + + return optimizer_config + + def build_parameter_space(self, config_file): + parameter_space = {} + + for cateogry in ["model_config", "optimizer"]: + for field in config_file[cateogry]: + optimizer_param = config_file[cateogry][field] + continious = type(optimizer_param) == tuple + if type(optimizer_param) == int: + optimizer_param = [optimizer_param] + + parameter_space[f"{cateogry}_{field}"] = ( + optimizer_param if continious else (0, len(optimizer_param) - 1) + ) + + parameter_space["loss_id"] = (0, len(config_file["loss"]) - 1) + + return parameter_space + + def build_selection_function(self, config_file): + def selection_function(**param_dict): + model_params = {} + optimizer_params = {} + + for category, parameters in zip( + ["model_config", "optimizer"], [model_params, optimizer_params] + ): + for parameter in config_file[category]: + continious = type(config_file[category][parameter]) == tuple + + if type(config_file[category][parameter]) == int: + config_file[category][parameter] = [ + config_file[category][parameter] + ] + + parameter_name = f"{category}_{parameter}" + parameters[parameter] = ( + param_dict[parameter_name] + if continious + else config_file[category][parameter][ + math.floor(param_dict[parameter_name]) + ] + ) + + optimizer_id = math.floor(param_dict["optimizer_id"]) + optimizer = config_file["optimizer"]["id"][optimizer_id] + optimizer_params.pop("id") + loss_id = math.floor(param_dict["loss_id"]) + loss_function = config_file["loss"][loss_id] + + # for param in config_file["training_configs"]: + # model_params[param] = config_file[ + # "training_configs" + # ] # Untouched params + + return model_params, optimizer, optimizer_params, loss_function + + return selection_function diff --git a/WavPool/training/plot_results.py b/WavPool/training/plot_results.py new file mode 100644 index 0000000..fdd83b4 --- /dev/null +++ b/WavPool/training/plot_results.py @@ -0,0 +1,199 @@ +import matplotlib.pyplot as plt +import pandas as pd +import numpy as np + +from WavPool.training.training_metrics import TrainingMetrics + + +def plot_test_results(predictions, labels, save_path=None): + roc_curve = TrainingMetrics.auc_curve(predictions, labels) + confusion = TrainingMetrics.confusion_matrix(predictions, labels) + + plt.plot(roc_curve[0], roc_curve[1]) + plt.xlabel("FPR") + plt.ylabel("TPR") + plt.title("ROC AUC Curve") + plt.show() + if save_path is not None: + plt.savefig(f"{save_path}/roc.png") + plt.close("all") + + plt.imshow(confusion) + plt.xlabel("Predicted") + plt.ylabel("True") + plt.title("Confusion Matrix") + if save_path is not None: + plt.savefig(f"{save_path}/confusion.png") + else: + plt.show() + plt.close("all") + + +def plot_history(history, extra_metric_names, save_path=None): + history = pd.DataFrame(history) + epochs = range(len(history)) + n_subplots = len(extra_metric_names) + 1 + fig, subplots = plt.subplots(nrows=n_subplots, ncols=1) + + for metric_index, metrics in enumerate(extra_metric_names): + training = history[f"train_{metrics.__name__}"] + val = history[f"val_{metrics.__name__}"] + + subplots[metric_index].plot(epochs, training, label="Train") + subplots[metric_index].plot(epochs, val, label="Validation") + subplots[metric_index].set_xticks([]) + subplots[metric_index].set_ylabel(metrics.__name__) + subplots[metric_index].legend() + + metric_index = -1 + subplots[metric_index].plot(epochs, history["train_loss"], label="Train") + subplots[metric_index].plot(epochs, history["val_loss"], label="Validation") + subplots[metric_index].set_xticks(epochs) + subplots[metric_index].set_ylabel("Loss") + subplots[metric_index].legend() + + plt.xlabel("epoch") + + if save_path is not None: + fig.savefig(f"{save_path}/history.png") + else: + plt.show() + plt.close("all") + + +def plot_history_errorbar( + subplots: list, + histories: list, + extra_metrics: list, + labels: list, + colorway: list, + save_path=None, + title="", + show=False, + clear=False, +): + for label, color in zip(labels, colorway): + + for metric_index, metrics in enumerate(extra_metrics): + + training = [history[f"train_{metrics.__name__}"] for history in histories] + val = [history[f"val_{metrics.__name__}"] for history in histories] + + mean_training = pd.DataFrame(training).mean(axis=0) + std_training = pd.DataFrame(training).std(axis=0) + + epochs = range(len(mean_training)) + + mean_val = pd.DataFrame(val).mean(axis=0) + + subplots[metric_index].grid( + color="grey", linestyle="--", linewidth=0.5, alpha=0.6 + ) + + subplots[metric_index].plot(epochs, mean_training, label=label, color=color) + subplots[metric_index].fill_between( + epochs, + mean_training - std_training, + mean_training + std_training, + alpha=0.3, + color=color, + ) + subplots[metric_index].plot( + epochs, mean_val, linestyle="dotted", color=color + ) + subplots[metric_index].set_ylabel(metrics.__name__) + + training = [history[f"train_loss"] for history in histories] + val = [history[f"val_loss"] for history in histories] + + mean_training = pd.DataFrame(training).mean(axis=0) + std_training = pd.DataFrame(training).std(axis=0) + mean_val = pd.DataFrame(val).mean(axis=0) + + epochs = range(len(mean_training)) + + metric_index = -1 + + subplots[metric_index].plot(epochs, mean_training, label=label, color=color) + subplots[metric_index].fill_between( + epochs, + mean_training - std_training, + mean_training + std_training, + alpha=0.3, + color=color, + ) + subplots[metric_index].plot( + epochs, mean_val, linestyle="dotted", color=color + ) + subplots[metric_index].set_ylabel("Loss") + subplots[metric_index].grid( + color="grey", linestyle="--", linewidth=0.5, alpha=0.6 + ) + + subplots[0].set_title(title.strip("_")) + + if show: + plt.legend() + plt.show() + + if clear: + plt.close("all") + + if save_path is not None: + plt.savefig(f"{save_path}/{title}_history_errorbar.png") + + +def plot_model_parameter_comparison( + num_params, + inference_time, + training_time, + labels, + colors, + save_path=None, + title="", + show=False, + clear=False, +): + + _, subplots = plt.subplots(nrows=3, ncols=1, figsize=(6, 10)) + + bar_x = [i + 1 for i in range(len(num_params))] + + subplots[0].barh(y=bar_x, width=num_params, color=colors) + subplots[0].set_xlabel("Number Parameters") + subplots[0].grid(color="grey", linestyle="--", linewidth=0.5, alpha=0.6) + + for model, color, inference, training in zip( + labels, colors, inference_time, training_time + ): + w = 0.00005 + subplots[1].hist( + inference, + bins=np.arange(min(inference), max(inference) + w, w), + label=model, + color=color, + ) + subplots[1].set_xlabel("Mean Single Inference Time (s)") + subplots[1].grid(color="grey", linestyle="--", linewidth=0.5, alpha=0.6) + + w = 3.0 + subplots[2].hist( + training, + bins=np.arange(min(training), max(training) + w, w), + label=model, + color=color, + ) + + subplots[2].set_xlabel("Mean Full Training Time (s)") + subplots[2].grid(color="grey", linestyle="--", linewidth=0.5, alpha=0.6) + + subplots[0].set_title(title.strip("_")) + if show: + plt.legend() + plt.show() + + if clear: + plt.close("all") + + if save_path is not None: + plt.savefig(f"{save_path}/{title}_history_errorbar.png") diff --git a/WavPool/training/train_model.py b/WavPool/training/train_model.py new file mode 100644 index 0000000..429cdbb --- /dev/null +++ b/WavPool/training/train_model.py @@ -0,0 +1,161 @@ +""" +Basic training loop for the selected model +""" + +import pandas as pd +import os +import torch +import tqdm + +from WavPool.training.training_metrics import TrainingMetrics + + +class TrainingLoop: + def __init__( + self, + model_class, + model_params, + data_class, + data_params, + optimizer_class, + optimizer_config, + loss, + **training_configs, + ): + self.model = model_class(**model_params) + self.data_loader = data_class()(**data_params) + + # Todo lr and momentum params + self.loss = loss() + + self.epochs = ( + 300 if "epochs" not in training_configs else training_configs["epochs"] + ) + self.early_stopping_tolerence = ( + 5 + if "early_stopping_tolerence" not in training_configs + else training_configs["early_stopping_tolerence"] + ) + + self.extra_metrics = ( + [TrainingMetrics.f1, TrainingMetrics.accuracy] + if "extra_metrics" not in training_configs + else training_configs["extra_metrics"] + ) + + self.optimizer = optimizer_class(self.model.parameters(), **optimizer_config) + + self.history = { + "train_loss": [], + "val_loss": [], + } + for metric in self.extra_metrics: + self.history[f"train_{metric.__name__}"] = [] + self.history[f"val_{metric.__name__}"] = [] + + self.early_stopping_critreon = 0 + self.current_epoch = 0 + self.n_classes = None + + def train_one_epoch(self): + self.model.train(True) + running_loss = 0 + running_metrics = [0 for _ in range(len(self.extra_metrics))] + i = 0 + + for i, batch in enumerate( + tqdm.tqdm(self.data_loader["training"], desc="Training....") + ): + data_input, label = batch + + self.optimizer.zero_grad() + + model_prediction = self.model(data_input) + loss = self.loss(model_prediction, label) + for index in range(len(self.extra_metrics)): + running_metrics[index] += self.extra_metrics[index]( + model_prediction, label + ) + + loss.backward() + self.optimizer.step() + running_loss += loss + + loss = running_loss / (i + 1) + extra_metrics = [metric / (i + 1) for metric in running_metrics] + + return loss, extra_metrics + + def is_still_training(self): + # Monitor val loss + if self.current_epoch >= 5: + if self.history["val_loss"][-2] < self.history["val_loss"][-1]: + self.early_stopping_critreon += 1 + if self.early_stopping_tolerence <= self.early_stopping_critreon: + return False + + self.current_epoch += 1 + if self.current_epoch >= self.epochs: + return False + + return True + + def train(self): + not_stopping = True + while not_stopping: + train_loss, train_metrics = self.train_one_epoch() + val_loss, val_metrics = self.validate() + + self.history["train_loss"].append(train_loss.detach().numpy()) # type: ignore + self.history["val_loss"].append(val_loss.detach().numpy()) # type: ignore + + for metric_index, metric in enumerate(self.extra_metrics): + self.history[f"train_{metric.__name__}"].append( + train_metrics[metric_index] + ) + self.history[f"val_{metric.__name__}"].append(val_metrics[metric_index]) + + not_stopping = self.is_still_training() + + def validate(self): + loss, extra_metrics, _ = self.test_single_epoch( + data_loader=self.data_loader["validation"] + ) + return loss, extra_metrics + + def test_single_epoch(self, data_loader): + self.model.train(False) + running_loss = 0 + running_metrics = [0 for _ in range(len(self.extra_metrics))] + i = 0 + + predictions = torch.tensor([]) + for i, batch in enumerate(data_loader): + data_input, label = batch + model_prediction = self.model(data_input) + loss = self.loss(model_prediction, label) + for index in range(len(self.extra_metrics)): + running_metrics[index] += self.extra_metrics[index]( + model_prediction, label + ) + + predictions = torch.concat((predictions, model_prediction)) + running_loss += loss + + loss = running_loss / (i + 1) + + extra_metrics = [metric / (i + 1) for metric in running_metrics] + + return loss, extra_metrics, predictions + + def save(self, save_path): + if not os.path.exists(save_path): + os.makedirs(save_path) + model_path = f"{save_path}/model.pt" + torch.save(self.model.state_dict(), model_path) + + history_path = f"{save_path}/history.csv" + pd.DataFrame(self.history).to_csv(history_path) + + def __call__(self): + self.train() diff --git a/WavPool/training/training_metrics.py b/WavPool/training/training_metrics.py new file mode 100644 index 0000000..4f1b24d --- /dev/null +++ b/WavPool/training/training_metrics.py @@ -0,0 +1,46 @@ +from torcheval.metrics.functional import multiclass_f1_score +from sklearn.metrics import roc_auc_score, roc_curve, confusion_matrix +import numpy as np + +import torch + + +class TrainingMetrics: + @staticmethod + def f1(prediction, label): + return multiclass_f1_score(target=label, input=prediction).detach().numpy() + + @staticmethod + def accuracy(prediction, label): + _, predicted_class = torch.max(prediction, 1) + + return (label == predicted_class).sum().item() / label.size(0) + + @staticmethod + def auc_roc(prediction: torch.Tensor, label: torch.Tensor): + n_classes = prediction.shape[1] + eye = np.eye(n_classes) + + _, predicted_class = torch.max(prediction, 1) + predicted_class = predicted_class.detach().numpy() + return roc_auc_score(eye[label], eye[predicted_class], multi_class="ovo") + + @staticmethod + def auc_curve(prediction, label): + n_classes = prediction.shape[1] + eye = np.eye(n_classes) + + _, predicted_class = torch.max(prediction, 1) + predicted_class = predicted_class.detach().numpy() + print(np.array(label)) + label = eye[np.array(label).astype(int)].ravel() + score_fpr, score_tpr, _ = roc_curve(label, eye[predicted_class].ravel()) + return score_fpr, score_tpr + + @staticmethod + def confusion_matrix(prediction, label): + num_classes = [i + 1 for i in range(prediction.shape[1])] + _, predicted_class = torch.max(prediction, 1) + return confusion_matrix( + label.ravel(), predicted_class.ravel(), labels=num_classes + ) diff --git a/WavPool/utils/__init__.py b/WavPool/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/WavPool/utils/levels.py b/WavPool/utils/levels.py new file mode 100644 index 0000000..319ce01 --- /dev/null +++ b/WavPool/utils/levels.py @@ -0,0 +1,42 @@ +# Formula to calculate the levels and their dimensions +import numpy as np +import pywt +import kymatio + + +class Levels: + @staticmethod + def calc_possible_levels(in_channels, backend="pywt"): + if backend == "pywt": + _, levels = Levels._input_characterics(in_channels=in_channels) + elif backend == "kymatio": + _, levels = Levels._ky_input_characterics(in_channels=in_channels) + else: + raise NotImplementedError + return levels + + @staticmethod + def find_output_size(level, in_channels, backend="pywt"): + level = int(level) + sizes, levels = Levels._input_characterics(in_channels=in_channels) + if backend == "pywt": + sizes, levels = Levels._input_characterics(in_channels=in_channels) + elif backend == "kymatio": + sizes, levels = Levels._ky_input_characterics(in_channels=in_channels) + else: + raise NotImplementedError + + assert len(levels) >= level + return sizes[levels[level]] + + @staticmethod + def _input_characterics(in_channels, wavelet="haar"): + transform = np.random.rand(in_channels, in_channels) + transform = pywt.wavedec2(transform, wavelet) + transform_sizes = [np.array(x).shape[1] for x in transform] + levels = [i for i in range(len(transform_sizes))] + return transform_sizes, levels + + @staticmethod + def _ky_input_characterics(in_channels): + raise NotImplementedError diff --git a/WavPool/utils/voting.py b/WavPool/utils/voting.py new file mode 100644 index 0000000..da95acd --- /dev/null +++ b/WavPool/utils/voting.py @@ -0,0 +1,14 @@ +import torch + + +def soft_voting(probabilities): + # Take the average + votes = sum(probabilities) / len(probabilities) + return votes + + +def hard_voting(probabilities): + # Take the max + probabilities = torch.swapdims(torch.stack(probabilities), 0, 1) + votes = torch.tensor(torch.argmax(probabilities, dim=1).float(), requires_grad=True) + return votes diff --git a/notebooks/mnist_wav.ipynb b/notebooks/mnist_wav.ipynb deleted file mode 100644 index e86cbc3..0000000 --- a/notebooks/mnist_wav.ipynb +++ /dev/null @@ -1,348 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "f2e4960a", - "metadata": {}, - "source": [ - "here's some code to do the wavelet decomposition of the MNIST data" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "25b192a3", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "from matplotlib import pyplot as plt\n", - "import numpy as np\n", - "import pywt \n", - "import matplotlib_inline.backend_inline\n", - "matplotlib_inline.backend_inline.set_matplotlib_formats('svg', 'pdf')\n", - "import seaborn as sns\n", - "sns.set()" - ] - }, - { - "cell_type": "markdown", - "id": "2d6e8ee7", - "metadata": {}, - "source": [ - "load the data and the labels" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "9d885e02", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_R_img = np.load(\"train_images.npy\").reshape(60000, 28, 28)\n", - "mnist_E_img = np.load(\"test_images.npy\").reshape(10000, 28, 28)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "7f8ea20f", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_R_lab = np.load(\"train_labels.npy\")\n", - "mnist_E_lab = np.load(\"test_labels.npy\")" - ] - }, - { - "cell_type": "markdown", - "id": "4e228626", - "metadata": {}, - "source": [ - "do the wavelet decomposition of the images" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "4e81828f", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_R_wd = [pywt.wavedec2(x, 'db1') for x in mnist_R_img]\n", - "mnist_E_wd = [pywt.wavedec2(x, 'db1') for x in mnist_E_img]" - ] - }, - { - "cell_type": "markdown", - "id": "65570241", - "metadata": {}, - "source": [ - "look at the first five images" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "de6c0669", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 [5.]\n" - ] - }, - { - "data": { - "application/pdf": "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MCAvTWF4V2lkdGggMTAxNSA+PgplbmRvYmoKMTQgMCBvYmoKWyA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MAo3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDI3OCAyNzggMzU1IDU1NiA1NTYKODg5IDY2NyAxOTEgMzMzIDMzMyAzODkgNTg0IDI3OCAzMzMgMjc4IDI3OCA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2CjU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgMTAxNSA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggNzIyIDI3OAo1MDAgNjY3IDU1NiA4MzMgNzIyIDc3OCA2NjcgNzc4IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDI3OCAyNzgKMjc4IDQ2OSA1NTYgMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2CjU1NiA1NTYgMzMzIDUwMCAyNzggNTU2IDUwMCA3MjIgNTAwIDUwMCA1MDAgMzM0IDI2MCAzMzQgNTg0IDc1MCA1NTYgNzUwIDIyMgo1NTYgMzMzIDEwMDAgNTU2IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgNzUwIDIyMiAyMjIgMzMzIDMzMwozNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgMjc4IDMzMyA1NTYgNTU2IDU1NiA1NTYgMjYwCjU1NiAzMzMgNzM3IDM3MCA1NTYgNTg0IDMzMyA3MzcgNTUyIDQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDUzNyAzMzMgMzMzIDMzMwozNjUgNTU2IDgzNCA4MzQgODM0IDYxMSA2NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2NjcgNjY3IDY2NyA2NjcKMjc4IDI3OCAyNzggMjc4IDcyMiA3MjIgNzc4IDc3OCA3NzggNzc4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6+qm6fGpW0lyya8ieU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5Mfjx+nTxb3TUcMuHprenva0reQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM+FyX+a3p3umzbqenZangW90F2+HZHkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ7bdfKfp6cWZ6aNwp6bLk6/Tjteadckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5brPkH0xPTndPG3W9dfHKdGXacYiO5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz22W/Px01Jb3Ty9Pr06XFzte9ySQPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkuRPxBbn/F8lzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvLcXxBHeoMKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iagoxMjE0CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvS2lkcyBbIDExIDAgUiBdIC9Db3VudCAxID4+CmVuZG9iagoyMyAwIG9iago8PCAvQ3JlYXRvciAoTWF0cGxvdGxpYiB2My42LjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My42LjMpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyMzAyMDMxNTU5MzktMDQnMDAnKSA+PgplbmRvYmoKeHJlZgowIDI0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDA1Nzk1IDAwMDAwIG4gCjAwMDAwMDM4NTAgMDAwMDAgbiAKMDAwMDAwMzg4MiAwMDAwMCBuIAowMDAwMDAzOTgxIDAwMDAwIG4gCjAwMDAwMDQwMDIgMDAwMDAgbiAKMDAwMDAwNDAyMyAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzMzkgMDAwMDAgbiAKMDAwMDAwMDk3MSAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDA5NTEgMDAwMDAgbiAKMDAwMDAwNDA1NSAwMDAwMCBuIAowMDAwMDAyNzI3IDAwMDAwIG4gCjAwMDAwMDI1MjAgMDAwMDAgbiAKMDAwMDAwMjE5MiAwMDAwMCBuIAowMDAwMDAzNzc4IDAwMDAwIG4gCjAwMDAwMDA5OTEgMDAwMDAgbiAKMDAwMDAwMTMxMyAwMDAwMCBuIAowMDAwMDAxNTAyIDAwMDAwIG4gCjAwMDAwMDE4NDQgMDAwMDAgbiAKMDAwMDAwNTc3NCAwMDAwMCBuIAowMDAwMDA1ODU1IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjQgL1Jvb3QgMSAwIFIgL0luZm8gMjMgMCBSID4+CnN0YXJ0eHJlZgo2MDEyCiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T15:59:39.111497\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 [0.]\n" - ] - }, - { - "data": { - "application/pdf": "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MCAvTWF4V2lkdGggMTAxNSA+PgplbmRvYmoKMTQgMCBvYmoKWyA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MAo3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDI3OCAyNzggMzU1IDU1NiA1NTYKODg5IDY2NyAxOTEgMzMzIDMzMyAzODkgNTg0IDI3OCAzMzMgMjc4IDI3OCA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2CjU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgMTAxNSA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggNzIyIDI3OAo1MDAgNjY3IDU1NiA4MzMgNzIyIDc3OCA2NjcgNzc4IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDI3OCAyNzgKMjc4IDQ2OSA1NTYgMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2CjU1NiA1NTYgMzMzIDUwMCAyNzggNTU2IDUwMCA3MjIgNTAwIDUwMCA1MDAgMzM0IDI2MCAzMzQgNTg0IDc1MCA1NTYgNzUwIDIyMgo1NTYgMzMzIDEwMDAgNTU2IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgNzUwIDIyMiAyMjIgMzMzIDMzMwozNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgMjc4IDMzMyA1NTYgNTU2IDU1NiA1NTYgMjYwCjU1NiAzMzMgNzM3IDM3MCA1NTYgNTg0IDMzMyA3MzcgNTUyIDQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDUzNyAzMzMgMzMzIDMzMwozNjUgNTU2IDgzNCA4MzQgODM0IDYxMSA2NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2NjcgNjY3IDY2NyA2NjcKMjc4IDI3OCAyNzggMjc4IDcyMiA3MjIgNzc4IDc3OCA3NzggNzc4IDc3OCA1ODQgNzc4IDcyMiA3MjIgNzIyIDcyMiA2NjcgNjY3CjYxMSA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA4ODkgNTAwIDU1NiA1NTYgNTU2IDU1NiAyNzggMjc4IDI3OCAyNzggNTU2IDU1Ngo1NTYgNTU2IDU1NiA1NTYgNTU2IDU0OSA2MTEgNTU2IDU1NiA1NTYgNTU2IDUwMCA1NTYgNTAwIF0KZW5kb2JqCjE3IDAgb2JqCjw8IC9maXZlIDE4IDAgUiAvb25lIDE5IDAgUiAvdHdvIDIwIDAgUiAvemVybyAyMSAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDE2IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL1R5cGUgL0V4dEdTdGF0ZSAvQ0EgMCAvY2EgMSA+PgovQTIgPDwgL1R5cGUgL0V4dEdTdGF0ZSAvQ0EgMSAvY2EgMSA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCAvSTEgMTMgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDM3MCAvSGVpZ2h0IDM3MAovQ29sb3JTcGFjZSBbL0luZGV4ZWQgL0RldmljZVJHQiA3NyAo+urc+efY+ebW+eHP+N3J+NjC99S799K599G398+19sqs9sWl9sOj9sKh9sCf9r2b9ryZ9rqX9a6H9aJ69Zhv9ZNq9ZJp9I5l9I1k9IRcXPSCW/N9VvJwTfJuS/FlRu9bQe9ZQO5VP+1RPu1QPutKPeM1QeEyQuAwQtsqRdQiSoMeWoIeWnkeWXMfV3QeWGwfVl8eUloeUM8dTc0cTcsaT8IXU8AWU7UWV7EWWJYbW4UdWlUdTlQdTlEdTEwcSkocSUccSEYcRzgZPzYZPisWNlwpFTUlFDIfEi4cESwSDCUPCyMLCSAJCB8CBBkpXQovQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9EZWNvZGVQYXJtcyA8PCAvUHJlZGljdG9yIDEwIC9Db2xvcnMgMSAvQ29sdW1ucyAzNzAgPj4gL0xlbmd0aCAyMiAwIFIgPj4Kc3RyZWFtCnic7d3XchxVFEZhSSQhosnJYDA5ZwMGbIJt4vu/Dhfqi/1X9RlNzdm9KMT6bqU6e/eau66Z7qO/BTv6txf4/zE5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+MuSfIfqzfDcRV/uVVxu5rc5IcxOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJMTblen1cmeHq64xU1u8r2ZHGdynMlxJseZHGdynMlxJseZHGdynMkJP1SPV3G7MMM+VJ1V8W83q79C81WY3OS7mBxncpzJcSbHmRxncpzJcSbHmRxncpzJt/FH+Kx6sopgO5I/U31QjU/4KjRfoMlNbnKeyXEmx5kcZ3KcyXEmx5kcZ3KcyXEmx5kc90Y42c+O5OHb6qUqTrgWmi/Q5CY3Oc/kOJPjTI4zOc7kOJPjTI4zOc7kOJMT4vlv8avZ0+OhF6sbVf7fY9VP1YfVUfVaaL5ak5vc5AiT40yOMznO5DiT40yOMznO5DiT40xOOOj5b69Uv1cfVV+He9V4ofiYHgjNL1Aw+cLkJm9ncpzJcSbHmRxncpzJcSbHmRxncpzJCT9Xr1dxufGQt7Onq/jVZvN2sUN+0rHr/CSTL0xu8g4mP2fyhclN3sHk50y+MLnJO5j8nMkXJjd5B5OfM/nikiT/M1yt4poerD4Jv1V3quZddyR/oZqfZPKFyU1+GJOvMfnC5CY/jMnXmHxhcpMfxuRrTL4wuckPY/I1myaP15bePBn6tNpyoR1MjjM5zuQ4k+NMjjM5zuQ4k+NMjjM5zuQ4k+MuSfLnQlxUPP9tyx32FU+Qi1WPn68aJs0fMWby1UnzR4yZfHXS/BFjJl+dNH/EmMlXJ80fMWby1UnzR4yZfHXS/BFjJl+dNH/EmMlXJ80fMWby1UnzR4yZfHXS/BFjJl+dNH/EmMlXJ80fET6u7g9xd+6bqnmHg0TkvJP4VjU/yeQLk+NMjjM5zuQ4k+NMjjM5zuQ4k+NMjjM57r+b/P0qN3+kuls177BD/BD1vSqSvxziFQzzO5jc5NsyuckbmPxCJjf5tkxu8gYmv5DJTb4tk5u8gckvZPLLnPxK1Tx2h6j8eRXbPVHlU+yaFzK5yduZ3OQmN3k7k5vc5CZvZ3KTm9zk7UxucjD5O1Xz2HA7xNs6Y6FXqy0XSiY3eQOTmzyZ3OQNTG7yZHKTNzC5yZPJTd7A5CZP3cm/q+JLZ8dxr6557I3qNMQO16vmHfZlcpzJcSbHmRxncpzJcSbHmRxncpzJcSbHmRwH3km8r3q7ijt/v4Y472oVn2B0jW/iXblWfV81X/q+TI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjwORjj1ZPhT1PiFdyfhGaL3CeyXEmx5kcZ3KcyXEmx5kcZ3KcyXEmx5kcZ3KcyXHdye9Uz4ZxsLj1uiPsWYX9crebyXEmx5kcZ3KcyXEmx5kcZ3KcyXEmx5kcZ3Jcd/IQL/W8+2W1b/J3q1+qLRfflMlxJseZHGdynMlxJseZHGdynMlxJseZHGdy3KbJtcbkOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOc7kOJPjTI4zOe4fTVyX8gplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2JqCjEzNTYKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjIzIDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjYuMykKL0NyZWF0aW9uRGF0ZSAoRDoyMDIzMDIwMzE1NTkzOS0wNCcwMCcpID4+CmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDU5MTQgMDAwMDAgbiAKMDAwMDAwMzg1MCAwMDAwMCBuIAowMDAwMDAzODgyIDAwMDAwIG4gCjAwMDAwMDM5ODEgMDAwMDAgbiAKMDAwMDAwNDAwMiAwMDAwMCBuIAowMDAwMDA0MDIzIDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDMzOSAwMDAwMCBuIAowMDAwMDAwOTcxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMDk1MSAwMDAwMCBuIAowMDAwMDA0MDU1IDAwMDAwIG4gCjAwMDAwMDI3MjcgMDAwMDAgbiAKMDAwMDAwMjUyMCAwMDAwMCBuIAowMDAwMDAyMTkyIDAwMDAwIG4gCjAwMDAwMDM3NzggMDAwMDAgbiAKMDAwMDAwMDk5MSAwMDAwMCBuIAowMDAwMDAxMzEzIDAwMDAwIG4gCjAwMDAwMDE1MDIgMDAwMDAgbiAKMDAwMDAwMTg0NCAwMDAwMCBuIAowMDAwMDA1ODkzIDAwMDAwIG4gCjAwMDAwMDU5NzQgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNCAvUm9vdCAxIDAgUiAvSW5mbyAyMyAwIFIgPj4Kc3RhcnR4cmVmCjYxMzEKJSVFT0YK\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T15:59:39.267317\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2 [4.]\n" - ] - }, - { - "data": { - "application/pdf": "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MCAvTWF4V2lkdGggMTAxNSA+PgplbmRvYmoKMTQgMCBvYmoKWyA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MAo3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDI3OCAyNzggMzU1IDU1NiA1NTYKODg5IDY2NyAxOTEgMzMzIDMzMyAzODkgNTg0IDI3OCAzMzMgMjc4IDI3OCA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2CjU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgMTAxNSA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggNzIyIDI3OAo1MDAgNjY3IDU1NiA4MzMgNzIyIDc3OCA2NjcgNzc4IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDI3OCAyNzgKMjc4IDQ2OSA1NTYgMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2CjU1NiA1NTYgMzMzIDUwMCAyNzggNTU2IDUwMCA3MjIgNTAwIDUwMCA1MDAgMzM0IDI2MCAzMzQgNTg0IDc1MCA1NTYgNzUwIDIyMgo1NTYgMzMzIDEwMDAgNTU2IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgNzUwIDIyMiAyMjIgMzMzIDMzMwozNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgMjc4IDMzMyA1NTYgNTU2IDU1NiA1NTYgMjYwCjU1NiAzMzMgNzM3IDM3MCA1NTYgNTg0IDMzMyA3MzcgNTUyIDQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDUzNyAzMzMgMzMzIDMzMwozNjUgNTU2IDgzNCA4MzQgODM0IDYxMSA2NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2NjcgNjY3IDY2NyA2NjcKMjc4IDI3OCAyNzggMjc4IDcyMiA3MjIgNzc4IDc3OCA3NzggNzc4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1A0kueTbSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8tydk9+YuoEkl3w7yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM8tyZdnEiU/Eclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ5bHoNzJ7EgeU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJkTwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM/9CzRVl7IKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iagoxMTM0CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvS2lkcyBbIDExIDAgUiBdIC9Db3VudCAxID4+CmVuZG9iagoyMyAwIG9iago8PCAvQ3JlYXRvciAoTWF0cGxvdGxpYiB2My42LjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My42LjMpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyMzAyMDMxNTU5MzktMDQnMDAnKSA+PgplbmRvYmoKeHJlZgowIDI0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDA1NjU3IDAwMDAwIG4gCjAwMDAwMDM4NTAgMDAwMDAgbiAKMDAwMDAwMzg4MiAwMDAwMCBuIAowMDAwMDAzOTgxIDAwMDAwIG4gCjAwMDAwMDQwMDIgMDAwMDAgbiAKMDAwMDAwNDAyMyAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzMzkgMDAwMDAgbiAKMDAwMDAwMDk3MSAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDA5NTEgMDAwMDAgbiAKMDAwMDAwNDA1NSAwMDAwMCBuIAowMDAwMDAyNzI3IDAwMDAwIG4gCjAwMDAwMDI1MjAgMDAwMDAgbiAKMDAwMDAwMjE5MiAwMDAwMCBuIAowMDAwMDAzNzc4IDAwMDAwIG4gCjAwMDAwMDA5OTEgMDAwMDAgbiAKMDAwMDAwMTMxMyAwMDAwMCBuIAowMDAwMDAxNTAyIDAwMDAwIG4gCjAwMDAwMDE4NDQgMDAwMDAgbiAKMDAwMDAwNTYzNiAwMDAwMCBuIAowMDAwMDA1NzE3IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjQgL1Jvb3QgMSAwIFIgL0luZm8gMjMgMCBSID4+CnN0YXJ0eHJlZgo1ODc0CiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T15:59:39.372241\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3 [1.]\n" - ] - }, - { - "data": { - "application/pdf": "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MCAvTWF4V2lkdGggMTAxNSA+PgplbmRvYmoKMTQgMCBvYmoKWyA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MAo3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDI3OCAyNzggMzU1IDU1NiA1NTYKODg5IDY2NyAxOTEgMzMzIDMzMyAzODkgNTg0IDI3OCAzMzMgMjc4IDI3OCA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2CjU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgMTAxNSA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggNzIyIDI3OAo1MDAgNjY3IDU1NiA4MzMgNzIyIDc3OCA2NjcgNzc4IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDI3OCAyNzgKMjc4IDQ2OSA1NTYgMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2CjU1NiA1NTYgMzMzIDUwMCAyNzggNTU2IDUwMCA3MjIgNTAwIDUwMCA1MDAgMzM0IDI2MCAzMzQgNTg0IDc1MCA1NTYgNzUwIDIyMgo1NTYgMzMzIDEwMDAgNTU2IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgNzUwIDIyMiAyMjIgMzMzIDMzMwozNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgMjc4IDMzMyA1NTYgNTU2IDU1NiA1NTYgMjYwCjU1NiAzMzMgNzM3IDM3MCA1NTYgNTg0IDMzMyA3MzcgNTUyIDQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDUzNyAzMzMgMzMzIDMzMwozNjUgNTU2IDgzNCA4MzQgODM0IDYxMSA2NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2NjcgNjY3IDY2NyA2NjcKMjc4IDI3OCAyNzggMjc4IDcyMiA3MjIgNzc4IDc3OCA3NzggNzc4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npM8dxR/jHC+SJ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkufeAooE9iQKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iagoxMDY4CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvS2lkcyBbIDExIDAgUiBdIC9Db3VudCAxID4+CmVuZG9iagoyMyAwIG9iago8PCAvQ3JlYXRvciAoTWF0cGxvdGxpYiB2My42LjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My42LjMpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyMzAyMDMxNTU5MzktMDQnMDAnKSA+PgplbmRvYmoKeHJlZgowIDI0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDA1NTM3IDAwMDAwIG4gCjAwMDAwMDM4NTAgMDAwMDAgbiAKMDAwMDAwMzg4MiAwMDAwMCBuIAowMDAwMDAzOTgxIDAwMDAwIG4gCjAwMDAwMDQwMDIgMDAwMDAgbiAKMDAwMDAwNDAyMyAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzMzkgMDAwMDAgbiAKMDAwMDAwMDk3MSAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDA5NTEgMDAwMDAgbiAKMDAwMDAwNDA1NSAwMDAwMCBuIAowMDAwMDAyNzI3IDAwMDAwIG4gCjAwMDAwMDI1MjAgMDAwMDAgbiAKMDAwMDAwMjE5MiAwMDAwMCBuIAowMDAwMDAzNzc4IDAwMDAwIG4gCjAwMDAwMDA5OTEgMDAwMDAgbiAKMDAwMDAwMTMxMyAwMDAwMCBuIAowMDAwMDAxNTAyIDAwMDAwIG4gCjAwMDAwMDE4NDQgMDAwMDAgbiAKMDAwMDAwNTUxNiAwMDAwMCBuIAowMDAwMDA1NTk3IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjQgL1Jvb3QgMSAwIFIgL0luZm8gMjMgMCBSID4+CnN0YXJ0eHJlZgo1NzU0CiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T15:59:39.478474\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4 [9.]\n" - ] - }, - { - "data": { - "application/pdf": "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MCAvTWF4V2lkdGggMTAxNSA+PgplbmRvYmoKMTQgMCBvYmoKWyA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MAo3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDI3OCAyNzggMzU1IDU1NiA1NTYKODg5IDY2NyAxOTEgMzMzIDMzMyAzODkgNTg0IDI3OCAzMzMgMjc4IDI3OCA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2CjU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgMTAxNSA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggNzIyIDI3OAo1MDAgNjY3IDU1NiA4MzMgNzIyIDc3OCA2NjcgNzc4IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDI3OCAyNzgKMjc4IDQ2OSA1NTYgMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2CjU1NiA1NTYgMzMzIDUwMCAyNzggNTU2IDUwMCA3MjIgNTAwIDUwMCA1MDAgMzM0IDI2MCAzMzQgNTg0IDc1MCA1NTYgNzUwIDIyMgo1NTYgMzMzIDEwMDAgNTU2IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgNzUwIDIyMiAyMjIgMzMzIDMzMwozNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgMjc4IDMzMyA1NTYgNTU2IDU1NiA1NTYgMjYwCjU1NiAzMzMgNzM3IDM3MCA1NTYgNTg0IDMzMyA3MzcgNTUyIDQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDUzNyAzMzMgMzMzIDMzMwozNjUgNTU2IDgzNCA4MzQgODM0IDYxMSA2NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2NjcgNjY3IDY2NyA2NjcKMjc4IDI3OCAyNzggMjc4IDcyMiA3MjIgNzc4IDc3OCA3NzggNzc4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z0mekzwneU7ynOQ5yXOS576fJC9InpM8J3lO8pzkOclzkuckz0mekzwneU7ynOS5L6ftX5CTfHckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCf5YT09LZvELxaHvucpkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPHd5k1+fluTXFremQ1/6H5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzx3eZPfmV6alv7Hr013pwNdXPKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz13e5Iul/1uLpf+9sMmVPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkufsk+WUieU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc38DxO9bOQplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2JqCjExNzcKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjIzIDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjYuMykKL0NyZWF0aW9uRGF0ZSAoRDoyMDIzMDIwMzE1NTkzOS0wNCcwMCcpID4+CmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDU3MTYgMDAwMDAgbiAKMDAwMDAwMzg1MCAwMDAwMCBuIAowMDAwMDAzODgyIDAwMDAwIG4gCjAwMDAwMDM5ODEgMDAwMDAgbiAKMDAwMDAwNDAwMiAwMDAwMCBuIAowMDAwMDA0MDIzIDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDMzOSAwMDAwMCBuIAowMDAwMDAwOTcxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMDk1MSAwMDAwMCBuIAowMDAwMDA0MDU1IDAwMDAwIG4gCjAwMDAwMDI3MjcgMDAwMDAgbiAKMDAwMDAwMjUyMCAwMDAwMCBuIAowMDAwMDAyMTkyIDAwMDAwIG4gCjAwMDAwMDM3NzggMDAwMDAgbiAKMDAwMDAwMDk5MSAwMDAwMCBuIAowMDAwMDAxMzEzIDAwMDAwIG4gCjAwMDAwMDE1MDIgMDAwMDAgbiAKMDAwMDAwMTg0NCAwMDAwMCBuIAowMDAwMDA1Njk1IDAwMDAwIG4gCjAwMDAwMDU3NzYgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNCAvUm9vdCAxIDAgUiAvSW5mbyAyMyAwIFIgPj4Kc3RhcnR4cmVmCjU5MzMKJSVFT0YK\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T15:59:39.579777\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for i, a in enumerate(zip(mnist_R_img[:5], mnist_R_lab[:5])):\n", - " print(i, a[1])\n", - " plt.imshow(a[0])\n", - " plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "a86c36d5", - "metadata": {}, - "source": [ - "look at the finest (in pywt's convention, highest) levels of the wavelet decomposition" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "2657e241", - "metadata": {}, - "outputs": [ - { - "data": { - "application/pdf": "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IDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAKNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCAyNzggMjc4IDM1NSA1NTYgNTU2Cjg4OSA2NjcgMTkxIDMzMyAzMzMgMzg5IDU4NCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Ngo1NTYgNTU2IDI3OCAyNzggNTg0IDU4NCA1ODQgNTU2IDEwMTUgNjY3IDY2NyA3MjIgNzIyIDY2NyA2MTEgNzc4IDcyMiAyNzgKNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggNjY3IDc3OCA3MjIgNjY3IDYxMSA3MjIgNjY3IDk0NCA2NjcgNjY3IDYxMSAyNzggMjc4CjI3OCA0NjkgNTU2IDMzMyA1NTYgNTU2IDUwMCA1NTYgNTU2IDI3OCA1NTYgNTU2IDIyMiAyMjIgNTAwIDIyMiA4MzMgNTU2IDU1Ngo1NTYgNTU2IDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDAgNTAwIDMzNCAyNjAgMzM0IDU4NCA3NTAgNTU2IDc1MCAyMjIKNTU2IDMzMyAxMDAwIDU1NiA1NTYgMzMzIDEwMDAgNjY3IDMzMyAxMDAwIDc1MCA2MTEgNzUwIDc1MCAyMjIgMjIyIDMzMyAzMzMKMzUwIDU1NiAxMDAwIDMzMyAxMDAwIDUwMCAzMzMgOTQ0IDc1MCA1MDAgNjY3IDI3OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI2MAo1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMgNzM3IDU1MiA0MDAgNTQ5IDMzMyAzMzMgMzMzIDU3NiA1MzcgMzMzIDMzMyAzMzMKMzY1IDU1NiA4MzQgODM0IDgzNCA2MTEgNjY3IDY2NyA2NjcgNjY3IDY2NyA2NjcgMTAwMCA3MjIgNjY3IDY2NyA2NjcgNjY3CjI3OCAyNzggMjc4IDI3OCA3MjIgNzIyIDc3OCA3NzggNzc4IDc3OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2Nwo2MTEgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgODg5IDUwMCA1NTYgNTU2IDU1NiA1NTYgMjc4IDI3OCAyNzggMjc4IDU1NiA1NTYKNTU2IDU1NiA1NTYgNTU2IDU1NiA1NDkgNjExIDU1NiA1NTYgNTU2IDU1NiA1MDAgNTU2IDUwMCBdCmVuZG9iagoxNyAwIG9iago8PCAvZWlnaHQgMTggMCBSIC9mb3VyIDE5IDAgUiAvb25lIDIwIDAgUiAvc2l4IDIxIDAgUiAvdHdvIDIyIDAgUgovemVybyAyMyAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDE2IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL1R5cGUgL0V4dEdTdGF0ZSAvQ0EgMCAvY2EgMSA+PgovQTIgPDwgL1R5cGUgL0V4dEdTdGF0ZSAvQ0EgMSAvY2EgMSA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCAvSTEgMTMgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDM3MCAvSGVpZ2h0IDM3MAovQ29sb3JTcGFjZSBbL0luZGV4ZWQgL0RldmljZVJHQiA0OCAo+urc9rqX9rKM9a6H9amB9ZVs9I5l9IBZ83RP8m1K7VA+6kY93i1E2ypF2SdH2CZHex5Zcx9XYh5TXFweUc8dTc0cTcUXUasXWakYWacYWqIZWpsaW5gbW5McW48cW4odW4UdWlEdTEMbRUEbRTYZPi8XOcAWU78WVL0WVLoWVrgWVrAWWCwWNyYUMxUOJwMFGgIEGSldCi9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0RlY29kZVBhcm1zIDw8IC9QcmVkaWN0b3IgMTAgL0NvbG9ycyAxIC9Db2x1bW5zIDM3MCA+PiAvTGVuZ3RoIDI0IDAgUiA+PgpzdHJlYW0KeJzt3dmSFUUUQNFmEJAWZFAmEZCxGxX4/68zjHrqCE6UdS02N2Ct94w4Z+d75sl7Yidfe4Dvj+Q5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5448+Z+zx6NXs/ujj7MPo4N2klzyiyTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOSr3sy+zR6Ofp9Ns9wPvtxdGU2HzookeSSS76V5Kskl1zyrSRfJbnkkm8l+SrJJZd8K8lXSS655FtJvkpyySXfSvJVkksu+VaSr5Jccsm3knyV5JJLvtXb2Y3R6ejX2eXRtdnO2x5E8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8lz4gty70XxNz2fd4DuTPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd57ii+WD0b3Zz9NXox+9qb/kvynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7y3FEkn92eXR/dmd0ddTtJLvlFkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOcmPyfwG2k+z3w6x8+CSS/6fSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSf5l3Ju9GT2dPRidz3beSXLJL5I8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9J/r88G/09ejj7ZXR59vOo6yC55JLvSPKF5JJLviPJF5JLLvmOJF9ILrnkO5J8Ibnkku9I8oXkkku+I8kXkksu+Y4kX0guueQ7knwhueSSf94fo9ezR6Oz0Q+zW6OdE+1N8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM9JnpM8J3lO8txhyS+NTmZXR6ejnbc9CpLnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc5LnJM8d+Rer3yLJc5LnJM9JnpM8J3lO8pzkOclzkuckz0mekzwneU7ynOQ5yXOS5yTPSZ6TPCd5TvKc5DnJc/8ATULuhwplbmRzdHJlYW0KZW5kb2JqCjI0IDAgb2JqCjEwMTIKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjYuMykKL0NyZWF0aW9uRGF0ZSAoRDoyMDIzMDIwMzE2MDAyNy0wNCcwMCcpID4+CmVuZG9iagp4cmVmCjAgMjYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDYzNDMgMDAwMDAgbiAKMDAwMDAwNDcxMSAwMDAwMCBuIAowMDAwMDA0NzQzIDAwMDAwIG4gCjAwMDAwMDQ4NDIgMDAwMDAgbiAKMDAwMDAwNDg2MyAwMDAwMCBuIAowMDAwMDA0ODg0IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDMzOSAwMDAwMCBuIAowMDAwMDAxMDIxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTAwMSAwMDAwMCBuIAowMDAwMDA0OTE2IDAwMDAwIG4gCjAwMDAwMDM1NjIgMDAwMDAgbiAKMDAwMDAwMzM1NSAwMDAwMCBuIAowMDAwMDAzMDA5IDAwMDAwIG4gCjAwMDAwMDQ2MTMgMDAwMDAgbiAKMDAwMDAwMTA0MSAwMDAwMCBuIAowMDAwMDAxNTMzIDAwMDAwIG4gCjAwMDAwMDE2OTkgMDAwMDAgbiAKMDAwMDAwMTg4OCAwMDAwMCBuIAowMDAwMDAyMzE5IDAwMDAwIG4gCjAwMDAwMDI2NjEgMDAwMDAgbiAKMDAwMDAwNjMyMiAwMDAwMCBuIAowMDAwMDA2NDAzIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjYgL1Jvb3QgMSAwIFIgL0luZm8gMjUgMCBSID4+CnN0YXJ0eHJlZgo2NTYwCiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T16:00:27.240240\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/pdf": "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IDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAKNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCAyNzggMjc4IDM1NSA1NTYgNTU2Cjg4OSA2NjcgMTkxIDMzMyAzMzMgMzg5IDU4NCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Ngo1NTYgNTU2IDI3OCAyNzggNTg0IDU4NCA1ODQgNTU2IDEwMTUgNjY3IDY2NyA3MjIgNzIyIDY2NyA2MTEgNzc4IDcyMiAyNzgKNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggNjY3IDc3OCA3MjIgNjY3IDYxMSA3MjIgNjY3IDk0NCA2NjcgNjY3IDYxMSAyNzggMjc4CjI3OCA0NjkgNTU2IDMzMyA1NTYgNTU2IDUwMCA1NTYgNTU2IDI3OCA1NTYgNTU2IDIyMiAyMjIgNTAwIDIyMiA4MzMgNTU2IDU1Ngo1NTYgNTU2IDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDAgNTAwIDMzNCAyNjAgMzM0IDU4NCA3NTAgNTU2IDc1MCAyMjIKNTU2IDMzMyAxMDAwIDU1NiA1NTYgMzMzIDEwMDAgNjY3IDMzMyAxMDAwIDc1MCA2MTEgNzUwIDc1MCAyMjIgMjIyIDMzMyAzMzMKMzUwIDU1NiAxMDAwIDMzMyAxMDAwIDUwMCAzMzMgOTQ0IDc1MCA1MDAgNjY3IDI3OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI2MAo1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMgNzM3IDU1MiA0MDAgNTQ5IDMzMyAzMzMgMzMzIDU3NiA1MzcgMzMzIDMzMyAzMzMKMzY1IDU1NiA4MzQgODM0IDgzNCA2MTEgNjY3IDY2NyA2NjcgNjY3IDY2NyA2NjcgMTAwMCA3MjIgNjY3IDY2NyA2NjcgNjY3CjI3OCAyNzggMjc4IDI3OCA3MjIgNzIyIDc3OCA3NzggNzc4IDc3OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2Nwo2MTEgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYg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YW0KZW5kb2JqCjI0IDAgb2JqCjEwMDgKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjYuMykKL0NyZWF0aW9uRGF0ZSAoRDoyMDIzMDIwMzE2MDAyNy0wNCcwMCcpID4+CmVuZG9iagp4cmVmCjAgMjYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDYzMzEgMDAwMDAgbiAKMDAwMDAwNDcxMSAwMDAwMCBuIAowMDAwMDA0NzQzIDAwMDAwIG4gCjAwMDAwMDQ4NDIgMDAwMDAgbiAKMDAwMDAwNDg2MyAwMDAwMCBuIAowMDAwMDA0ODg0IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDMzOSAwMDAwMCBuIAowMDAwMDAxMDIxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTAwMSAwMDAwMCBuIAowMDAwMDA0OTE2IDAwMDAwIG4gCjAwMDAwMDM1NjIgMDAwMDAgbiAKMDAwMDAwMzM1NSAwMDAwMCBuIAowMDAwMDAzMDA5IDAwMDAwIG4gCjAwMDAwMDQ2MTMgMDAwMDAgbiAKMDAwMDAwMTA0MSAwMDAwMCBuIAowMDAwMDAxNTMzIDAwMDAwIG4gCjAwMDAwMDE2OTkgMDAwMDAgbiAKMDAwMDAwMTg4OCAwMDAwMCBuIAowMDAwMDAyMzE5IDAwMDAwIG4gCjAwMDAwMDI2NjEgMDAwMDAgbiAKMDAwMDAwNjMxMCAwMDAwMCBuIAowMDAwMDA2MzkxIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjYgL1Jvb3QgMSAwIFIgL0luZm8gMjUgMCBSID4+CnN0YXJ0eHJlZgo2NTQ4CiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T16:00:27.350055\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/pdf": "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IDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAKNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCAyNzggMjc4IDM1NSA1NTYgNTU2Cjg4OSA2NjcgMTkxIDMzMyAzMzMgMzg5IDU4NCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Ngo1NTYgNTU2IDI3OCAyNzggNTg0IDU4NCA1ODQgNTU2IDEwMTUgNjY3IDY2NyA3MjIgNzIyIDY2NyA2MTEgNzc4IDcyMiAyNzgKNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggNjY3IDc3OCA3MjIgNjY3IDYxMSA3MjIgNjY3IDk0NCA2NjcgNjY3IDYxMSAyNzggMjc4CjI3OCA0NjkgNTU2IDMzMyA1NTYgNTU2IDUwMCA1NTYgNTU2IDI3OCA1NTYgNTU2IDIyMiAyMjIgNTAwIDIyMiA4MzMgNTU2IDU1Ngo1NTYgNTU2IDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDAgNTAwIDMzNCAyNjAgMzM0IDU4NCA3NTAgNTU2IDc1MCAyMjIKNTU2IDMzMyAxMDAwIDU1NiA1NTYgMzMzIDEwMDAgNjY3IDMzMyAxMDAwIDc1MCA2MTEgNzUwIDc1MCAyMjIgMjIyIDMzMyAzMzMKMzUwIDU1NiAxMDAwIDMzMyAxMDAwIDUwMCAzMzMgOTQ0IDc1MCA1MDAgNjY3IDI3OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI2MAo1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMgNzM3IDU1MiA0MDAgNTQ5IDMzMyAzMzMgMzMzIDU3NiA1MzcgMzMzIDMzMyAzMzMKMzY1IDU1NiA4MzQgODM0IDgzNCA2MTEgNjY3IDY2NyA2NjcgNjY3IDY2NyA2NjcgMTAwMCA3MjIgNjY3IDY2NyA2NjcgNjY3CjI3OCAyNzggMjc4IDI3OCA3MjIgNzIyIDc3OCA3NzggNzc4IDc3OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2Nwo2MTEgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYg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dHJlYW0KZW5kb2JqCjI0IDAgb2JqCjEwMDgKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsgMTEgMCBSIF0gL0NvdW50IDEgPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9DcmVhdG9yIChNYXRwbG90bGliIHYzLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjYuMykKL0NyZWF0aW9uRGF0ZSAoRDoyMDIzMDIwMzE2MDAyNy0wNCcwMCcpID4+CmVuZG9iagp4cmVmCjAgMjYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDYzMzQgMDAwMDAgbiAKMDAwMDAwNDcxMSAwMDAwMCBuIAowMDAwMDA0NzQzIDAwMDAwIG4gCjAwMDAwMDQ4NDIgMDAwMDAgbiAKMDAwMDAwNDg2MyAwMDAwMCBuIAowMDAwMDA0ODg0IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDMzOSAwMDAwMCBuIAowMDAwMDAxMDIxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTAwMSAwMDAwMCBuIAowMDAwMDA0OTE2IDAwMDAwIG4gCjAwMDAwMDM1NjIgMDAwMDAgbiAKMDAwMDAwMzM1NSAwMDAwMCBuIAowMDAwMDAzMDA5IDAwMDAwIG4gCjAwMDAwMDQ2MTMgMDAwMDAgbiAKMDAwMDAwMTA0MSAwMDAwMCBuIAowMDAwMDAxNTMzIDAwMDAwIG4gCjAwMDAwMDE2OTkgMDAwMDAgbiAKMDAwMDAwMTg4OCAwMDAwMCBuIAowMDAwMDAyMzE5IDAwMDAwIG4gCjAwMDAwMDI2NjEgMDAwMDAgbiAKMDAwMDAwNjMxMyAwMDAwMCBuIAowMDAwMDA2Mzk0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjYgL1Jvb3QgMSAwIFIgL0luZm8gMjUgMCBSID4+CnN0YXJ0eHJlZgo2NTUxCiUlRU9GCg==\n", - "image/svg+xml": "\n\n\n \n \n \n \n 2023-02-03T16:00:27.460818\n image/svg+xml\n \n \n Matplotlib v3.6.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.imshow(mnist_R_wd[0][-1][0])\n", - "plt.show()\n", - "plt.imshow(mnist_R_wd[0][-1][1])\n", - "plt.show()\n", - "plt.imshow(mnist_R_wd[0][-1][2])\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "7faeeb04", - "metadata": {}, - "source": [ - "just to be explicit, here are the shapes of the levels of the decomposition:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "0865eddb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "level 0: shape [2x2]\n", - "\t 4 pixels on this level\n", - "level 1: shape [3x2x2]\n", - "\t 12 pixels on this level\n", - "level 2: shape [3x4x4]\n", - "\t 48 pixels on this level\n", - "level 3: shape [3x7x7]\n", - "\t 147 pixels on this level\n", - "level 4: shape [3x14x14]\n", - "\t 588 pixels on this level\n", - "in total: 799 pixels, compared to 784 in the original\n" - ] - } - ], - "source": [ - "totsize = 0\n", - "for i, x in enumerate(mnist_R_wd[0]):\n", - " xs = [str(s) for s in np.array(x).shape]\n", - " print(\"level \"+str(i)+\": shape [\", end='')\n", - " levsize = 1\n", - " for j, s in enumerate(xs):\n", - " levsize*=int(s)\n", - " if j10 MLPs, three 16->10 MLPs, three 49->10 MLPs, and three 196->10 MLPs, so we train thirteen MLPs in parallel and we somehow combine those scores (through averaging, voting, random forest, etc.)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7dd1e95c", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "wavnn-0mmRVP0f-py3.10", - "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.5" - }, - "vscode": { - "interpreter": { - "hash": "ececb978da7bceae42fd297c3370609792f3f0f58e6837f67c4a545bb94ff40b" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/optimizer_mnist.ipynb b/notebooks/optimizer_mnist.ipynb deleted file mode 100644 index 3c89310..0000000 --- a/notebooks/optimizer_mnist.ipynb +++ /dev/null @@ -1,1062 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "import math\n", - "\n", - "from wavNN.train_model import TrainingLoop\n", - "from wavNN.models.wavMLP import WavMLP\n", - "from wavNN.models.vanillaMLP import VanillaMLP, BananaSplitMLP\n", - "from wavNN.models.wavpool import WavPool\n", - "from wavNN.data_generators.mnist_generator import *\n", - "\n", - "import torch\n", - "\n", - "import numpy as np \n", - "import pandas as pd \n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "def select_params(\n", - " hidden_size,\n", - " loss_id,\n", - " level,\n", - " optimizer_class_id,\n", - " optimizer_lr,\n", - " optimizer_momentum_id,\n", - " ):\n", - "\n", - " optimizer_class = (\n", - " torch.optim.SGD if optimizer_class_id < 0.5 else torch.optim.Adam\n", - " )\n", - " loss = torch.nn.CrossEntropyLoss if loss_id < 0.5 else torch.nn.MultiMarginLoss\n", - "\n", - " optimizer_config = {\"lr\": optimizer_lr}\n", - " if optimizer_class == torch.optim.SGD:\n", - " optimizer_config[\"momentum\"] = optimizer_momentum_id < 0.5\n", - "\n", - " model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": math.ceil(hidden_size),\n", - " \"level\": math.ceil(level),\n", - " \"out_channels\": 10,\n", - " }\n", - " return {\n", - " \"opt\":optimizer_class, \n", - " \"opt_config\":optimizer_config, \n", - " \"loss\":loss, \n", - " \"model_params\":model_params\n", - " }" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "def plot_experiment_history(history, history_name): \n", - "\n", - " train_loss = torch.tensor([history[i]['train_loss'] for i in history]).detach().numpy()\n", - " train_loss_std = np.std(train_loss, axis=0)\n", - " train_loss_mean = np.mean(train_loss, axis=0)\n", - "\n", - " val_loss = torch.tensor([history[i]['val_loss'] for i in history]).detach().numpy()\n", - " val_std = np.std(val_loss, axis=0)\n", - " val_mean = np.mean(val_loss, axis=0)\n", - "\n", - " plt.errorbar(range(len(train_loss_mean)), train_loss_mean, yerr=train_loss_std, label=\"Train\", alpha=.5)\n", - " plt.errorbar(range(len(train_loss_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - " plt.title(history_name)\n", - " plt.ylabel(\"Loss\")\n", - " plt.xlabel(\"Epoch\")\n", - " plt.legend()\n", - " plt.show()\n", - "\n", - " train_ac = torch.tensor([history[i]['train_accuracy'] for i in history]).detach().numpy()\n", - " train_ac_std = np.std(train_ac, axis=0)\n", - " train_ac_mean = np.mean(train_ac, axis=0)\n", - "\n", - " val_ac = torch.tensor([history[i]['val_accuracy'] for i in history]).detach().numpy()\n", - " val_std = np.std(val_ac, axis=0)\n", - " val_mean = np.mean(val_ac, axis=0)\n", - "\n", - " plt.errorbar(range(len(train_ac_mean)), train_ac_mean, yerr=train_ac_std, label=\"Train\", alpha=.5)\n", - " plt.errorbar(range(len(train_ac_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - " plt.legend()\n", - " plt.title(history_name)\n", - " plt.ylabel(\"Accuracy\")\n", - " plt.xlabel(\"Epoch\")\n", - " plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'opt': , 'opt_config': {'lr': 0.03637816735909994, 'momentum': False}, 'loss': , 'model_params': {'in_channels': 28, 'hidden_size': 73, 'level': 0, 'out_channels': 10}}\n" - ] - } - ], - "source": [ - "# Open the params and do the variance test\n", - "with open(\"../results/optimization/vanilla_baysianopt.json\", 'r') as f: \n", - " vanilla_params = json.load(f)\n", - "\n", - "vanilla_params_guass = pd.DataFrame(vanilla_params).iloc[pd.DataFrame(vanilla_params)['target'].idxmax()]['params']\n", - "\n", - "vanilla_params = select_params(\n", - " hidden_size=vanilla_params_guass['hidden_size'], \n", - " loss_id=vanilla_params_guass['loss_id'], \n", - " level=0, \n", - " optimizer_class_id=vanilla_params_guass['optimizer_class_id'], \n", - " optimizer_lr=vanilla_params_guass['optimizer_lr'], \n", - " optimizer_momentum_id=vanilla_params_guass['optimizer_momentum_id']\n", - ")\n", - "print(vanilla_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "all_vanilla_history = {}\n", - "num_tests = 10\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "vanilla_params['model_params'].pop(\"level\")\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=vanilla_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=vanilla_params['opt'],\n", - " optimizer_config=vanilla_params['opt_config'],\n", - " loss=vanilla_params['loss'],\n", - " epochs=80,\n", - " )\n", - "\n", - " training()\n", - " all_vanilla_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYIUlEQVR4nO3dd3wUZeI/8M/sbMum9wKB0ARFEpASg3KCRANyKNhAowYs/PTQr1yOU1BpoqKn56EHJ6dS70SKJ+idJwgRsIBSJBQPkCY1hQDpydb5/bG7k90USNnsZDef9+s1r+zMPDv7jKvJx6eNIEmSBCIiIqJ2RKV0BYiIiIi8jQGIiIiI2h0GICIiImp3GICIiIio3WEAIiIionaHAYiIiIjaHQYgIiIiancYgIiIiKjdYQAiIiKidocBiIh82oQJE5CUlOR2TBAEzJ49W95ftmwZBEHAr7/+6tW6EVHbxQBERC125513wmAwoKysrMEymZmZ0Gq1uHjxohdr1nITJkyAIAgICQlBVVVVnfNHjx6FIAgQBAFvvfWWfHzr1q0QBAGffPLJFa/vfK8gCFCpVEhISMDtt9+OrVu3evpWiMgFAxARtVhmZiaqqqqwbt26es9XVlbis88+w4gRIxAZGenRz/7ggw9w5MgRj16zNrVajcrKSvz73/+uc+6jjz6CXq9v0fVvu+02/OMf/8Dy5cvx5JNPYv/+/bj11lvx5Zdftui6RNQwBiAiarE777wTwcHBWLlyZb3nP/vsM1RUVCAzM9Pjn63RaKDT6Tx+XVc6nQ7Dhw/Hxx9/XOfcypUrMWrUqBZd/5prrsFDDz2Ehx9+GDNnzsSmTZsgSRLmz5/fousSUcMYgIioxQICAnD33XcjJycHhYWFdc6vXLkSwcHBuPnmmzF16lT06dMHQUFBCAkJwciRI7Fv3z638s7uozVr1uDVV19Fx44dodfrMXz4cBw7dsytbH1jgBrjs88+w6hRo5CQkACdTodu3bph7ty5sFqt9ZZ/8MEH8eWXX6K4uFg+tmvXLhw9ehQPPvhgkz//Svr06YOoqCicPHnSo9clohoMQETkEZmZmbBYLFizZo3b8UuXLmHjxo0YO3Ys8vLysH79evz2t7/F22+/jT/+8Y84cOAAbrnlFpw/f77ONV9//XWsW7cOU6dOxfTp0/HDDz94rBVp2bJlCAoKQnZ2Nt555x30798fM2fOxLRp0+otf/fdd0MQBHz66afysZUrV6JXr1644YYbPFInp8uXL+Py5cse7y4kohpqpStARP7h1ltvRXx8PFauXImnn35aPr527VqYzWZkZmaiT58++OWXX6BS1fy/18MPP4xevXph8eLFmDFjhts1q6urkZubC61WCwAIDw/Hs88+i4MHD+L6669vUX1XrlyJgIAAef/JJ5/Ek08+ib/97W945ZVX6nSrBQcH47e//S1WrlyJRx99FDabDatWrcJTTz3VonoA9vssKiqCJEk4efIkXnjhBVitVtx3330tvjYR1Y8tQETkEaIoYvz48dixY4fbdPOVK1ciNjYWw4cPh06nk8OP1WrFxYsXERQUhJ49e+Knn36qc82JEyfK4QcAhgwZAgA4ceJEi+vrGn7KyspQVFSEIUOGoLKyEocPH673PQ8++CC2bt2K/Px8fP3118jPz/dI99fixYsRHR2NmJgYpKam4vvvv0d2djamTJnS4msTUf0YgIjIY5zdU87B0GfPnsW3336L8ePHQxRF2Gw2/OUvf0GPHj2g0+kQFRWF6Oho7N+/HyUlJXWu16lTJ7f98PBwAPYuopb6+eefMXbsWISGhiIkJATR0dF46KGHAKDeugDAHXfcgeDgYKxevRofffQRBg4ciO7du7e4LnfddRc2bdqEzZs348cff0RRURH+/Oc/u7WUEZFnsQuMiDymf//+6NWrFz7++GO88MIL+PjjjyFJkhyMXnvtNcyYMQOPPvoo5s6di4iICKhUKkyZMgU2m63O9URRrPdzJElqUT2Li4txyy23ICQkBC+//DK6desGvV6Pn376Cc8//3y9dQHss8HuvvtuLF++HCdOnHBbbLElOnbsiPT0dI9ci4gahwGIiDwqMzMTM2bMwP79+7Fy5Ur06NEDAwcOBAB88sknGDZsGBYvXuz2nuLiYkRFRXmtjlu3bsXFixfx6aef4je/+Y18vDGzrh588EEsWbIEKpUK48ePb81qElErYvsqEXmUs7Vn5syZyM3NdZu1JYpindabtWvX4ty5c16to7NlybUuJpMJf/vb36763mHDhmHu3LlYsGAB4uLiWq2ORNS62AJERB7VpUsXDB48GJ999hkAuAWg3/72t3j55ZcxceJEDB48GAcOHMBHH32Erl27erWOgwcPRnh4OLKysvB///d/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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Whh0qk/OIyIiatRqFAAdPHgQ+/btQ4cOHfD8888jPDwcU6ZMwYEDB267HoPBgLi4OKSlpTnKJElCWloaEhISqnxNcXExNBrnJmu1yoKBsizXqE4AMBqN8PX1dbrVOfv4H70J0OorrAHE7A8REVFdq3GqoXv37njnnXdw8eJFzJs3D//4xz/Qs2dPdO3aFStXroQsy7esIzk5GR988AE+/PBDHDt2DJMmTUJRUREmTJgAABg7dixmzJjhOH7w4MF47733sHbtWpw9exZbt27FnDlzMHjwYEcgdKs6643rxv/kla0CzfE/REREda/Gg6CtVis2btyIVatWYevWrbjrrrvw9NNP4/z585g5cya2bduGNWvW3LSO4cOH4/Lly5g7dy4yMzPRtWtXbN682TGIOSMjwynjM3v2bAiCgNmzZ+PChQsIDg7G4MGD8dprr912nfVGhfE/QMUZYAyAiIiI6pog306qpoIDBw5g1apV+PTTT6HRaDB27Fg888wzaN++veOYo0ePomfPnigpKXF5g90hPz8ffn5+yMvLq7vusDM7gD/2AJFxQNuH8MXBCzhzuQj9OoSgc3P/unlPIiKiRqw61+9qZ4B69uyJBx98EO+99x6GDBkCvb5yxqJly5YYMWJEdatuWm64BhAzQERERHWt2gHQmTNnEB0dfdNjvLy8sGrVqho3qkmoMAZIlmXHNhgcA0RERFT3qj0IOjs7G3v37q1UvnfvXvz8888uaVSTULYPmEXrhcVb0vHdicsQJRk+XAWaiIiozlU7AJo8eXKV6+RcuHABkydPdkmjGj1ZdtoJ3r4AopdRB52WawARERHVtWpfbX/77Td07969Unm3bt3w22+/uaRRjZ6lCJBEQBAAgzfMNhEA9wAjIiJyl2oHQEajsdJKywBw6dIl6HS8gN8We/bH4AVotDDblAwQF0EkIiJyj2oHQA899JBj6wi73NxczJw5Ew8++KBLG9domZ1ngJU6MkAMgIiIiNyh2imbN998E/fccw+io6PRrVs3AMDBgwcRGhqKf/7zny5vYKNkzwCVLYJosdozQMygERERuUO1r7iRkZE4fPgwPvnkExw6dAgmkwkTJkzAyJEjq1wTiKpQ6rwKtE1S1qI06bVqtYiIiKhJqVHKwcvLC88++6yr29J0XLcPmFS2GLdOI6jVIiIioialxn0uv/32GzIyMmCxWJzKH3nkkVo3qtG7bgxQWQKIU+CJiIjcpEYrQQ8dOhRHjhyBIAiOXd8FQcleiKLo2hY2RteNAbJngLTMABEREblFtVMOU6dORcuWLZGdnQ1PT0/8+uuv+O6779CjRw/s2LGjDprYyEgSYC5U7tszQGUpIL2WARAREZE7VDsDtGfPHnz77bcICgqCRqOBRqNB3759kZKSghdeeAG//PJLXbSz8bAUArIECBrA4A1I5V1gWg27wIiIiNyh2ldcURTh46NkLoKCgnDx4kUAQHR0NNLT013busbIMf7HG9BooNcK6NUyEHfFNoOngbPAiIiI3KHaGaA777wThw4dQsuWLREfH4833ngDBoMB77//PmJjY+uijY3LdeN/7FPgAUDHLjAiIiK3qHYGaPbs2ZAkZeG+V199FWfPnsXdd9+Nr7/+Gu+8847LG9io2CzA7qXA798DehMAQKwYALELjIiIyC2qnQFKSkpy3G/dujWOHz+Oq1evIiAgwDETjG5CLFs2oCwDZBWVYFIjCJwFRkRE5CbVSjlYrVbodDocPXrUqTwwMJDBz+2ymZWfZTPA7Bkgdn8RERG5T7UCIL1ejxYtWnCtn9oQ7QGQPQPEVaCJiIjcrdqDTmbNmoWZM2fi6tWrddGexu8GGSB2fxEREblPtccALV26FKdOnUJERASio6Ph5eXl9PyBAwdc1rhGRxIB0arcLwuA7GOA9NwGg4iIyG2qHQANGTKkDprRRJgLAMjKIoh6TwDMABEREamh2gHQvHnz6qIdTYN9DSCtESgbNG6T7BkgBkBERETuwn4Xd7KvAq0zOopsjgwQPwoiIiJ3qXYGSKPR3HTKO2eI3YQ9A6QzOIpsIjdCJSIicrdqB0AbN250emy1WvHLL7/gww8/xIIFC1zWsEbJOxjwDgM8fB1FNo4BIiIicrtqB0CPPvpopbLHH38cd9xxB9atW4enn37aJQ1rlAJbAUFtnIpsZbPAuA0GERGR+7jsqnvXXXchLS3NVdU1GfYMEBdCJCIich+XBEAlJSV45513EBkZ6YrqmhT7GCBuhUFEROQ+1Q6AAgICEBgY6LgFBATAx8cHK1euxOLFi2vUiGXLliEmJgYeHh6Ij4/Hvn37bnjsfffdB0EQKt0GDRrkOGb8+PGVnu/fv3+N2lbX7NPg2QVGRETkPtUeA/S3v/3NaRaYRqNBcHAw4uPjERAQUO0GrFu3DsnJyVi+fDni4+ORmpqKpKQkpKenIyQkpNLxGzZsgMVicTy+cuUKunTpgieeeMLpuP79+2PVqlWOx0ajEfURM0BERETuV+0AaPz48S5twJIlSzBx4kRMmDABALB8+XJ89dVXWLlyJaZPn17p+MDAQKfHa9euhaenZ6UAyGg0IiwszKVtrQscA0REROR+1e53WbVqFdavX1+pfP369fjwww+rVZfFYsH+/fuRmJhY3iCNBomJidizZ89t1bFixQqMGDGi0p5kO3bsQEhICNq1a4dJkybhypUr1Wqbuzi6wLgXGBERkdtU+6qbkpKCoKCgSuUhISFYtGhRterKycmBKIoIDQ11Kg8NDUVmZuYtX79v3z4cPXoUzzzzjFN5//798dFHHyEtLQ2vv/46du7ciQEDBtxwkUaz2Yz8/Hynm7uIzAARERG5XbW7wDIyMtCyZctK5dHR0cjIyHBJo27XihUr0KlTJ/Tq1cupfMSIEY77nTp1QufOndGqVSvs2LED/fr1q1RPSkqKexZx1BmA+2c4FVk5BoiIiMjtqp0BCgkJweHDhyuVHzp0CM2aNatWXUFBQdBqtcjKynIqz8rKuuX4naKiIqxdu/a2Fl6MjY1FUFAQTp06VeXzM2bMQF5enuN27ty52z+JWuJCiERERO5X7avuyJEj8cILL2D79u0QRRGiKOLbb7/F1KlTnTIvt8NgMCAuLs5pAUVJkpCWloaEhISbvnb9+vUwm8148sknb/k+58+fx5UrVxAeHl7l80ajEb6+vk43d+EgaCIiIverdhfYwoUL8fvvv6Nfv37Q6ZSXS5KEsWPHVnsMEAAkJydj3Lhx6NGjB3r16oXU1FQUFRU5ZoWNHTsWkZGRSElJcXrdihUrMGTIkEpZp8LCQixYsADDhg1DWFgYTp8+jZdffhmtW7dGUlJStdtX1xwZIHaBERERuU21AyCDwYB169bhL3/5Cw4ePAiTyYROnTohOjq6Rg0YPnw4Ll++jLlz5yIzMxNdu3bF5s2bHQOjMzIyoLmueyg9PR27du3Cf//730r1abVaHD58GB9++CFyc3MRERGBhx56CAsXLqyXawGVZ4DYBUZEROQugizLstqNqG/y8/Ph5+eHvLy8Ou8OW77zNEosIsYkRCPIu/4FaERERA1Fda7f1U47DBs2DK+//nql8jfeeKPSYoR0a5wGT0RE5H7VDoC+++47DBw4sFL5gAED8N1337mkUU2FLMuwilwIkYiIyN2qfdUtLCyEwWCoVK7X6926gGBjIMmAvQOSGSAiIiL3qXYA1KlTJ6xbt65S+dq1a9GxY0eXNKqpsGd/AAZARERE7lTtWWBz5szBY489htOnT+OBBx4AAKSlpWHNmjX4/PPPXd7Axsw+/kcQAC0DICIiIrepdgA0ePBgbNq0CYsWLcLnn38Ok8mELl264Ntvv620UzvdnE0sHwAtCAyAiIiI3KXaARAADBo0CIMGDQKgTDn79NNPMW3aNOzfv/+GG45SZfad4LVcA4iIiMitanzl/e677zBu3DhERETgrbfewgMPPIAff/zRlW1r9OyLIOq5CjQREZFbVSsDlJmZidWrV2PFihXIz8/Hn/70J5jNZmzatIkDoGvAHgBx/A8REZF73XYGaPDgwWjXrh0OHz6M1NRUXLx4Ee+++25dtq3Rs3ENICIiIlXcdgbom2++wQsvvIBJkyahTZs2ddmmJoM7wRMREanjtlMPu3btQkFBAeLi4hAfH4+lS5ciJyenLtvW6FWcBUZERETuc9sB0F133YUPPvgAly5dwv/8z/9g7dq1iIiIgCRJ2Lp1KwoKCuqynY2SfRaYjoOgiYiI3Krag0+8vLzw1FNPYdeuXThy5Aj+/Oc/469//StCQkLwyCOP1EUbG63yDBDHABEREblTra687dq1wxtvvIHz58/j008/dVWbmgyOASIiIlKHS1IPWq0WQ4YMwZdffumK6poMzgIjIiJSB6+8KrLvBcYxQERERO7FAEhFVnaBERERqYIBkIocXWAcBE1ERORWvPKqyMYuMCIiIlUwAFIRF0IkIiJSBwMgFTkWQmQXGBERkVvxyqsiRwaIXWBERERuxQBIRSJngREREamCAZCKrBIXQiQiIlIDr7wqYgaIiIhIHQyAVGTlGCAiIiJVMABSkVjWBaZlBoiIiMitGACpyJ4B0nMaPBERkVvxyqsi+xggLbvAiIiI3IoBkEokSXYEQMwAERERuVe9uPIuW7YMMTEx8PDwQHx8PPbt23fDY++77z4IglDpNmjQIMcxsixj7ty5CA8Ph8lkQmJiIk6ePOmOU7lt9n3AAI4BIiIicjfVA6B169YhOTkZ8+bNw4EDB9ClSxckJSUhOzu7yuM3bNiAS5cuOW5Hjx6FVqvFE0884TjmjTfewDvvvIPly5dj79698PLyQlJSEkpLS911Wrdk3wYDAPTsAiMiInIr1QOgJUuWYOLEiZgwYQI6duyI5cuXw9PTEytXrqzy+MDAQISFhTluW7duhaenpyMAkmUZqampmD17Nh599FF07twZH330ES5evIhNmza58cxuzp4B0mqUDBYRERG5j6oBkMViwf79+5GYmOgo02g0SExMxJ49e26rjhUrVmDEiBHw8vICAJw9exaZmZlOdfr5+SE+Pv6GdZrNZuTn5zvd6hr3ASMiIlKPqgFQTk4ORFFEaGioU3loaCgyMzNv+fp9+/bh6NGjeOaZZxxl9tdVp86UlBT4+fk5blFRUdU9lWor3wmeARAREZG7qd4FVhsrVqxAp06d0KtXr1rVM2PGDOTl5Tlu586dc1ELb8yRAeIMMCIiIrdT9eobFBQErVaLrKwsp/KsrCyEhYXd9LVFRUVYu3Ytnn76aady++uqU6fRaISvr6/Tra45psCzC4yIiMjtVA2ADAYD4uLikJaW5iiTJAlpaWlISEi46WvXr18Ps9mMJ5980qm8ZcuWCAsLc6ozPz8fe/fuvWWd7mQV7dtgMANERETkbjq1G5CcnIxx48ahR48e6NWrF1JTU1FUVIQJEyYAAMaOHYvIyEikpKQ4vW7FihUYMmQImjVr5lQuCAJefPFF/OUvf0GbNm3QsmVLzJkzBxERERgyZIi7TuuWHDvBMwNERETkdqoHQMOHD8fly5cxd+5cZGZmomvXrti8ebNjEHNGRgY012VJ0tPTsWvXLvz3v/+tss6XX34ZRUVFePbZZ5Gbm4u+ffti8+bN8PDwqPPzuV2OneA5CJqIiMjtBFmW5Vsf1rTk5+fDz88PeXl5dTYe6PD5XKQdy0arEG880iWiTt6DiIioKanO9ZsDUFRiXwiRGSAiIiL3YwCkEhu7wIiIiFTDAEgljoUQOQiaiIjI7RgAqYQLIRIREamHV1+ViBwDREREpBoGQCqxL4So0/IjICIicjdefVVizwBpmQEiIiJyOwZAKrFyLzAiIiLVMABSiSjZ9wJjAERERORuDIBUYt8KQ88xQERERG7Hq69KOAaIiIhIPQyAVGIrmwWm5zpAREREbserr0rse4FpOQiaiIjI7RgAqcS+ErSeXWBERERuxwBIJTaOASIiIlINAyCV2LgSNBERkWp49VWBLMuODBAXQiQiInI/BkAqsAc/ALvAiIiI1MAASAVihQCI0+CJiIjcj1dfFdh3gtcIAjTMABEREbkdAyAV2DNAOo7/ISIiUgUDIBXY9wHTMftDRESkCgZAKrBJnAJPRESkJl6BVWBjBoiIiEhVDIBUYOMYICIiIlUxAFKBaO8CYwaIiIhIFQyAVFA+CJq/fiIiIjXwCqwCToMnIiJSFwMgFdgXQmQGiIiISB28AqvAngHiPmBERETqUD0AWrZsGWJiYuDh4YH4+Hjs27fvpsfn5uZi8uTJCA8Ph9FoRNu2bfH11187np8/fz4EQXC6tW/fvq5Po1rsY4C4EzwREZE6dGq++bp165CcnIzly5cjPj4eqampSEpKQnp6OkJCQiodb7FY8OCDDyIkJASff/45IiMj8ccff8Df39/puDvuuAPbtm1zPNbpVD3NSpgBIiIiUpeqkcGSJUswceJETJgwAQCwfPlyfPXVV1i5ciWmT59e6fiVK1fi6tWr2L17N/R6PQAgJiam0nE6nQ5hYWF12vbasJZNg9dzJWgiIiJVqHYFtlgs2L9/PxITE8sbo9EgMTERe/bsqfI1X375JRISEjB58mSEhobizjvvxKJFiyCKotNxJ0+eREREBGJjYzF69GhkZGTctC1msxn5+flOt7okiswAERERqUm1ACgnJweiKCI0NNSpPDQ0FJmZmVW+5syZM/j8888hiiK+/vprzJkzB2+99Rb+8pe/OI6Jj4/H6tWrsXnzZrz33ns4e/Ys7r77bhQUFNywLSkpKfDz83PcoqKiXHOSN2BzZIAYABEREamhfg2OuQVJkhASEoL3338fWq0WcXFxuHDhAhYvXox58+YBAAYMGOA4vnPnzoiPj0d0dDQ+++wzPP3001XWO2PGDCQnJzse5+fn12kQZHOMAWIXGBERkRpUC4CCgoKg1WqRlZXlVJ6VlXXD8Tvh4eHQ6/XQarWOsg4dOiAzMxMWiwUGg6HSa/z9/dG2bVucOnXqhm0xGo0wGo01PJPq42aoRERE6lItBWEwGBAXF4e0tDRHmSRJSEtLQ0JCQpWv6dOnD06dOgWprAsJAE6cOIHw8PAqgx8AKCwsxOnTpxEeHu7aE6gFboZKRESkLlX7YJKTk/HBBx/gww8/xLFjxzBp0iQUFRU5ZoWNHTsWM2bMcBw/adIkXL16FVOnTsWJEyfw1VdfYdGiRZg8ebLjmGnTpmHnzp34/fffsXv3bgwdOhRarRYjR450+/ndiI0rQRMREalK1TFAw4cPx+XLlzF37lxkZmaia9eu2Lx5s2NgdEZGBjQVgoSoqChs2bIFL730Ejp37ozIyEhMnToVr7zyiuOY8+fPY+TIkbhy5QqCg4PRt29f/PjjjwgODnb7+d2IPQPEQdBERETqEGRZltVuRH2Tn58PPz8/5OXlwdfX1+X1r/7hLK4VW/FEj+ZoHuDp8vqJiIiaoupcv9kHo4LyDBB//URERGrgFVgFNm6FQUREpCoGQCqwD4LWcxA0ERGRKngFdjNZlsszQBwETUREpAoGQG4mSjLsw865ECIREZE6GAC5mT37AzAAIiIiUgsDIDezB0CCwEHQREREamEA5GZihX3ABIEBEBERkRoYALmZtWwfMx3XACIiIlINr8JuJkrcCZ6IiEhtDIDczOrYCJUBEBERkVoYALmZ6FgDiL96IiIitfAq7GbWskHQemaAiIiIVMMAyM1E7gNGRESkOgZAbmYfA8Sd4ImIiNTDq7CbMQNERESkPgZAbmaT7BkgBkBERERqYQDkZjbRngHir56IiEgtvAq7mX0vMB0zQERERKphAORm9gBIzwwQERGRangVdjNb2SwwDoImIiJSDwMgN3NkgNgFRkREpBoGQG5WPgiaARAREZFaGAC5Wfk0eP7qiYiI1MKrsBtZbBK+OnwJP565AkmW1W4OERFRk8UAyM3EssBHx1lgREREquFV2M1kpQcMOo4BIiIiUg0DIDezd31xIUQiIiL1MAByM0cAxAwQERGRahgAuVnZMkDQcRYYERGRanRqN2DZsmVYvHgxMjMz0aVLF7z77rvo1avXDY/Pzc3FrFmzsGHDBly9ehXR0dFITU3FwIEDa1ynO9kzQFwHiIjIPURRhNVqVbsZ5AJ6vR5ardYldakaAK1btw7JyclYvnw54uPjkZqaiqSkJKSnpyMkJKTS8RaLBQ8++CBCQkLw+eefIzIyEn/88Qf8/f1rXKe7SY69wBgAERHVJVmWkZmZidzcXLWbQi7k7++PsLAwCELtrqOCLKu3IE18fDx69uyJpUuXAgAkSUJUVBSef/55TJ8+vdLxy5cvx+LFi3H8+HHo9XqX1FmV/Px8+Pn5IS8vD76+vjU8u8pKLSLGrdoHAHh/TA/4eVZ9DkREVHuXLl1Cbm4uQkJC4OnpWesLJqlLlmUUFxcjOzsb/v7+CA8Pr3RMda7fqmWALBYL9u/fjxkzZjjKNBoNEhMTsWfPnipf8+WXXyIhIQGTJ0/GF198geDgYIwaNQqvvPIKtFptjeoEALPZDLPZ7Hicn5/vgjOszL4KNMBZYEREdUkURUfw06xZM7WbQy5iMpkAANnZ2QgJCalVd5hqI3FzcnIgiiJCQ0OdykNDQ5GZmVnla86cOYPPP/8coiji66+/xpw5c/DWW2/hL3/5S43rBICUlBT4+fk5blFRUbU8u6rZN0IFOAuMiKgu2cf8eHp6qtwScjX7Z1rbcV0NaiqSJEkICQnB+++/j7i4OAwfPhyzZs3C8uXLa1XvjBkzkJeX57idO3fORS12Zt8IVSMITMUSEbmBK75rLTYJf9t6An/begIWm3TrF1CdctX1U7UAKCgoCFqtFllZWU7lWVlZCAsLq/I14eHhaNu2rVPKq0OHDsjMzITFYqlRnQBgNBrh6+vrdKsL9gwQYx8iInKnmJgYpKamqt2MekW1AMhgMCAuLg5paWmOMkmSkJaWhoSEhCpf06dPH5w6dQpShbE0J06cQHh4OAwGQ43qdCf7GCAtIyAiIqqCUNZDcKPb/Pnza1TvTz/9hGeffda1jW3gVJ0Gn5ycjHHjxqFHjx7o1asXUlNTUVRUhAkTJgAAxo4di8jISKSkpAAAJk2ahKVLl2Lq1Kl4/vnncfLkSSxatAgvvPDCbdepJlFkBoiIiG7s0qVLjvvr1q3D3LlzkZ6e7ijz9vZ23JdlGaIoQqe79aU8ODjYtQ1tBFQdAzR8+HC8+eabmDt3Lrp27YqDBw9i8+bNjkHMGRkZTn8MUVFR2LJlC3766Sd07twZL7zwAqZOneo0vf1WdarJWtYFpuEAaCIiqkJYWJjj5ufnB0EQHI+PHz8OHx8ffPPNN4iLi4PRaMSuXbtw+vRpPProowgNDYW3tzd69uyJbdu2OdV7fReYIAj4xz/+gaFDh8LT0xNt2rTBl19+6eazVZfqK0FPmTIFU6ZMqfK5HTt2VCpLSEjAjz/+WOM61SSWBUDsAiMicj9ZlmEVq7/0ncUmOb6/azoIWq913eSX6dOn480330RsbCwCAgJw7tw5DBw4EK+99hqMRiM++ugjDB48GOnp6WjRosUN61mwYAHeeOMNLF68GO+++y5Gjx6NP/74A4GBgS5pZ32negDUlNhE5R8O4x8iIvezijKWbT9V7deJkoyffr/qeFyTrYwm398aBp1rvvxfffVVPPjgg47HgYGB6NKli+PxwoULsXHjRnz55Zc3TQaMHz8eI0eOBAAsWrQI77zzDvbt24f+/fu7pJ31XYOaBt/Q2ZgBIiKiWurRo4fT48LCQkybNg0dOnSAv78/vL29cezYMWRkZNy0ns6dOzvue3l5wdfXF9nZ2XXS5vqIGSA3Kp8GzwCIiMjd9FoBk+9vXe3XVez2eu7eVjDoqp870Ltw9X8vLy+nx9OmTcPWrVvx5ptvonXr1jCZTHj88cdhsVhu3qbrtpQSBMFplnVjxwDIjcSyPywN825ERG4nCEKNu6Hs3V4GnaZGAVBd+uGHHzB+/HgMHToUgJIR+v3339VtVANQvz7FRs5aYSVoIiIiV2jTpg02bNiAgwcP4tChQxg1alSTyuTUFAMgN2rub0JUgCcCPQ1qN4WIiBqJJUuWICAgAL1798bgwYORlJSE7t27q92seo9dYG4U7m9CZIBJ7WYQEVEDMH78eIwfP97x+L777oMsV57GHxMTg2+//dapbPLkyU6Pr+8Sq6qe3NzcGre1IWIGiIiIiJocZoCIiIhuwqDT4KUH26rdDHIxZoCIiIioyWEARERERE0OAyAiIiJqchgAERERUZPDAIiIiIiaHAZARERE1ORwGjwREdHN2CzA928p9+/+M6Djav6NATNAREREjch9992HF1980fE4JiYGqampN32NIAjYtGlTrd/bVfW4AwMgIiKiemLw4MHo379/lc99//33EAQBhw8frladP/30E5599llXNM9h/vz56Nq1a6XyS5cuYcCAAS59r7rCAIiIiKieePrpp7F161acP3++0nOrVq1Cjx490Llz52rVGRwcDE9PT1c18abCwsJgNBrd8l61xQCIiIionnj44YcRHByM1atXO5UXFhZi/fr1GDJkCEaOHInIyEh4enqiU6dO+PTTT29a5/VdYCdPnsQ999wDDw8PdOzYEVu3bq30mldeeQVt27aFp6cnYmNjMWfOHFitVgDA6tWrsWDBAhw6dAiCIEAQBEd7r+8CO3LkCB544AGYTCY0a9YMzz77LAoLCx3Pjx8/HkOGDMGbb76J8PBwNGvWDJMnT3a8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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(all_vanilla_history, \"VanillaMLP\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'opt': , 'opt_config': {'lr': 0.016983872126037327, 'momentum': False}, 'loss': , 'model_params': {'in_channels': 28, 'hidden_size': 659, 'level': 3, 'out_channels': 10}}\n" - ] - } - ], - "source": [ - "with open(\"../results/optimization/wavmlp_baysianopt.json\", 'r') as f: \n", - " wav_params = json.load(f)\n", - "\n", - "wav_params_guass = pd.DataFrame(wav_params).iloc[pd.DataFrame(wav_params)['target'].idxmax()]['params']\n", - "\n", - "wav_params = select_params(\n", - " hidden_size=wav_params_guass['hidden_size'], \n", - " loss_id=wav_params_guass['loss_id'], \n", - " level=wav_params_guass['level'], \n", - " optimizer_class_id=wav_params_guass['optimizer_class_id'], \n", - " optimizer_lr=wav_params_guass['optimizer_lr'], \n", - " optimizer_momentum_id=wav_params_guass['optimizer_momentum_id']\n", - ")\n", - "print(wav_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/maggiev-local/repo/wavNN/wavNN/models/wavelet_layer.py:13: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/torch/csrc/utils/tensor_new.cpp:233.)\n", - " \"pywt\": lambda x: torch.Tensor(pywt.wavedec2(x, \"db1\")[level]),\n" - ] - } - ], - "source": [ - "all_wavNN_history = {}\n", - "num_tests = 10\n", - "\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=wav_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=wav_params['opt'],\n", - " optimizer_config=wav_params['opt_config'],\n", - " loss=wav_params['loss'],\n", - " epochs=80,\n", - " )\n", - "\n", - " training()\n", - " all_wavNN_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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6gupoeBdnc5Tc+Pi1NhERKHB5QC+fkV+ftlvAZ1B3fKQX7Dmxo+8Q8EdLjZLERGR/11xxRV4+OGHldeZmZl49dVX23yPIAhYv379RX+2v64TDAw3fqRM4seaGyIiOkd+fj6uvfbaVo99/fXXEAQBP/74Y4euuXPnTtxzzz3+KJ7i+eefx4gRI1rsLy0tRV5enl8/K1AYbvyoqUMxww0REfn69a9/jY0bN+LEiRMtji1btgxjxozB8OHDO3TNxMREmM1mfxWxTSkpKUFbzuhiMdz4kTJDMZuliIjoHD//+c+RmJjYYg63uro6rF27FjfccANuu+02pKenw2w2Y9iwYXj//ffbvOa5zVKHDx/Gz372M5hMJgwZMgQbN25s8Z4nnngCAwYMgNlsRp8+ffDMM8/A6XQCkOeXW7hwIfbs2QNBECAIglLec5ul9u7diyuvvBIRERFISEjAPffcg7q6OuX4HXfcgRtuuAF/+tOfkJqaioSEBDzwwAPKZwUSOxT7kbdZyslmKSKi4JIkwN2JX5puByC6m553hlYPCMIFT9PpdJg1axaWL1+OBQsWQPC8Z+3atXC73fjVr36FtWvX4oknnkBMTAw++eQT3H777ejbty/GjRt3weuLooibbroJycnJ+O6772C1Wn3653hFR0dj+fLlSEtLw969e3H33XcjOjoajz/+OKZPn459+/bhs88+w+effw4AsFgsLa5hs9kwZcoU5OTkYOfOnaioqMBdd92FBx980Ce8bd68Gampqdi8eTOOHDmC6dOnY8SIEbj77rsveD8Xg+HGj5RmKRfDDRFRULmdTaOeOkJ0A8XfyM+3AtBoO36NDoyymjNnDl5++WV89dVXuOKKKwDITVI333wzevfujccee0w5d+7cudiwYQPWrFnTrnDz+eef48CBA9iwYYOy3uJLL73Uop/M008/rTzPzMzEY489hlWrVuHxxx9HREQEoqKioNPpkJKSct7PWrlyJRobG/Hee+8hMjISAPD6668jPz8ff/zjH5GcnAwAiIuLw+uvvw6tVotBgwZh2rRp2LRpU8DDDZul/EivdChmsxQREbU0aNAgTJgwAe+88w4A4MiRI/j666/x61//Gm63Gy+88AKGDRuG+Ph4REVFYcOGDT5rLLZl//79yMjI8FlIOicnp8V5q1evRm5uLlJSUhAVFYWnn3663Z/R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tE779NNPpQULFkgffvihBEBat26dz/E//OEPksVikdavXy/t2bNHuu6666SsrCypoaFBnQJ30JQpU6Rly5ZJ+/btkwoKCqSpU6dKvXr1kurq6pRz7r33XikjI0PatGmTtGvXLunSSy+VJkyYoGKpO+ajjz6SPvnkE+nQoUPSwYMHpaeeekrS6/XSvn37JEkK/fs7144dO6TMzExp+PDh0rx585T94XCfzz33nDR06FCptLRU2U6fPq0cD4d7rKqqknr37i3dcccd0nfffScVFhZKGzZskI4cOaKcE+o/dyoqKny+w40bN0oApM2bN0uSFB7f44svviglJCRI//rXv6SioiJp7dq1UlRUlPSXv/xFOScY3yPDjR+MGzdOeuCBB5TXbrdbSktLkxYtWqRiqfzn3HAjiqKUkpIivfzyy8q+6upqyWg0Su+//74KJbx4FRUVEgDpq6++kiRJvh+9Xi+tXbtWOWf//v0SAGn79u1qFfOixcXFSW+99VbY3V9tba3Uv39/aePGjdLll1+uhJtwuc/nnntOys7ObvVYuNzjE088IU2cOPG8x8Px5868efOkvn37SqIohs33OG3aNGnOnDk++2666SZp5syZkiQF73tks9RFcjgc+P777zF58mRln0ajweTJk7F9+3YVSxY4RUVFKCsr87lni8WC8ePHh+w9W61WAEB8fDwA4Pvvv4fT6fS5x0GDBqFXr14heY9utxurVq2CzWZDTk5O2N3fAw88gGnTpvncDxBe3+Phw4eRlpaGPn36YObMmSguLgYQPvf40UcfYcyYMfjFL36BpKQkjBw5En//+9+V4+H2c8fhcOAf//gH5syZA0EQwuZ7nDBhAjZt2oRDhw4BAPbs2YOtW7ciLy8PQPC+x263cKa/VVZWwu12Izk52Wd/cnIyDhw4oFKpAqusrAwAWr1n77FQIooiHn74YeTm5uKSSy4BIN+jwWBAbGysz7mhdo979+5FTk4OGhsbERUVhXXr1mHIkCEoKCgIi/sDgFWrVuGHH37Azp07WxwLl+9x/PjxWL58OQYOHIjS0lIsXLgQl112Gfbt2xc291hYWIilS5fi0UcfxVNPPYWdO3fioYcegsFgwOzZs8Pu58769etRXV2NO+64A0D4/F198sknUVNTg0GDBkGr1cLtduPFF1/EzJkzAQTv9wfDDXV7DzzwAPbt24etW7eqXRS/GzhwIAoKCmC1WvHBBx9g9uzZ+Oqrr9Qult+UlJRg3rx52LhxI0wmk9rFCRjv/3oBYPjw4Rg/fjx69+6NNWvWICIiQsWS+Y8oihgzZgxeeuklAMDIkSOxb98+vPHGG5g9e7bKpfO/t99+G3l5eUhLS1O7KH61Zs0arFixAitXrsTQoUNRUFCAhx9+GGlpaUH9HtksdZF69OgBrVbbokd7eXk5UlJSVCpVYHnvKxzu+cEHH8S//vUvbN68GT179lT2p6SkwOFwoLq62uf8ULtHg8GAfv36YfTo0Vi0aBGys7Pxl7/8JWzu7/vvv0dFRQVGjRoFnU4HnU6Hr776Cq+99hp0Oh2Sk5PD4j7PFRsbiwEDBuDIkSNh812mpqZiyJAhPvsGDx6sNL+F08+d48eP4/PPP8ddd92l7AuX7/F3v/sdnnzySfzyl7/EsGHDcPvtt+ORRx7BokWLAATve2S4uUgGgwGjR4/Gpk2blH2iKGLTpk3IyclRsWSBk5WVhZSUFJ97rqmpwXfffRcy9yxJEh588EGsW7cOX3zxBbKysnyOjx49Gnq93uceDx48iOLi4pC5x9aIogi73R4293fVVVdh7969KCgoULYxY8Zg5syZyvNwuM9z1dXV4ejRo0hNTQ2b7zI3N7fFdAyHDh1C7969AYTHzx2vZcuWISkpCdOmTVP2hcv3WF9fD43GN1potVqIogggiN+j37omd2OrVq2SjEajtHz5cumnn36S7rnnHik2NlYqKytTu2idVltbK+3evVvavXu3BEBavHixtHv3bun48eOSJMlD+WJjY6V//vOf0o8//ihdf/31ITUk87777pMsFov05Zdf+gzNrK+vV8659957pV69eklffPGFtGvXLiknJ0fKyclRsdQd8+STT0pfffWVVFRUJP3444/Sk08+KQmCIP3nP/+RJCn07+98mo+WkqTwuM/f/va30pdffikVFRVJ27ZtkyZPniz16NFDqqiokCQpPO5xx44dkk6nk1588UXp8OHD0ooVKySz2Sz94x//UM4J9Z87kiSPpu3Vq5f0xBNPtDgWDt/j7NmzpfT0dGUo+Icffij16NFDevzxx5VzgvE9Mtz4yV//+lepV69eksFgkMaNGyd9++23ahfpomzevFkC0GKbPXu2JEnycL5nnnlGSk5OloxGo3TVVVdJBw8eVLfQHdDavQGQli1bppzT0NAg3X///VJcXJxkNpulG2+8USotLVWv0B00Z84cqXfv3pLBYJASExOlq666Sgk2khT693c+54abcLjP6dOnS6mpqZLBYJDS09Ol6dOn+8z/Eg73KEmS9PHHH0uXXHKJZDQapUGDBklvvvmmz/FQ/7kjSZK0YcMGCUCr5Q6H77GmpkaaN2+e1KtXL8lkMkl9+vSRFixYINntduWcYHyPgiQ1mzaQiIiIKMSxzw0RERGFFYYbIiIiCisMN0RERBRWGG6IiIgorDDcEBERUVhhuCEiIqKwwnBDREREYYXhhogIgCAIWL9+vdrFICI/YLghItXdcccdEAShxXbttdeqXTQiCkE6tQtARAQA1157LZYtW+azz2g0qlQaIgplrLkhoi7BaDQiJSXFZ4uLiwMgNxktXboUeXl5iIiIQJ8+ffDBBx/4vH/v3r248sorERERgYSEBNxzzz2oq6vzOeedd97B0KFDYTQakZqaigcffNDneGVlJW688UaYzWb0798fH330UWBvmogCguGGiELCM888g5tvvhl79uzBzJkz8ctf/hL79+8HANhsNkyZMgVxcXHYuXMn1q5di88//9wnvCxduhQPPPAA7rnnHuzduxcfffQR+vXr5/MZCxcuxK233ooff/wRU6dOxcyZM1FVVRXU+yQiP/DrMpxERJ0we/ZsSavVSpGRkT7biy++KEmSvIr7vffe6/Oe8ePHS/fdd58kSZL05ptvSnFxcVJdXZ1y/JNPPpE0Go1UVlYmSZIkpaWlSQsWLDhvGQBITz/9tPK6rq5OAiD9+9//9tt9ElFwsM8NEXUJkyZNwtKlS332xcfHK89zcnJ8juXk5KCgoAAAsH//fmRnZyMyMlI5npubC1EUcfDgQQiCgFOnTuGqq65qswzDhw9XnkdGRiImJgYVFRWdvSUiUgnDDRF1CZGRkS2aifwlIiKiXefp9Xqf14IgQBTFQBSJiAKIfW6IKCR8++23LV4PHjwYADB48GDs2bMHNptNOb5t2zZoNBoMHDgQ0dHRyMzMxKZNm4JaZiJSB2tuiKhLsNvtKCsr89mn0+nQo0cPAMDatWsxZswYTJw4EStWrMCOHTvw9ttvAwBmzpyJ5557DrNnz8bzzz+P06dPY+7cubj99tuRnJwMAHj++edx7733IikpCXl5eaitrcW2bdswd+7c4N4oEQUcww0RdQmfffYZUlNTffYNHDgQBw4cACCPZFq1ahXuv/9+pKam4v3338eQIUMAAGazGRs2bMC8efMwduxYmM1m3HzzzVi8eLFyrdmzZ6OxsRF//vOf8dhjj6FHjx645ZZbgneDRBQ0giRJktqFICJqiyAIWLduHW644Qa1i0JEIYB9boiIiCisMNwQERFRWGGfGyLq8th6TkQdwZobIiIiCisMN0RERBRWGG6IiIgorDDcEBERUVhhuCEiIqKwwnBDREREYYXhhoiIiMIKww0RERGFFYYbIiIiCiv/P6GNeS4BZGKNAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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evXC0qVLYTKZsGzZsiaPj46ORmJiouexceNGmEwmTwASQmDx4sV49tlnccstt6Bv37745z//icLCQnz66afNrl+rqa8CADh0YYCkgZYtQERERH7T7EHQc+bMwW233YYjR47guuuuAwDk5ubiww8/xMcff9ysc9lsNuzYsQOzZ8/2lGk0GuTk5GDLli0XdI533nkHd999N0JCQgAAx44dQ3FxMXJycjzHREREICsrC1u2bGlyrSKr1Qqr1er5uSUtWc1WXwkAsBnCABnQcxYYERGR3zS7BWj06NH49NNPcfjwYfz+97/HH/7wB5w8eRJffvklunTp0qxzlZeXw+l0IiEhwas8ISEBxcXFv/n+7du3Y9++fXjggQc8Ze73NeecCxcuREREhOeRkpLSrOtokbpKAIBNFw4A0HEjVCIiIr9p0V131KhR2Lx5MywWC44ePYq77roLTz75JPr16+fr+p3XO++8g8zMTAwePPiizjN79mxUVVV5HgUFBT6q4Xm4W4D0SgDSsgWIiIjIb1rc7PDNN99g0qRJSE5OxquvvorrrrsOW7dubdY5YmNjodVqUVJS4lVeUlKCxMTE877XYrFgxYoVuP/++73K3e9rzjmNRiPCw8O9Hq3O1QJUrw0DAOjZAkREROQ3zbrrFhcX48UXX0TXrl1x5513Ijw8HFarFZ9++ilefPFFDBo0qFkfbjAYMGDAAOTm5nrKZFlGbm4usrOzz/ve1atXw2q14t577/Uq79SpExITE73OaTabsW3btt88p1+5BkG7AxBXgiYiIvKfCw5Ao0ePRvfu3bFnzx4sXrwYhYWFeP311y+6AjNnzsTbb7+N9957D/v378fUqVNhsVgwZcoUAMDEiRO9Bkm7vfPOOxgzZkyjHeglScLjjz+OP//5z1i7di327t2LiRMnIjk5GWPGjLno+vqE06FMg4eyCCIArgNERETkRxc8C+y///0vHnvsMUydOtWnW2CMHTsWZWVleO6551BcXIz+/ftj/fr1nkHM+fn50JzVPZSXl4fvvvsOn3/+eZPn/OMf/wiLxYKHHnoIlZWVGDZsGNavX4+goCCf1fuiuFp/oNXDKhkBOLgVBhERkR9JQghxIQdu3boV77zzDlauXImePXtiwoQJuPvuu5GUlITdu3e3aA2gS5XZbEZERASqqqpaZzzQqSPAnlVAaBw+1Y3E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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(all_wavNN_history, \"WavMLP\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'opt': , 'opt_config': {'lr': 0.05479500771794423, 'momentum': False}, 'loss': , 'model_params': {'in_channels': 28, 'hidden_size': 605, 'level': 0, 'out_channels': 10}}\n" - ] - } - ], - "source": [ - "# Open the params and do the variance test\n", - "with open(\"../results/optimization/vanilla_split_baysianopt.json\", 'r') as f: \n", - " vanilla_split_params = json.load(f)\n", - "\n", - "vanilla_split_params_guass = pd.DataFrame(vanilla_split_params).iloc[pd.DataFrame(vanilla_split_params)['target'].idxmax()]['params']\n", - "\n", - "vanilla_split_params = select_params(\n", - " hidden_size=vanilla_split_params_guass['hidden_size'], \n", - " loss_id=vanilla_split_params_guass['loss_id'], \n", - " level=0, \n", - " optimizer_class_id=vanilla_split_params_guass['optimizer_class_id'], \n", - " optimizer_lr=vanilla_split_params_guass['optimizer_lr'], \n", - " optimizer_momentum_id=vanilla_split_params_guass['optimizer_momentum_id']\n", - ")\n", - "print(vanilla_split_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "all_vanilla_split_history = {}\n", - "num_tests = 10\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "vanilla_split_params['model_params'].pop(\"level\")\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=BananaSplitMLP,\n", - " model_params=vanilla_split_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=vanilla_split_params['opt'],\n", - " optimizer_config=vanilla_split_params['opt_config'],\n", - " loss=vanilla_split_params['loss'],\n", - " epochs=80,\n", - " )\n", - "\n", - " training()\n", - " all_vanilla_split_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYsUlEQVR4nO3deXhTZf428PtkT7qk+0pLEZBFZJHNigpoFZBBQRkRUcENF2BAxldhRDYH0Rl1QGHgp6MwOiKIg8i4IVRQERREi6CsslWgG9A1zf68f6RJE1pKW5Ickt6f68qV5OTk5DmNtjffZzmSEEKAiIiIKEwo5G4AERERkT8x3BAREVFYYbghIiKisMJwQ0RERGGF4YaIiIjCCsMNERERhRWGGyIiIgorDDdEREQUVhhuiIiIKKww3BAR1WP58uWQJAlHjx71bBswYAAGDBggW5uIqHEYbohCkPsPr/ctKSkJAwcOxGeffSZ382Sxe/dujBw5Eq1bt4ZOp0N6ejpuuukmvPbaawH7zJMnT2L27NnIy8tr1P7e39uWLVvqvC6EQEZGBiRJwh/+8Aef1yRJwsSJExs8/oABA3z+m4iLi0Pv3r3x1ltvwel0Nvq8iEKdSu4GEFHzzZ07F23atIEQAoWFhVi+fDluueUW/O9//6vzxzGcbd26FQMHDkRmZiYefvhhpKSkID8/H9999x0WLlyISZMm+eVzvvjiC5/nJ0+exJw5c5CVlYXu3bs3+jg6nQ4rVqzAtdde67P9q6++wu+//w6tVtvsNrZq1Qrz588HABQXF+Ptt9/Ggw8+iAMHDuCFF15o9nGJQgnDDVEIGzJkCHr16uV5/uCDDyI5ORnvvfdeiwo38+bNg9FoxI4dOxATE+PzWlFRkd8+R6PR+OU4t9xyC1avXo1XX30VKlXtr+EVK1agZ8+eKCkpafaxjUYj7rnnHs/zRx55BB06dMCiRYvw3HPPQa1WX1TbiUIBu6WIwkhMTAz0er3PH0wAeOmll3DNNdcgPj4eer0ePXv2xAcffFDn/e6uj7Vr16JLly7QarW44oor8Pnnn/vsd+zYMTz++OPo0KED9Ho94uPj8cc//tFnfApQ2w3z7bffYurUqUhMTERERARGjBiB4uJin30/+ugjDB06FGlpadBqtWjbti2ee+45OByOC573b7/9hiuuuKJOsAGApKSkes/x3XffRYcOHaDT6dCzZ098/fXXF/wc7zE3mzdvRu/evQEA999/v6craPny5Rc8zujRo3H69Gls2LDBs81qteKDDz7A3XfffcH3N4XBYMDVV1+NqqqqOj9zonDFcEMUwsrKylBSUoLi4mL88ssveOyxx1BZWenzL3cAWLhwIXr06IG5c+fi+eefh0qlwh//+Ed88skndY65ZcsWPP7447jrrrvwt7/9DWazGXfccQdOnz7t2WfHjh3YunUr7rrrLrz66qt49NFHkZubiwEDBsBkMtU55qRJk7Br1y7MmjULjz32GP73v//VGT+yfPlyREZGYurUqVi4cCF69uyJmTNnYtq0aRf8ObRu3Ro7d+7Enj17GvVz++qrrzBlyhTcc889mDt3Lk6fPo3Bgwc3+v0A0KlTJ8ydOxcAMH78eLzzzjt45513cP3111/wvVlZWcjOzsZ7773n2fbZZ5+hrKwMd911V6Pb0FiHDx+GUqmsN/wRhSVBRCFn2bJlAkCdm1arFcuXL6+zv8lk8nlutVpFly5dxA033OCzHYDQaDTi0KFDnm27du0SAMRrr7123uMJIcS2bdsEAPH222/XaWdOTo5wOp2e7U888YRQKpWitLS0wWM+8sgjwmAwCLPZ3NCPQ3zxxRdCqVQKpVIpsrOzxVNPPSXWr18vrFZrnX3dP6sffvjBs+3YsWNCp9OJESNG1Gn7kSNHPNv69+8v+vfv73m+Y8cOAUAsW7aswfade8wdO3aIRYsWiaioKM95//GPfxQDBw4UQgjRunVrMXTo0DrtnjBhQoPH79+/v+jYsaMoLi4WxcXFYu/eveJPf/qTACCGDRvWqDYShQNWbohC2OLFi7FhwwZs2LAB//nPfzBw4EA89NBDWLNmjc9+er3e8/js2bMoKyvDddddhx9//LHOMXNyctC2bVvP865duyI6OhqHDx+u93g2mw2nT59Gu3btEBMTU+8xx48fD0mSPM+vu+46OBwOHDt2rN5jVlRUoKSkBNdddx1MJhP27dvX4M/hpptuwrZt23Drrbdi165d+Nvf/oZBgwYhPT0d69atq7N/dnY2evbs6XmemZmJ2267DevXr29UN5g/3HnnnaiursbHH3+MiooKfPzxx37pktq3bx8SExORmJiITp064bXXXsPQoUPx1ltv+aHVRKGBA4qJQlifPn18BhSPHj0aPXr0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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkp0lEQVR4nO3deXhTVeI+8Dd70r10bykta1lkk6UWQVBRNlEYVEBUQBRRQJFxFBQE9KuMyyC4jP7GEXBDEAcYxw2xKoqAIDvKvpWlO7Tplu3m/P64SUpowba2uW3yfp4nD8nJzc25Tcl9e7arEkIIEBEREQUQtdIVICIiIvI1BiAiIiIKOAxAREREFHAYgIiIiCjgMAARERFRwGEAIiIiooDDAEREREQBhwGIiIiIAg4DEBEREQUcBiAiojpavnw5VCoVTp486SkbMGAABgwYoFidiKhmGICI/JT75HzxLTY2Ftdffz2++uorpauniH379uH2229HSkoKjEYjkpKScNNNN+H1119vsPc8d+4c5s+fj927d9do+4s/t02bNlV5XgiB5ORkqFQq3HLLLV7PqVQqTJs27Yr7HzBggNfvRLNmzdCrVy8sXboUTqezxsdF1NRpla4AETWsZ599Fi1btoQQArm5uVi+fDmGDh2K//3vf1VOoP5s8+bNuP7669GiRQs88MADiI+Px+nTp7F161YsWbIE06dPr5f3+eabb7wenzt3DgsWLEBqaiq6detW4/0YjUasWLECffv29SrfuHEjzpw5A4PBUOc6Nm/eHAsXLgQA5Ofn4/3338ekSZNw+PBh/P3vf6/zfomaEgYgIj83ZMgQ9OzZ0/N40qRJiIuLw8cffxxQAej5559HeHg4tm/fjoiICK/n8vLy6u199Hp9vexn6NChWL16NV577TVotZVf1StWrECPHj1QUFBQ532Hh4fj7rvv9jx+8MEHkZaWhjfeeAPPPfccdDrdn6o7UVPALjCiABMREQGTyeR1UgWAV155BX369EFUVBRMJhN69OiBTz/9tMrr3d0s69atw1VXXQWDwYBOnTrh66+/9tru1KlTePjhh5GWlgaTyYSoqCjccccdXuNlgMoun59//hkzZ85ETEwMgoODMXLkSOTn53tt+9///hfDhg1DYmIiDAYDWrdujeeeew6SJP3hcR87dgydOnWqEn4AIDY2ttpj/Oijj5CWlgaj0YgePXrgxx9//MP3uXgM0A8//IBevXoBACZOnOjpdlq+fPkf7mfs2LEoLCzEhg0bPGU2mw2ffvop7rrrrj98fW0EBQXhmmuuQVlZWZWfOZG/YgAi8nPFxcUoKChAfn4+fvvtNzz00EMoLS31agEAgCVLlqB79+549tln8cILL0Cr1eKOO+7AF198UWWfmzZtwsMPP4wxY8bgpZdegsViwahRo1BYWOjZZvv27di8eTPGjBmD1157DVOmTEFmZiYGDBiA8vLyKvucPn069uzZg3nz5uGhhx7C//73vyrjWZYvX46QkBDMnDkTS5YsQY8ePfDMM89g1qxZf/hzSElJwY4dO7B///4a/dw2btyIGTNm4O6778azzz6LwsJCDB48uMavB4AOHTrg2WefBQBMnjwZH3zwAT744ANcd911f/ja1NRUZGRk4OOPP/aUffXVVyguLsaYMWNqXIeaOn78ODQaTbUBkcgvCSLyS8uWLRMAqtwMBoNYvnx5le3Ly8u9HttsNnHVVVeJG264wascgNDr9eLo0aOesj179ggA4vXXX7/s/oQQYsuWLQKAeP/996vUc+DAgcLpdHrKH3vsMaHRaERRUdEV9/nggw+KoKAgYbFYrvTjEN98843QaDRCo9GIjIwM8cQTT4j169cLm81WZVv3z+rXX3/1lJ06dUoYjUYxcuTIKnU/ceKEp6x///6if//+nsfbt28XAMSyZcuuWL9L97l9+3bxxhtviNDQUM9x33HHHeL6668XQgiRkpIihg0bVqXeU6dOveL++/fvL9q3by/y8/NFfn6+OHDggHjkkUcEADF8+PAa1ZHIH7AFiMjPvfnmm9iwYQM2bNiADz/8ENdffz3uv/9+rFmzxms7k8nkuX/hwgUUFxejX79+2LlzZ5V9Dhw4EK1bt/Y87tKlC8LCwnD8+PFq92e321FYWIg2bdogIiKi2n1OnjwZKpXK87hfv36QJAmnTp2qdp8lJSUoKChAv379UF5ejoMHD17x53DTTTdhy5YtuPXWW7Fnzx689NJLGDRoEJKSkvDZZ59V2T4jIwM9evTwPG7RogVuu+02rF+/vkZdbvXhzjvvREVFBT7//HOUlJTg888/r5fur4MHDyImJgYxMTHo0KEDXn/9dQwbNgxLly6th1oTNQ0cBE3k53r37u01CHrs2LHo3r07pk2bhltuucUzaPfzzz/H//3f/2H37t2wWq2e7S8OJW4tWrSoUhYZGYkLFy54HldUVGDhwoVYtmwZzp49CyGE57ni4uI/3GdkZCQAeO3zt99+w5w5c/Ddd9/BbDZ7bV/dPi/Vq1cvrFmzBjabDXv27MHatWvx6quv4vbbb8fu3bvRsWNHz7Zt27at8vp27dqhvLwc+fn5iI+P/8P3+7NiYmIwcOBArFixAuXl5ZAkCbfffvuf3m9qaireeecdqFQqGI1GtG3btso4KCJ/xwBEFGDUajWuv/56LFmyBEeOHEGnTp3w008/4dZbb8V1112Hf/7zn0hISIBOp8OyZcuwYsWKKvvQaDTV7vvikDN9+nQsW7YMM2bMQEZGBsLDw6FSqTBmzJhq15v5o30WFRWhf//+CAsLw7PPPovWrVvDaDRi586dePLJJ2u1ho1er0evXr3Qq1cvtGvXDhMnTsTq1asxb968Gu/DV+666y488MADyMnJwZAhQ+pljE5wcDAGDhz45ytH1IQxABEFIIfDAQAoLS0FAPznP/+B0WjE+vXrvdaXWbZsWZ3f49NPP8X48ePxj3/8w1NmsVhQVFRUp/398MMPKCwsxJo1a7wGEZ84caLOdQTgaR3Lzs72Kj9y5EiVbQ8fPoygoCDExMTUeP/VtaDVxsiRI/Hggw9i69atWLVq1Z/aFxFV4hggogBjt9vxzTffQK/Xo0OHDgDk1heVSuU1tuXkyZNYt25dnd9Ho9F4tQgBwOuvv17n8TPuFqKL92mz2fDPf/6zRq///vvvq9QHAL788ksAQFpamlf5li1bvMYqnT59Gv/9739x8803X7a1qjrBwcEAUOfgFxISgrfeegvz58/H8OHD67QPIqqKLUBEfu6rr77yDBDOy8vDihUrcOTIEcyaNQthYWEAgGHDhmHRokUYPHgw7rrrLuTl5eHNN99EmzZtsHfv3jq97y233IIPPvgA4eHh6NixI7Zs2YJvv/0WUVFRddpfnz59EBkZifHjx+ORRx6BSqXCBx98UG2oqc706dNRXl6OkSNHon379rDZbNi8eTNWrVqF1NRUTJw40Wv7q666CoMGDcIjjzwCg8HgCVoLFiyoVb1bt26NiIgIvP322wgNDUVwcDDS09PRsmXLGu9j/PjxNd72119/xf/93/9VKR8wYECVVaWJAhkDEJGfe+aZZzz3jUYj2rdvj7feegsPPvigp/yGG27Au+++i7///e+YMWMGWrZsiRdffBEnT56scwBasmQJNBoNPvroI1gsFlx77bX49ttvMWjQoDrtLyoqCp9//jn++te/Ys6cOYiMjMTdd9+NG2+8sUb7fOWVV7B69Wp8+eWX+Ne//gWbzYYWLVrg4Ycfxpw5c6qMrenfvz8yMjKwYMECZGVloWPHjli+fDm6dOlSq3rrdDq89957mD17NqZMmQKHw4Fly5bVKgDVxi+//IJffvmlSvlzzz3HAER0EZWo6Z9PREQBQqVSYerUqXjjjTeUrgoRNRCOASIiIqKAwwBEREREAYcBiIiIiAIOB0ETEV2CQyOJ/B9bgIiIiCjgMAARERFRwGEXWDWcTifOnTuH0NDQP72MPREREfmGEAIlJSVITEyEWn3lNh4GoGqcO3cOycnJSleDiIiI6uD06dNo3rz5FbdhAKpGaGgoAPkH6L5UABERETVuZrMZycnJnvP4lTAAVcPd7RUWFsYARERE1MTUZPgKB0ETERFRwGEAIiIiooDDAEREREQBh2OA/gRJkmC325WuBtUDnU4HjUajdDWIiMhHGIDqQAiBnJwcFBUVKV0VqkcRERGIj4/n2k9ERAGAAagO3OEnNjYWQUFBPGE2cUIIlJeXIy8vDwCQkJCgcI2IiKihMQDVkiRJnvATFRWldHWonphMJgBAXl4eYmNj2R1GROTnOAi6ltxjfoKCghSuCdU392fKcV1ERP6PAaiO2O3lf/iZEhEFDnaBKcTmcOLN748CAKZe3wZ6LbMoERGRr/CsS3WWmpqKxYsXK10NIiKiWmMACgAqleqKt/nz59dpv9u3b8fkyZPrt7JEREQ+wC6wAJCdne25v2rVKjzzzDM4dOiQpywkJMRzXwgBSZKg1f7xr0ZMTEz9VpSIiMhH2AIUAOLj4z238PBwqFQqz+ODBw8iNDQUX331FXr06AGDwYBNmzbh2LFjuO222xAXF4eQkBD06tUL3377rdd+L+0CU6lU+Pe//42RI0ciKCgIbdu2xWeffebjoyUiIiUJIVBucyC7uAIHc8zYfboI206cx89HC/D9wTx8vT8Hn+05hwPZZkXryRageiCEgF0StXqNzeGE5BSe+3Wh06jqbebSrFmz8Morr6BVq1aIjIzE6dOnMXToUDz//PMwGAx4//33MXz4cBw6dAgtWrS47H4WLFiAl156CS+//DJef/11jBs3DqdOnUKzZs3qpZ5EROR7QghYHU6UWh0ot0qwOCRY7U7Pv1aHhFKrA+YKO4or7LBLApJTYPvJ8wCAXqnNoFGrvMqm9G+NDglhih0TA1A9sEvCM6Orpi7+JQAAjbr2QUaePVY/AejZZ5/FTTfd5HncrFkzdO3a1fP4ueeew9q1a/HZZ59h2rRpl93PhAkTMHbsWADACy+8gNdeew3btm3D4MGD66WeRERUv5xOgXK7hFKLA6VW183iQKnVjlKrhFKLHaVWByx2Z5VAA6DaoKNSARFBOozq0RxBeg30GjV0WjUMGjUGpMVAr1UjNtSo2DEDDEDk0rNnT6/HpaWlmD9/Pr744gtkZ2fD4XCgoqICWVlZV9xPly5dPPeDg4MRFhbmucQEERE1LCEEbJITZVYJFXYJFTYJFnvV+xbX41KrAz8dKQDwx6FGo1ZhQFosQgwaGHQaGLRqGF3/XtsmGkF6DcJNOoSbdAg1aqHVNO5RNgxA9UCnUWHq9W1q9ZqLu72m9G9dp3WAdJr6W7gvODjY6/Hjjz+ODRs24JVXXkGbNm1gMplw++23w2azXblOOp3XY5VKBaezbl18REQkczoFymwOVNgklNkklNscKLdJKLdJKHO12pRbHSizycHmSl1PlwYdtxCjFhEmHYINWoQYtRiQFiPfN2gRatQi2KCFrpGHmtpgAKoHKpWqTl1R7l9AvVbd6BZC/PnnnzFhwgSMHDkSgNwidPLkSWUrRUTkh4QQqLikC8pc4UCJxY4SiwMXym347qDckv5HrTSAfG65rl0MgvQamHQamPQaGLQa9GrZTH6s08Ckl1tvTDoNHr6+NYxaDdR1GIrRlDEAUbXatm2LNWvWYPjw4VCpVJg7dy5bcoiIakkIAYvdCbMrzJS4xtOUWORxNiVWB8qsDkjO6gcNA5WtNCoAwZ7WGA1MOi16t2zmaaUJNmgQYtAiSK9tdH9UN0YMQFStRYsW4b777kOfPn0QHR2NJ598EmazslMWiYgaI6dToNQmh5ricjuKKmyuf+0oKLFi09E/HmOj1agQZtLi1m6JCDFoEWbUIcykRahRHk8zZUBrBOs1vGZhPVIJIWo3fzsAmM1mhIeHo7i4GGFh3lP0LBYLTpw4gZYtW8JorPsIdl4LrPGpr8+WiPyLO+AUl8tTvM0VdpgtdpgrHDBb7CizSrBL1c+Qcgs2aBBq1HnG08g3navlRm7BqctsYPJ2pfP3pdgCREREAU1yCpRcFGjc3VUXymz4an8OrA4JPVOuPPZGp1FjUKd4hBq1iAzSIyJIh4ggHcJN8n1/GjzsLxiAFKLXqvHYTe2UrgYRUUCwS04UV9hRVG5HcYUNReXu+3YUldvwy4nqx95Y7BIAeWCxHGjkW/+0GIS5uqdCjVoE67UBN4i4qWMAIiKiJs892LjY1T1VXGH3jMMpKrehxOK47CBjpwDUKhUMWjVSooIQGaRHmGstmzG9kxFm0iGEAcfvMAAREVGj574UQ5nV4Qo58r+FpVb8b885WB1OXN0i8ordVCa9Brd1S5K7p0w6hJl0nladEIOWA4wDDAMQEREpwj32ptTqvcCf+77FJl9zyr1i8bbLdFOV2yTPPkMMWoS7wk2fNlGIcI3BiQzSw6hTM+SQBwMQERE1iCqDiy+ZPVVcYb9sqLm09UatUuGaVlEw6NQIM1aOxQkzydebCjfpENYELr9AjQcDEBER1Vnl4GIbLpTbcaFMHmBsdrXsCHH5FYvVKhX6tY1GsEEeRGzSaxCk1yBIr8VNHeNgcq1kbHStZmzSaThVnOoNAxAREdWIxS4hz2xFbokFuWYL8sxWmC12uFeTq356uApRIXqM7d0CocbK7in3Qn8mHRf3I2UwACnFYQN++od8v99fAa1e2foQEV3ELjmRX2JFdrEcdnLNFhSV2z3PXxx2+raJRnSoAZFBOvRtG43IIL0r6DDgUOPFAEQ1NmDAAHTr1g2LFy8GAKSmpmLGjBmYMWPGZV+jUqmwdu1ajBgx4k+9d33th4iqsjmcKCyzoqDEhvxSC7KLLSgoscEpql6fqlmwHnFhRsSFGTC6VzKiQvQMOdQkMQAFiOHDh8Nut+Prr7+u8txPP/2E6667Dnv27EGXLl1qvM/t27cjODi4PquJ+fPnY926ddi9e7dXeXZ2NiIjI+v1vYgCjRACxRV2FJRakV9iQ0GpFQWlVhSV26vtvgo2aBAXZsR17WIQF2ZAXJgRRp1G4aMgqh8MQAFi0qRJGDVqFM6cOYPmzZt7Pbds2TL07NmzVuEHAGJiYuqzilcUHx/vs/ciauqcToESqwNF5fKA5MIyK/JLrCgotcHmcFYbdsJMWozulYzoEAPiw42ICzMizMi1cch/cb5ggLjlllsQExOD5cuXe5WXlpZi9erVGDFiBMaOHYukpCQEBQWhc+fO+Pjjj6+4z9TUVE93GAAcOXIE1113HYxGIzp27IgNGzZUec2TTz6Jdu3aISgoCK1atcLcuXNht8vjCpYvX44FCxZgz549UKlUUKlUnvqqVCqsW7fOs599+/bhhhtugMlkQlRUFCZPnozS0lLP8xMmTMCIESPwyiuvICEhAVFRUZg6darnvYj8gRACF8psOJxbgk1HCvDf3Wfx3uaTeOP7o1i66QRW/3oGL3x5AP9v43GcPl8Bm8MJjVqFhAgj7uvbEk8OaY87eybjwf6tMPm61vjL1c1xXbsYtIsLRbhJx/BDfo0tQPVBCECq5YlVsgFOqfJ+XWh0QA2/oLRaLe69914sX74cTz/9tOeLbfXq1ZAkCXfffTdWr16NJ598EmFhYfjiiy9wzz33oHXr1ujdu/cf7t/pdOIvf/kL4uLi8Msvv6C4uLjasUGhoaFYvnw5EhMTsW/fPjzwwAMIDQ3FE088gdGjR2P//v34+uuv8e233wIAwsPDq+yjrKwMgwYNQkZGBrZv3468vDzcf//9mDZtmlfA+/7775GQkIDvv/8eR48exejRo9GtWzc88MADNfqZETUmdsmJwlKbq/vKdSu1XrZFR6NWoVmwHnelt0CzYD2iQwyICTUgMkjPqeREYACqH5K9ckZXTTklIGuzfH8TAHUd+tVrOXvsvvvuw8svv4yNGzdiwIABAOTur1GjRiElJQWPP/64Z9vp06dj/fr1+OSTT2oUgL799lscPHgQ69evR2JiIgDghRdewJAhQ7y2mzNnjud+amoqHn/8caxcuRJPPPEETCYTQkJCoNVqr9jltWLFClgsFrz//vueMUhvvPEGhg8fjhdffBFxcXEAgMjISLzxxhvQaDRo3749hg0bhszMTAYgavQunm7uDjsXym3Vrqlj0KoRH25Et+RWnoATHqRDqIHXriK6EgagANK+fXv06dMHS5cuxYABA3D06FH89NNPePbZZyFJEl544QV88sknOHv2LGw2G6xWK4KCgmq07wMHDiA5OdkTfgAgIyOjynarVq3Ca6+9hmPHjqG0tBQOhwNhYWG1Oo4DBw6ga9euXgOwr732WjidThw6dMgTgDp16gSNpjJYJiQkYN++fbV6L6KG4L6uVYVNQoVdQrlNQlG5DXklVs908+padYL0GkSHGNC7ZTPEhMotOs2C9Aw6RHXAAFQfNDq5NaY2JJvc8gMAfWcAmjqsA6TR1folkyZNwvTp0/Hmm29i2bJlaN26Nfr3748XX3wRS5YsweLFi9G5c2cEBwdjxowZsNnq2D1XjS1btmDcuHFYsGABBg0ahPDwcKxcuRL/+EctW89qSKfz/vmoVCo4nc4GeS8iN4fkxIVyO86X2VBqtaPcJqHMKqHC7pD/dYUeySmvHni5VZKbBetxb0YqYsMMnu6rYD2nmxPVFwag+qBS1W0hQ3e3l0bvs4UQ77zzTjz66KNYsWIF3n//fTz00ENQqVT4+eefcdttt+Huu+8GII/pOXz4MDp27Fij/Xbo0AGnT59GdnY2EhISAABbt2712mbz5s1ISUnB008/7Sk7deqU1zZ6vR6SJOFKOnTogOXLl6OsrMzTCvTzzz9DrVYjLS2tRvUl+rMkp0BRuQ3ny2woLLOhsNSGwjIrLpTZYZecVUJNdUFHr1XDpNNgZPckhBi18vo6oUbEhhk43ZyogTEABZiQkBCMHj0as2fPhtlsxoQJEwAAbdu2xaefforNmzcjMjISixYtQm5ubo0D0MCBA9GuXTuMHz8eL7/8Msxms1fQcb9HVlYWVq5ciV69euGLL77A2rVrvbZJTU3FiRMnsHv3bjRv3hyhoaEwGAxe24wbNw7z5s3D+PHjMX/+fOTn52P69Om45557PN1fRPXF6RS4UG5DfqnVFXJsnutdVRd0ACDIoMGoq5sj1KhFkEGLINd1rEb1aC7fdz3W8cKdRIphAApAkyZNwrvvvouhQ4d6xuzMmTMHx48fx6BBgxAUFITJkydjxIgRKC4urtE+1Wo11q5di0mTJqF3795ITU3Fa6+9hsGDB3u2ufXWW/HYY49h2rRpsFqtGDZsGObOnYv58+d7thk1ahTWrFmD66+/HkVFRVi2bJknpLkFBQVh/fr1ePTRR9GrVy8EBQVh1KhRWLRo0Z/+2VBgE0LgfJkNpy9UeAYfF5ZaYXVUH3RMeg1GdE9yzbLSIyrYgKgQPUIMXD+HqLFTCeG+jB25mc1mhIeHo7i4uMoAXYvFghMnTqBly5YwGo11fxNeC6zRqbfPlpoUi13C6fPlOFVYjpOFZSgqt1fbVRUdIk8lbxas99wYdIgalyudvy/FFiAiCiglFjuyiy04fb4cK37JQpnVgZ4XteoYtGrc2TMZCeFGz0wrLgpI5H8YgJSi1QPXz1a6FkR+TQiBc0UWLMk8jBKLA12TI1BhkwfZS06BUqsDABAZrEfrmGCkRAWjeaSJY3OIAgADEBH5DckpUFhqxZmiCpy5UIGzFypQZnXgVGE5AKDU4oBOo0Z0qB4J4UYM7ZyApEgTwk21X1KCiJo2BiAianKsDgkXyuS1ds6X2XC+3IY8swXf/p4LAe+ByjqNGhFBOoQadRh1dXMkRZqg17KFhyjQMQDVEceO+x9+po2P1SFfEiK/1IoLZTZcKLfjQpkNxRVVBypLTgEBQKNWITUqCKnRwWgeGYTYUANXSiaiKhiAasm9unB5eTlMJpPCtaH6VF4ud5NcuoI0+YYQAhfK7cgurkB2kQXZZgvyzBZsO1F1+jkgt+yYdBp0bh6O2FADooINeLB/K87MIqIaYQCqJY1Gg4iICOTl5QGQ16Thl23TJoRAeXk58vLyEBER4XX9MGo4FruEnGILsostOHOhHOt2nYXDKbyCjhCAXqtGiEGLnqmRiA01IjJYh8ggPVdKJqI/hQGoDtxXKneHIPIPERERV7wKPdWd0ylQWGZDTrEFpy+U45Ptp1Fhl7y6rxxOAbVKhaQIE5o3MyEh3Ij4cBNCDPyaIqL6x2+WOlCpVEhISEBsbCzsdrvS1aF6oNPp2PJTj5xOgWyzBacKy3CuyIJcswU2h3whWskpUGGXp6JHBOnQPNKE+HAT7slIQXSIwaubi4iooTAA/QkajYYnTSIXs8WOLNdqylnny1FulbwGKpv0GsSFGZEYbsTIq5OQEG5EkJ5fQUSkDH77EFGdCCGQY7bgUE4J3tt8EuU2yWv8TrBBi/F9UpEcGYT4cCOigvWcjUVEjQYDEBHVmF1yIut8OY7nl+FEQSnKrBIkp0C5a3XlhHAjWsWEIDU6CHGhRgYeImq0GICI6IrKbQ4czy/DsfxSnCwow+ZjhQAqu7VSo4IxrEsCWkYHc2YWETUZii+H+uabbyI1NRVGoxHp6enYtm3bZbe12+149tln0bp1axiNRnTt2hVff/211zbz58+HSqXyurVv376hD4PIbwghcOZCOf62eg/uf2873vrhGDb8novj+WWwSwIGrRrxYUaM6J6EKf1bY1iXBHRICGP4IaImRdEWoFWrVmHmzJl4++23kZ6ejsWLF2PQoEE4dOgQYmNjq2w/Z84cfPjhh3jnnXfQvn17rF+/HiNHjsTmzZvRvXt3z3adOnXCt99+63ms1bKhi+hyhBAoKrcj63w5Tl8ox+nz8vWzss6Xu54HYsMNaB0TglYxwYgJace1r4ioyVMJBdf/T09PR69evfDGG28AAJxOJ5KTkzF9+nTMmjWryvaJiYl4+umnMXXqVE/ZqFGjYDKZ8OGHHwKQW4DWrVuH3bt317leZrMZ4eHhKC4uRlhYWJ33Q9QYOSQn8kutOFdkwenz5fjPjjOwSU6vAcwatQq/nStGhEmPJwanISrEoHCtiYj+WG3O34o1jdhsNuzYsQOzZ8/2lKnVagwcOBBbtmyp9jVWqxVGo9GrzGQyYdOmTV5lR44cQWJiIoxGIzIyMrBw4UK0aNHisnWxWq2wWq2ex2azuS6HRNRoCCEPTDZb7CiusKO43A6zxYHzZVbkma1wOOW/eySngE1yQqUCmkea0DI6GMnNghAXZuR6PETk1xQLQAUFBZAkCXFxcV7lcXFxOHjwYLWvGTRoEBYtWoTrrrsOrVu3RmZmJtasWQNJkjzbpKenY/ny5UhLS0N2djYWLFiAfv36Yf/+/QgNDa12vwsXLsSCBQvq7+CIGpjkFCi1OlBiscNcIf9bYnGgxFr52C4Jr+0vXpMnxKhFQrgRiREmjOmdjLgwI3QaxYcEEhH5TJMaHLNkyRI88MADaN++PVQqFVq3bo2JEydi6dKlnm2GDBniud+lSxekp6cjJSUFn3zyCSZNmlTtfmfPno2ZM2d6HpvNZiQnJzfcgRD9AatD8g42FlfYcT0utTrgkESVK6ID3mHn+vaxaBasR7hJh75toxFu0iEh3Ihwk47jeIgooCkWgKKjo6HRaJCbm+tVnpube9nrMcXExGDdunWwWCwoLCxEYmIiZs2ahVatWl32fSIiItCuXTscPXr0stsYDAYYDBzjQL4hOQVKLQ6YXYGm1BVw3C06JVYHrHan1/bVBR29Vo3BV8Uj1KhDmFGLUKMOoUYtwow6TOrbEqFGLbRs1SEiqpZiAUiv16NHjx7IzMzEiBEjAMiDoDMzMzFt2rQrvtZoNCIpKQl2ux3/+c9/cOedd15229LSUhw7dgz33HNPfVaf6LLsktPTYlPiDjoV7n/tNW696dc2GhFBeoSZdOiRGukJOWGuoBOk17AVh4iojhTtAps5cybGjx+Pnj17onfv3li8eDHKysowceJEAMC9996LpKQkLFy4EADwyy+/4OzZs+jWrRvOnj2L+fPnw+l04oknnvDs8/HHH8fw4cORkpKCc+fOYd68edBoNBg7dqwix0j+yT3IuLDUhkLXwOLVO07DYneiW3JEtYHm4qBj0KoxxNV6E2rUIsTVchNi0GLitakIMWph0HJdHSKihqJoABo9ejTy8/PxzDPPICcnB926dcPXX3/tGRidlZUFtbqyCd9isWDOnDk4fvw4QkJCMHToUHzwwQeIiIjwbHPmzBmMHTsWhYWFiImJQd++fbF161bExMT4+vDID1wadM6X2ZBrtuCLvdlwOIUn1EhOgRKLw/M6vVbtabHp3iICoUYdwk06hJnkoMPWGyIiZSm6DlBjxXWAApfkFMgvseJsUQWyXGvk2C9ZI+fiVp2bOsYhNky+0GezYD2iguUuK4NWzYBDRORjTWIdIKLGQAiBc0UWvLrhMIor7LgqKQyuJXIgOQXskjwYOSJI5wk6USF63NsnBZFBek4dJyJqohiAKODYJSfOXKjA8fxSnCgoQ1G5HacvlLueEwg2aJEYIa+RMza9BWJDDQw6RER+hgGIAkZeiQU7T13Ae5tPwSkqx+/oNCpEBukREaTD3de0QFyYkd1XRER+jgGI/JrkFDiaV4o9p4twtqgCklPAKQT0WjU6Nw9Hu7hQNI80sYWHiCjAMACRXzpfZsPzX/yOPLMVXV3T0tUqFdolhGJM72QkRZjYykNEFMAYgMhvCCFw5kIF9p4pxqEcM85cqAAABBs06Jocgc5J4Qg16hSuJRERNQYMQNTkWR0SDmaXYO+ZIhSU2gAATgGEGrWICzNiQp+WMOm5qCAREVViAKImSQiBXLMVu7Iu4P2tp+B0LUpo1KnRPj4MXZLDERtqVLqaRETUSDEAUZNisUs4lFOCfWeLkV9ilQc1OwVMOg36t4tB5+bhMOrY2kNERFfGAESNntMpcLygDK9uOIzzZTb0SImERq2CVq1CBw5qJiKiOmAAokarsNSKA9klOJhjRlG5HQWlVgBAs2A9urWIQMeEMLb2EBFRnTAAUaNiczjx27livPHdUZRaHZ7FCoMNWjzYvxXax4chIZwLFRIR0Z/DAESNQmGpFXvPFuNAthnlVgmlVgdUAFpFB6Nz83C0jA6GlosVEhFRPWEAIsUIIXAsvwy7si541uwB5C6uvw1KQ8fEMATp+StKRET1j2cXUsTp8+XYeDgf/9tzDgDQu2UztIkNQdfmEUiJCmIXFxERNSgGIPKpvBILfj5agJMF5ZCcAmqVCvHhRkzok4qoEIPS1SMiogDBAEQNzuZw4h/fHMLpC+VoFR3iuS5X15RwPDSgNYIN/DUkIiLf4pmHGpTZYsfmowXYc7oIAkCraCAtPhR9WkchIkivdPWIiChAMQBRgyizOrDt5HnsO1MMm8MJASDCpMOY3sloHhmkdPWIiCjAMQBRvSq12DH3v78hp9jiWbE5JSoIY9NbICnCpHT1iIiIADAAUT06UVCGb37LwbkieUp7XJgR/dvFILkZL1NBRESNCwMQ/WkVNgkbD+fhQHYJJKeAQatGalQw7uzZHAZeqoKIiBohBiCqMyEEDueW4odDeSi3SVCpgF4tm+GRG9tCr+WqzURE1HgxAFGdlFrs+Nune3G+zIZeqc0QF2bAwI5xSAjnOB8iImr8GICo1kqtDqzZeRbny2xQqYD0ls3Qp000NGqO8yEioqaBAYhq5XyZDWt3ncWFMht0GjXS4kKR3iqK4YeIiJoUBiCqsbNFFfhs9zlY7BKiQvR4467uXMyQiIiaJAYgqpGjeSX4al8OHE6BhHAjbu2WyCu1ExFRk8UzGF2R1S5h7n/341RhOXqlNkPbuBAM7ZwAnYazvIiIqOliAKLLsjokfLU/B6cKywEAnZPCcVPHOKg53oeIiJo4BiCqVn6JFV/sPYcL5XZc2yYa/dpGo1tyBFd0JiIiv8AARFX8fs6M7w7mwi4JhBq1GNYlgev7EBGRX2EAIo9yqwNP/mcv8kqs6JXaDK1igjHkqgSY9LycBRER+RcGIAIAFJfb8d/dZ5FXYgUAXNOqGfq0juZ4HyIi8ksMQIRj+aVY/1sOyq0StBoV2sSEoHfLKIYfIiLyWwxAAczpFPj5WAF+PXkBAJDczITJ/VshzKhTuGZEREQNiwEoQJVaHfhyXzbOXqgAAHRvEYF+bWN4SQsiIgoIDEABKLuoAn/7dC/skhPXtonGkKvi0TYuVOlqERER+QwDUIApLLVi7a6zsEtOmPQajO6VjLgwo9LVIiIi8ikGoABSWGrFf3aeQblNQrBeiw4JoYjkxUyJiCgAMQAFiPNlNvxn5xmUWSXEhxsx7YY2MOq4vg8REQUmXtEyAFwos+E/O+TwEx1qwKirmzP8EBFRQGMA8nMXymz4dMcZlFodiA414Parm3NlZyIiCnjsAvNjxeV2PLpyF6wOJwZfFY9RVycx/BAREYEtQH7L6RT4an82rA4njDoNRnRLQpCeeZeIiAhgC5Df+vFIPrKLLbiuXQzG9EpGZDBnexEREbmxBcgP/X7OjF1ZRQCAQZ3iEBViULZCREREjQwDkJ/JNVuQeSAXAJDeshnaxHKFZyIioksxAPmRcpsD/9tzDg6nQKuYYGS0jlK6SkRERI0SA5CfkJwCX+zNRonFgcggHQZ1iodKxQubEhERVYeDoP2AzeHE7DV7ceZCBa5tE43hXRO50GEgcNiAn/4h3+/3V0DLge5ERDXFAOQH7JITOcUWAMD1abEc9NyUVRdqqisTAnBYAFsZIJyAORvQ6lz7sAPb/p98v/eDcnl1ZRdvq1IBfR4FDCGA1gio2ThMRP6NAcgPnCgoQ8/UZggz6dApMUzp6lBNXBpqNDrAKQEOKyDZAMkOXDgp368oAs6fkO/v+VgOPlYzYLcC53bK+9j1AaB2tfo5JSB7t3d5dWWXbrvtX5XlKhWQtRXQGoDOdwIhMYApEtCFALveB9Q64LrH2epERE0WA1ATJ4TArtNFAIBuyeFQqznup944bMCPL8stLP0eB3RGORjUht0q70OyAV3HArYSoLwQKM0DTv8iBxAhKvfrlORywNUS4wov5jNyWdHpypACyEFErQGMYYDa9d/Z6ZBfC1SWV1d28bbCCWi0cl0AQHK4gpgNyDsAFByuWr+fdXKLkVoHHP9e3meXOwFjOKAzAWo9sPtDQKUB0qfIPz+o5Pfc+k/5PbqPAyQrUFEM7PpQfi5tqOsYhfwZHPpSfr/2t8iBS62R63ngf4BKDXS+Q34/IYB9n8plV98jh0qVWv7ZqtRy/XQmQBfs+tfk/XlKDle4LAU2vy6/fsAsV72JyN8wADVxZ4sqUFBihU6jQqfEcKWr07QIAdjLgZI8YPMS+eSXNrSyhaWiGDj1s7ztT/+QA4JaC0AFnNok/9v6BkCjB4QEHPtO3rZlfzlQSDa5RSdrs1yu0Xu3vEg2Vz2ccki4mFoHBEfJYUJjAIpOya/vcIvcEmMIlcs3vyZvnz6lsjXGYZO7xi4ur67s0m37zpTr57DKIcBeIYeTVgMAWylQcQEoy5ePG0LezumQj6XigryPs7u8jzFnn3x/5/ve5Wd3yPd/C64MeaU5clnhUe9tLUXy/fPHvctL5eUecObXyn1cOC6XHV7vva37M2jRp7JcCODMNvl+cnrlz94pAdm75Ps/LQJMEYAuCDj+g/wZdBkN6AzyZyacwJ6VcpDqfo/8c1Wp5TC16wP59yVjGmAKl/eh0YGIGgcGoCZut6v1p318GAc+X8zdxSScQM/75KBjKQLKCuWWBocFSOohP++UKls4svd6nzgvJoTcNeXuqgLk7in3ydcdJNxl7tcA8kkxJAYIiQVMzQBDmFwnjQ645mG5lcG9n02uVouekyrDi7t+sR29u52un1312LX6quXVlV2uXB8k3wY/X/3P1VoqB59e98vBz2qWW7WcdqDFNfK/tjLAWiK3sjidckuRSlX5M1S7wmRYohwONAbAfFYuazeosvXG6ZD3DQBpQ+SxSU6n/PmZz8mfX3JvV90sQOER+T2i2rhaipzy++X9Lt83RVQGU3dIdX/W7s9Mq5eDjmSXt7EUA+XngbI8+fmsLd6/I+ePyfcvDV35B+X77vDnbj3T6IC0YYAxVA5Fah1w4DP52HtMkH/27p+P56ZxtWJp5OCl1sgtd5zpSVRnDEBNmNlix7E8+aTbrUWEspVpLKwlQFEWUHgMOLNdPikK4X1iKi+Q70t2uVXHGAYYI+QTSuq13i0swim/NmOa6+TrAGzlcniBALrd5Wo1sclBAJDL9MHef+2r1ECPid7hJal71fo7bFVPapcLL0rQ6oEbnrqkMAkY/mr12/ecWH15/79VLetwS/XbJl1dfXnqtVXLOt5a/bZX3+392CnJLXyOCgAqIP1B12eurxwA7nTKLV9WsxycS7LlwJTU3RXOXEG44DAAAUS1viR0/Sb/vhhC5Nc5JTkwOiR5X+5A5ZSACyfk+we/+OOWK0+5Cmh7s/z7qzUCR76Rw9RVf6nsJpRswP41cn27jZNDl7trdef7cpjqM72yC3Hz6/K2HN9FAUAlhPtPVGW8+eabePnll5GTk4OuXbvi9ddfR+/evavd1m63Y+HChXjvvfdw9uxZpKWl4cUXX8TgwYPrvM/qmM1mhIeHo7i4GGFhjXdQ8c9HC7DtxHkkNwvC7T2aK12dhuewARXnXQOF7fKXu60M2PkeYLcAzXvIrS+A98mjZX8gqJlrEG+QPKZEawL6zQSCY+QQRNSQhJDD+Y+vyL+7V98j//7aK+QWpr0r5d/ZtjfL2zvt8u/5kQ1yoErtJ/c8Ol2tVu6uWXcw+sOwVIPyi4NVq/5yiNe6uvqOZsqBvscE+f+MKVJ+fsub8j6uNGORyIdqc/5W9Jt/1apVmDlzJt5++22kp6dj8eLFGDRoEA4dOoTY2Ngq28+ZMwcffvgh3nnnHbRv3x7r16/HyJEjsXnzZnTv3r1O+2yq7JIT+84WA5AHP/sVhw3Y+JL813eHW4GKQqD4DHDgcwCi6hf5ede4j7JUOcyExAGhifKJxRACXDtDHrPh1n6ojw+IAp5KJbfU3Pxs9c+nDa6+/JqHqpYJIf/e28vlPwBsZfIYLPNZuTy5tyt4qOTAZD4rh6jEbnKwsrsGensGv7tbKt1dvq7B5+4uYKck/+EBACd+8v6/d2a7/H/u16WVyzPk7JXfe+8q78H2h76S77cfdlEXpyS3eqnUQJc7XKHLCEAth0KNXg5SQc28B/8T1QNFW4DS09PRq1cvvPHGGwAAp9OJ5ORkTJ8+HbNmzaqyfWJiIp5++mlMnTrVUzZq1CiYTCZ8+OGHddpndZpCC9D+s8XY8HsuQo1a3Hdty6Y5++vivxYzpsozo4qzgMITwG9r4BV23H+davTyGBGdSb4PNXD4K/n+tTOAqFbyc0RUO7YK4KdX5FDUezLkIGQBrGXA9n/LLU/tBsktWRUXAIv5Cq1IqHtLVHXlGq3capu1RW6Vuup2eayU1iiHJ3fYSp/iWsvKAEAFbPmnHD7ZGhUwmkQLkM1mw44dOzB7duXYBrVajYEDB2LLli3VvsZqtcJo9J6SajKZsGnTpjrvsykSQmDPmSIAQLfkiMYffqprFrdXAIXH5dYbS3Hl2APA9ZenkENNVGsgvDkQGg/0fVQep3GpbmN8dihEfktvAm6cW/1zty6pWmYpkcdQOSV5ZpxaLXfbVVyQQ1SHWypblyR75WD29kMrxyg5bPIfPkICWmQAcA1wt5XLY6gc1sptrSXyeCwrgOw93mHJPUlgz8qqIUqtA359t3JG5eGv5XpdPV4OURq9/Fijl5/XmVyD07kYqL9TLAAVFBRAkiTExcV5lcfFxeHgwYPVvmbQoEFYtGgRrrvuOrRu3RqZmZlYs2YNJEmq8z4BOVhZrVbPY7PZXNfD8olzxRbkma3QqpvQ1Hf3VOmjG+QBoKX5rvVtzsrPCwEERQIRLeSw47TLf91dNYp/uRE1RsZQYFA1MwVv+Uf12yd2q768xWXGZ3YdLf8rhNwdXnZe/g6RrPIAeCG5lnEoBfIPyN1sQc3kfyXrRV14dnkQe0WR93fOkQ1XbonSGeVQdOIn+d9uY70nSLhn9/V7XA5SnJHX5DSp0Z9LlizBAw88gPbt20OlUqF169aYOHEili5d+qf2u3DhQixYsKCeatnwdmcVAQDaJ4TBpG/k/eJlhfLU3zPb5C8mU2Tll05QMyA0QZ4Sfs1D8ro3bpeb+UNEgUWlkkOHIfTy4arLnVXLbBXAj5K8JlOX0YDTtap6UZYcimLaVc6Us1fIXWxOR+Xr7a7uP/fszjM7LlnL6lf5/qZX5S46lRo4tVnepu3Ncjec2tUC5l4iods4eSkGfbDrFiLf+EeeIhQLQNHR0dBoNMjNzfUqz83NRXx8fLWviYmJwbp162CxWFBYWIjExETMmjULrVq1qvM+AWD27NmYOXOm57HZbEZycnJdD61BnS+14oMtJyEA3NmzcdYRTqe8NsrZHfIlHJySa8VhkzyFuFkrIDxZ/qvKIg/krrZri4iorvQmYOC8quXVLZ8AAOmT5X+dTrlrz1Yufz9VnJdDUnJv15ioEnlNMZVGboUCKoOUZJPHkpfmV7/0RtbW6ludWg2Q/zjUGoFjmfIq6p1vl7vhBOQWrf1rAKiqX85ArZNntRrC2HVXC4oFIL1ejx49eiAzMxMjRowAIA9YzszMxLRp0674WqPRiKSkJNjtdvznP//BnXfe+af2aTAYYDA0jQuIHs0vhQAQatQiJlTBOjtswMYX5b+cuo6RZ6RUFMn9/PtWy18E7sGLUW3kv6KMEUCbm/54IT8iIqWo1ZUtNCExwC2Lqt8uY6oclpyuJTmsZfL3oZDky7Oo1fLYJ3uFPM7J6ZBbtiWrPHPPUlwZohw2oKzAtcK5a32o09u8w1JJtnz/1M+XXMtvj3x/8xuuBTIN8pimE5vk1rO0oXKZEPISICq1HK7cM+5UatfYKa3cEu8eRK4xuJZB8N+uPUW7wGbOnInx48ejZ8+e6N27NxYvXoyysjJMnCgvnnbvvfciKSkJCxcuBAD88ssvOHv2LLp164azZ89i/vz5cDqdeOKJJ2q8z6buVGE5AKBZsAJNppIdKD4NXDglD2DO2gpAuAYMXnKJB7VO/ospuZf8lw0HKhORv1GrAbUrKBhCq189HZDXKKtOxtTKS89Yza7lDM7Joap5T+/lDIrPABDVLGdg8F613mGVW69sJfLjoqzKGXrulqhzuy8ZRH5Ivr97xSUtVK5Vz9sMdF3fTyuvCaXWyCHv4rWiPCHqYXnJB51RbvW/tEWqEa0VpWgAGj16NPLz8/HMM88gJycH3bp1w9dff+0ZxJyVlQX1RT88i8WCOXPm4Pjx4wgJCcHQoUPxwQcfICIiosb7bMrskhM5xRZc0yoK92akQK9t4KZOp1MOOz++KP+1Et/loucumqkVlui6blWEHIasJfKXQasB7NsmIroSrStABUcBaAmM/Gf127W9sfry9Afkf52S3EVnt8hLFFiKXbPxhsshxG6pnHGX0kd+zmGRW6Pyfpdfb4pwtUhZK7/jnQ55f7Yy7zWhLhuiPrpkrahtciuT+7qJEMC5XXLL0rldQIuLrsPnY4qvBN0YNdZ1gE4WlGHtrrMINWoxqW9LqOq7adJhA777P/mvkNS+8hXIbRXesyNMEUBkqhx6fv+v3ITKNTaIiPyHEHIr0k+vyAGo5/0AnHKL0/Z/y8HmqlFyWJJcLVi//1fetmU/ubfAHaKutFZU379ePtjVUZNYB4hq70ShfN2v1Kjg+g0/tnL5L4CzuypnNoTEVU4FDYqWg0/vB+SLebrfmzO1iIj8j0oFGIKrH0Re3ZpQQOWyBW5Op9ytJ9nk1qar761sibKa5ZAV26H+614LDEBNyKkCVwCKDvpzO3LYgB9fllt6mvcCik65ZmpJAFxL9rfsB0S3BULiOauAiIhqR62W/3Cu7vIvQ1/yeXWqwwDURBSX23Gh3A61SoXmkX8yABUcka/hI9nkcTtqjbz4YEz7ymsDtchgtxYREfktBqAm4qSr+yshwgijro6LH9rK5ZWYs/fJ4Uejl1uAkrrLXVsAkJJRTzUmIiJqvBiAmgh3AGoZHVy3HeQflq+BYyuT+3fDk+XLTrS+ni09REQUcBiAmgCH5MSZCxUAgJSoWnZ/uVt9cn+XHwdHywtjhSfVcy2JiIiaDgagJiC72AKbw4lggwYxIbVY/Tn/MPDVE3J3V8q18toPqf3k1ZmJiIgCGM+ETcAJ1+yvlJpOf3dKwIkf5QvzSTZ5ccJu44BmqQ1bUSIioiaCAagJOHXR+j9/qOKCvCCVOVtefbPPdHkZc42ugWtJRETUdDAANXIlFjsKSm1QqYAWzS4z/sd9bZXSPCAsQW4B0hrksT6x7X1bYSIioiaAAaiRc1/8ND7MCJP+CtPfi07JF70LigIiU+Trv5gifFNJIiKiJoYBqJFzT39PuVL3V+ExOfwA8gKGra/n6s1ERERXwLNkIyY5hacF6LLr/1QUAYe+kO+HJsqXsGD4ISIiuiK2ADViOWZ5+rtJr0FsaDXT3yUH8Ps6+cq7Xe4Eut3NKe5EREQ1wKaCRsrmcOIf6w9h6/FCJEWYoFZXM/392HfybC+dEeg4guGHiIiohhiAGrGicjuAy8z+yv0dOLtDvt+eA56JiIhqgwGokbLYJZTZHACqCUBlhcChL+X7La4Botv4uHZERERNGwNQI5VXYgUAGLRqBBsu6tqylgFrp8jdX2GJQMv+CtWQiIio6ap1AEpNTcWzzz6LrKyshqgPueS7AlCI4ZJxPad/AexlgEYvd31xxhcREVGt1frsOWPGDKxZswatWrXCTTfdhJUrV8JqtTZE3QLahXIbrmkVhYl9W0KvdX1MFjNwZpt8v1lrwBCiXAWJiIiasDoFoN27d2Pbtm3o0KEDpk+fjoSEBEybNg07d+5siDoGpFyzBQC8p7+f+BEQAug6Fhj2CqDVK1Q7IiKipq3O/SdXX301XnvtNZw7dw7z5s3Dv//9b/Tq1QvdunXD0qVLIYSoz3oGFItd8swAiw01yoUlOUDufvl+6xuAmlwVnoiIiKpV54Vj7HY71q5di2XLlmHDhg245pprMGnSJJw5cwZPPfUUvv32W6xYsaI+6xow3ON/wkw6+fpfQsiDnoUAYjsA4UkK15CIiKhpq3UA2rlzJ5YtW4aPP/4YarUa9957L1599VW0b1951fGRI0eiV69e9VrRQOKeAebp/io8Clw4Bai1QKsBylWMiIjIT9Q6APXq1Qs33XQT3nrrLYwYMQI6na7KNi1btsSYMWPqpYKBKL/kovE/Tgk49r38RPMeXPCQiIioHtQ6AB0/fhwpKSlX3CY4OBjLli2rc6UCXa7Z1QIUZgTO7QbKCwGdCWjRR9mKERER+YlaD4LOy8vDL7/8UqX8l19+wa+//lovlQpkNocTF8ptAIBYkwBO/iQ/kdpPvuYXERER/Wm1DkBTp07F6dOnq5SfPXsWU6dOrZdKBbL8UiuEAEL1KgSv/ytw5BvAGA4kdlO6akRERH6j1gHo999/x9VXX12lvHv37vj999/rpVKBLM+1/k+80QGYz8qFrQYAao1ylSIiIvIztQ5ABoMBubm5Vcqzs7Oh1dZ5Vj25uMf/tLQdAoQTMITJqz4TERFRval1ALr55psxe/ZsFBcXe8qKiorw1FNP4aabbqrXygWi/BIL1E4H4ksPyAVhiVz0kIiIqJ7VusnmlVdewXXXXYeUlBR0794dALB7927ExcXhgw8+qPcKBhK75ERhmQ2xZYcREioB7W8B0qfwgqdERET1rNYBKCkpCXv37sVHH32EPXv2wGQyYeLEiRg7dmy1awJRzRWUWiGcAikVv0EfqQaa92L4ISIiagB1GrQTHByMyZMn13ddAl6u2YoISxai1KVQaWOAhC5KV4mIiMgv1XnU8u+//46srCzYbDav8ltvvfVPVypQ5ZktSDTvRbBJK0971xr+8DVERERUe3VaCXrkyJHYt28fVCqV56rvKtdAXUmS6reGAaQk/wwSrdkIigwDknooXR0iIiK/VesBJo8++ihatmyJvLw8BAUF4bfffsOPP/6Inj174ocffmiAKgYGh+SEIWcHAMCUdJW8+CERERE1iFq3AG3ZsgXfffcdoqOjoVaroVar0bdvXyxcuBCPPPIIdu3a1RD19HvnzxeiWdlR6DQqmFpdo3R1iIiI/FqtW4AkSUJoaCgAIDo6GufOnQMApKSk4NChQ/VbuwBSemwrVBBARAuowhKVrg4REZFfq3UL0FVXXYU9e/agZcuWSE9Px0svvQS9Xo9//etfaNWqVUPU0b85bMDGlyAd3AMYkqFKTle6RkRERH6v1gFozpw5KCsrAwA8++yzuOWWW9CvXz9ERUVh1apV9V7BgFCaC4vdCUtwOKKS2itdGyIiIr9X6wA0aNAgz/02bdrg4MGDOH/+PCIjIz0zwah2nKV5KJfUyA69CleHmZSuDhERkd+r1Rggu90OrVaL/fv3e5U3a9aM4aeuJDvKK8rhhArlISkIM/GCskRERA2tVgFIp9OhRYsWXOunHtmKz+HEeRsKLCqEhDNIEhER+UKtZ4E9/fTTeOqpp3D+/PmGqE/AUZXl44wpDceCuyM2PFjp6hAREQWEWve3vPHGGzh69CgSExORkpKC4GDvk/bOnTvrrXKBQGU+B7skcF4TjehQXvqCiIjIF2odgEaMGNEA1QhQQgAl5yCEQKE6GkatRukaERERBYRaB6B58+Y1RD0Ck9UMlbUUElS4oGkGjZrjf4iIiHyBU46UZD4HjVqF2IQW6BUVjyADW4CIiIh8odYBSK1WX3GmEmeI1YL5LACgRB8DAGwBIiIi8pFaB6C1a9d6Pbbb7di1axfee+89LFiwoN4qFhDM8nXUinWxAACdutaT8oiIiKgOah2Abrvttiplt99+Ozp16oRVq1Zh0qRJ9VIxvyc5gJJcAIBZ52oB0rAFiIiIyBfqrcnhmmuuQWZmZn3tzv+V5gJOB5xaE8rUYQAALbvAiIiIfKJeAlBFRQVee+01JCUl1cfuAoOr+8sZmgC4xlRp2QVGRETkE7XuArv0oqdCCJSUlCAoKAgffvhhvVbOr7kGQDtCEoB8uYgtQERERL5R6wD06quvegUgtVqNmJgYpKenIzIysl4r59dcLUD2kAQAAhq1CmoGICIiIp+odQCaMGFCA1QjwFhLAUsxoFLBYYoHkM0p8ERERD5U60Eny5Ytw+rVq6uUr169Gu+99169VMrvuVp/EBQFu1oHANBxBhgREZHP1DoALVy4ENHR0VXKY2Nj8cILL9S6Am+++SZSU1NhNBqRnp6Obdu2XXH7xYsXIy0tDSaTCcnJyXjsscdgsVg8z8+fPx8qlcrr1r59+1rXq0G5xv8gLAmSUwAANBwATURE5DO17gLLyspCy5Ytq5SnpKQgKyurVvtatWoVZs6cibfffhvp6elYvHgxBg0ahEOHDiE2NrbK9itWrMCsWbOwdOlS9OnTB4cPH8aECROgUqmwaNEiz3adOnXCt99+63ms1TayK364W4DCk+CQ5ADEFiAiIiLfqXWzQ2xsLPbu3VulfM+ePYiKiqrVvhYtWoQHHngAEydORMeOHfH2228jKCgIS5curXb7zZs349prr8Vdd92F1NRU3HzzzRg7dmyVViOtVov4+HjPrboWK8U4nUCJKwCFJcHhaQFiACIiIvKVWgegsWPH4pFHHsH3338PSZIgSRK+++47PProoxgzZkyN92Oz2bBjxw4MHDiwsjJqNQYOHIgtW7ZU+5o+ffpgx44dnsBz/PhxfPnllxg6dKjXdkeOHEFiYiJatWqFcePG/WHLlNVqhdls9ro1mLI8eRVorR4IioJDcgLgZTCIiIh8qdZ9Q8899xxOnjyJG2+80dO15HQ6ce+999ZqDFBBQQEkSUJcXJxXeVxcHA4ePFjta+666y4UFBSgb9++EELA4XBgypQpeOqppzzbpKenY/ny5UhLS0N2djYWLFiAfv36Yf/+/QgNDa12vwsXLvTddcwuGv8DlYotQERERAqodbODXq/HqlWrcOjQIXz00UdYs2YNjh07hqVLl0Kv1zdEHT1++OEHvPDCC/jnP/+JnTt3Ys2aNfjiiy/w3HPPebYZMmQI7rjjDnTp0gWDBg3Cl19+iaKiInzyySeX3e/s2bNRXFzsuZ0+fbrhDsI9/icsEQA8Y4C0HANERETkM3UeHdy2bVu0bdu2zm8cHR0NjUaD3Nxcr/Lc3FzEx8dX+5q5c+finnvuwf333w8A6Ny5M8rKyjB58mQ8/fTTUFfTjRQREYF27drh6NGjl62LwWCAwWCo87HUmMMG7FgO2CuATiPkIqfcBcbLYBAREflOrc+6o0aNwosvvlil/KWXXsIdd9xR4/3o9Xr06NHD6wKqTqcTmZmZyMjIqPY15eXlVUKORqMBIF+SozqlpaU4duwYEhISaly3BmMvl8MPAITK9XF3gbEFiIiIyHdqHYB+/PHHKoOOAbnr6ccff6zVvmbOnIl33nkH7733Hg4cOICHHnoIZWVlmDhxIgDg3nvvxezZsz3bDx8+HG+99RZWrlyJEydOYMOGDZg7dy6GDx/uCUKPP/44Nm7ciJMnT2Lz5s0YOXIkNBoNxo4dW9tDrX8l2fK/OhOgCwJwURcYxwARERH5TK27wEpLS6sd66PT6Wo9e2r06NHIz8/HM888g5ycHHTr1g1ff/21Z2B0VlaWV4vPnDlzoFKpMGfOHJw9exYxMTEYPnw4nn/+ec82Z86cwdixY1FYWIiYmBj07dsXW7duRUxMTG0Ptf6ZXQHIEOYpcneBcRA0ERGR76jE5fqOLqN379645ZZb8Mwzz3iVz58/H//73/+wY8eOeq2gEsxmM8LDw1FcXIywsLA/fkFNXcgCfngB0IcCg54HtHp8fygPu7OK0LtlM1zbphGtV0RERNTE1Ob8XesWoLlz5+Ivf/kLjh07hhtuuAEAkJmZiRUrVuDTTz+tW40DRWg8EJHiVSRJnAZPRETka7UOQMOHD8e6devwwgsv4NNPP4XJZELXrl3x3XffoVmzZg1RR7/m7gLjpTCIiIh8p07T4IcNG4Zhw4YBkJubPv74Yzz++OPYsWMHJEmq1wr6Fa0euH62V5GDF0MlIiLyuTqfdX/88UeMHz8eiYmJ+Mc//oEbbrgBW7durc+6BQTOAiMiIvK9WrUA5eTkYPny5Xj33XdhNptx5513wmq1Yt26dejYsWND1dGvcR0gIiIi36txC9Dw4cORlpaGvXv3YvHixTh37hxef/31hqxbQHBfDJUrQRMREflOjVuAvvrqKzzyyCN46KGH/tQlMMibpwWIXWBEREQ+U+Nmh02bNqGkpAQ9evRAeno63njjDRQUFDRk3QKCpwWIXWBEREQ+U+MAdM011+Cdd95BdnY2HnzwQaxcuRKJiYlwOp3YsGEDSkpKGrKefquyBYhdYERERL5S67NucHAw7rvvPmzatAn79u3DX//6V/z9739HbGwsbr311oaoo1/jIGgiIiLf+1PNDmlpaXjppZdw5swZfPzxx/VVp4AicQwQERGRz9VLv4tGo8GIESPw2Wef1cfuAoYQAnbPGCB2gREREfkKz7oKcgrAfSlatgARERH5DgOQgtytPwAvhkpERORLDEAKco//AdgCRERE5EsMQAq6eBFElYoBiIiIyFcYgBTk4ABoIiIiRfDMqyBOgSciIlIGA5CC7FwEkYiISBEMQAqSJLYAERERKYEBSEF2J8cAERERKYFnXgW5xwBxDSAiIiLfYgBSkHshRB3HABEREfkUA5CCKluA+DEQERH5Es+8CrK7BkHr2AVGRETkUwxACuIYICIiImUwACnI4RkDxI+BiIjIl3jmVZCDLUBERESKYABSkMO9DhADEBERkU8xACnI4V4Jml1gREREPsUzr4I4CJqIiEgZDEAKcl8MlQshEhER+RYDkIIk1xggtgARERH5FgOQgjwLIXIMEBERkU/xzKsgjgEiIiJSBgOQgjwLIfJaYERERD7FM6+CPAshchA0ERGRTzEAKcjBi6ESEREpggFIQbwUBhERkTIYgBTkHgPElaCJiIh8i2dehQghPC1AvBYYERGRbzEAKcQdfgBAy0HQREREPsUApBDp4gDEafBEREQ+xTOvQtwtQCoVwB4wIiIi32IAUohnEUSNGioVExAREZEvMQAphFPgiYiIlMMApBD3IoicAUZEROR7DEAKcThdawAxABEREfkcA5BCPC1AXASRiIjI53j2VQgXQSQiIlIOA5BC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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(all_vanilla_split_history, \"Banana Split MLP\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Timing Tests \n", - "\n", - "# For both the same networks and same parameter'd networks, which are faster. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Optized \n", - "import time \n", - "num_tests = 100 \n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "vanilla_split_params['model_params'].pop(\"level\")\n", - "vanilla_params['model_params'].pop(\"level\")\n", - "\n", - "\n", - "vanilla_timing = []\n", - "banana_timing = []\n", - "wav_timing = []\n", - "\n", - "vanilla_network = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=vanilla_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=vanilla_params['opt'],\n", - " optimizer_config=vanilla_params['opt_config'],\n", - " loss=vanilla_params['loss'],\n", - " epochs=1,\n", - " )\n", - "\n", - "banana_network = TrainingLoop(\n", - " model_class=BananaSplitMLP,\n", - " model_params=vanilla_split_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=vanilla_split_params['opt'],\n", - " optimizer_config=vanilla_split_params['opt_config'],\n", - " loss=vanilla_split_params['loss'],\n", - " epochs=1,\n", - " )\n", - "wav_network = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=wav_params[\"model_params\"],\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=wav_params['opt'],\n", - " optimizer_config=wav_params['opt_config'],\n", - " loss=wav_params['loss'],\n", - " epochs=1,\n", - " )\n", - "\n", - "for _ in range(num_tests): \n", - "\n", - " start = time.time() \n", - " vanilla_network() \n", - " vanilla_timing.append(time.time()-start)\n", - "\n", - " start = time.time() \n", - " banana_network() \n", - " banana_timing.append(time.time()-start)\n", - "\n", - " start = time.time() \n", - " wav_network() \n", - " wav_timing.append(time.time()-start)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vanilla_timingwav_timingbanana_timing
count100.000000100.000000100.000000
mean0.2544760.3883430.426813
std0.0078650.0311990.022354
min0.2443940.3689390.406782
25%0.2506550.3774050.417516
50%0.2535430.3824010.422703
75%0.2577780.3898720.427324
max0.3161750.6137810.604746
\n", - "
" - ], - "text/plain": [ - " vanilla_timing wav_timing banana_timing\n", - "count 100.000000 100.000000 100.000000\n", - "mean 0.254476 0.388343 0.426813\n", - "std 0.007865 0.031199 0.022354\n", - "min 0.244394 0.368939 0.406782\n", - "25% 0.250655 0.377405 0.417516\n", - "50% 0.253543 0.382401 0.422703\n", - "75% 0.257778 0.389872 0.427324\n", - "max 0.316175 0.613781 0.604746" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.DataFrame({\"vanilla_timing\":vanilla_timing, \"wav_timing\":wav_timing, \"banana_timing\":banana_timing}).describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAHHCAYAAAAf2DoOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAEklEQVR4nO3deZyN9f//8eeZfZ+xjFnCzNgaa3bZMlPDkEQpn6SylT6Fvvj5kE+IVLYWKRKVkUgpqY9KRUiRfXyyNJYIMWOJGetg5v37o6/r65ixDGeuWTzut9u53Zz39T7v6/W+3sM8Xee6znEYY4wAAABs4lbQBQAAgJsL4QMAANiK8AEAAGxF+AAAALYifAAAAFsRPgAAgK0IHwAAwFaEDwAAYCvCBwAAsBXhA7hEt27dFB0dXeT3kVf5UVNcXJzi4uJcOubVLF26VA6HQ0uXLrV1v4VVt27dFBAQUNBlAE4IH7gpJCUlyeFwaO3atQVdSoHav3+/RowYoeTk5IIupViaPXu2JkyYUNBlAIWeR0EXAMA++/fv18iRIxUdHa3atWs7bZs2bZqys7Ndur/vvvvOpeMVdrNnz9amTZvUr1+/gi4FKNQIHwAkSZ6eni4f08vLy+Vj4tqcPHlS/v7+BV0GkCvedsFNbf78+apRo4Z8fHxUo0YNff7557n2y87O1oQJE1S9enX5+PgoLCxMTz75pI4ePerU74svvlDbtm0VGRkpb29vVaxYUaNGjVJWVtZ11zh58mRVr15d3t7eioyMVO/evXXs2DGnPnFxcapRo4bWrVunJk2ayNfXVzExMZoyZYrVZ+nSpWrQoIEkqXv37nI4HHI4HEpKSpKU85qP3bt3y+Fw6JVXXtGkSZNUoUIF+fn5qVWrVtq7d6+MMRo1apTKli0rX19ftW/fXn/99VeOui6+5iM6Otra76WPi6/R+PPPP9WjRw+FhYXJ29tb1atX1/vvv5/j2Ozbt08dOnSQv7+/ypQpo/79+yszM/OajuuIESPkcDi0Y8cOdevWTSEhIQoODlb37t116tSpHP0//PBD1atXT76+vipZsqQeeugh7d2712muX331lf744w9rTtHR0TLGqHTp0howYIDVNzs7WyEhIXJ3d3day7Fjx8rDw0MnTpyw2n744Qc1b95c/v7+CgkJUfv27bV169Zc57JlyxY9/PDDKlGihJo1a3bZuScnJys0NFRxcXFO+wLswpkP3LS+++47dezYUdWqVdPo0aN15MgRde/eXWXLls3R98knn1RSUpK6d++uZ555Rrt27dJbb72lDRs26Oeff7bOGiQlJSkgIEADBgxQQECAfvjhBw0fPlwZGRkaP358nmscMWKERo4cqYSEBD311FNKSUnR22+/rTVr1jjtV5KOHj2qu+++W506dVLnzp31ySef6KmnnpKXl5d69OihqlWr6oUXXtDw4cPVq1cvNW/eXJLUpEmTK9Ywa9YsnT17Vn379tVff/2lcePGqVOnTrrzzju1dOlSDR48WDt27NCbb76pgQMH5hoSLpgwYUKOX3avv/66kpOTVapUKUlSWlqabr/9djkcDvXp00ehoaH65ptv1LNnT2VkZFhvaZw+fVp33XWX9uzZo2eeeUaRkZGaOXOmfvjhhzwd406dOikmJkajR4/W+vXr9e6776pMmTIaO3as1eell17SsGHD1KlTJz3++OM6dOiQ3nzzTd1xxx3asGGDQkJC9Nxzzyk9PV379u3T66+/LkkKCAiQw+FQ06ZN9eOPP1rj/fe//1V6errc3Nz0888/q23btpKk5cuXq06dOtYFoosWLVKbNm1UoUIFjRgxQqdPn9abb76ppk2bav369TkuEH7wwQdVuXJlvfzyyzLG5DrfNWvWKDExUfXr19cXX3whX1/fPB0vwCUMcBOYPn26kWTWrFljtdWuXdtERESYY8eOWW3fffedkWSioqKstuXLlxtJZtasWU5jLly4MEf7qVOncuz7ySefNH5+fubMmTNWW9euXZ32kZuDBw8aLy8v06pVK5OVlWW1v/XWW0aSef/99622Fi1aGEnm1VdftdoyMzNN7dq1TZkyZczZs2eNMcasWbPGSDLTp0/Psb9La9q1a5eRZEJDQ52O0ZAhQ4wkc9ttt5lz585Z7Z07dzZeXl5O82zRooVp0aLFZef4ySefGEnmhRdesNp69uxpIiIizOHDh536PvTQQyY4ONg6xhMmTDCSzCeffGL1OXnypKlUqZKRZJYsWXLZ/RpjzPPPP28kmR49eji133fffaZUqVLW8927dxt3d3fz0ksvOfX79ddfjYeHh1N727Ztc13X8ePHG3d3d5ORkWGMMWbixIkmKirKNGzY0AwePNgYY0xWVpYJCQkx/fv3t153Yf2OHDlitW3cuNG4ubmZxx57LMdcOnfunGPfXbt2Nf7+/sYYY3766ScTFBRk2rZt67ROgN142wU3pQMHDig5OVldu3ZVcHCw1d6yZUtVq1bNqe/cuXMVHBysli1b6vDhw9ajXr16CggI0JIlS6y+F/8v8vjx4zp8+LCaN2+uU6dO6bfffstTjYsWLdLZs2fVr18/ubn931/VJ554QkFBQfrqq6+c+nt4eOjJJ5+0nnt5eenJJ5/UwYMHtW7dujzt+2IPPvig0zFq1KiRJOmRRx6Rh4eHU/vZs2f1559/XtO4W7ZsUY8ePdS+fXsNHTpUkmSM0WeffaZ27drJGON0vBMTE5Wenq7169dLkr7++mtFRETogQcesMb08/NTr1698jS/f/7zn07PmzdvriNHjigjI0OSNG/ePGVnZ6tTp05O9YSHh6ty5cpO6385zZs3V1ZWllasWCHp7zMczZs3V/PmzbV8+XJJ0qZNm3Ts2DHrjNSFn9Fu3bqpZMmS1li1atVSy5Yt9fXXX191LhdbsmSJEhMTddddd2nevHny9va+at1AfiF84Kb0xx9/SJIqV66cY9utt97q9Hz79u1KT09XmTJlFBoa6vQ4ceKEDh48aPXdvHmz7rvvPgUHBysoKEihoaF65JFHJEnp6enXVeOl9Xh5ealChQrW9gsiIyNzXGBYpUoVSX9fv3G9ypcv7/T8QhApV65cru2XXgeTm4yMDN1///265ZZb9MEHH8jhcEiSDh06pGPHjmnq1Kk5jnX37t0lyTref/zxhypVqmS99oJLj1de51eiRAmneWzfvl3GGFWuXDlHTVu3bnVa/8upW7eu/Pz8rKBxIXzccccdWrt2rc6cOWNtu3CtxuXWX5KqVq2qw4cP6+TJk07tMTExue7/zJkzatu2rerUqaNPPvmEC4FR4LjmA7iK7OxslSlTRrNmzcp1e2hoqCTp2LFjatGihYKCgvTCCy+oYsWK8vHx0fr16zV48GCX38ZqF3d39zy1m8tca3Cxbt26af/+/Vq9erWCgoKs9gvH6JFHHlHXrl1zfW2tWrWuOn5eXG0e2dnZcjgc+uabb3Ltey0f4OXp6alGjRrpxx9/1I4dO5SamqrmzZsrLCxM586d06pVq7R8+XLFxsZaP0/X43LXb3h7e+vuu+/WF198oYULF+qee+657n0ArkD4wE0pKipK0t//q71USkqK0/OKFStq0aJFatq06RUvzlu6dKmOHDmiefPm6Y477rDad+3adUM1pqSkqEKFClb72bNntWvXLiUkJDj1379/f47bK7dt2yZJ1oWJl54lKAhjxozR/PnzNW/ePMXGxjptCw0NVWBgoLKysnLM71JRUVHatGmTjDFO87p0/W5UxYoVZYxRTEyMdSbpcq50fJs3b66xY8dq0aJFKl26tGJjY+VwOFS9enUtX75cy5cvdwoFF6//pX777TeVLl36mm+ldTgcmjVrltq3b68HH3xQ33zzje2fPAtcjLddcFOKiIhQ7dq1NWPGDKe3Q77//ntt2bLFqW+nTp2UlZWlUaNG5Rjn/Pnz1q2SF/5XfPH//M+ePavJkydfV40JCQny8vLSxIkTncZ87733lJ6ebt0hcXEt77zzjtO+33nnHYWGhqpevXqSZP2yuvRWXbssWrRIQ4cO1XPPPacOHTrk2O7u7q6OHTvqs88+06ZNm3JsP3TokPXnu+++W/v379enn35qtZ06dUpTp051ac3333+/3N3dNXLkyBxndYwxOnLkiPXc39//sm+vNW/eXJmZmZowYYKaNWtmBZXmzZtr5syZ2r9/v3W9h+T8M3rxem3atEnfffed7r777jzNw8vLS/PmzVODBg3Url07rV69Ok+vB1yJMx+4aY0ePVpt27ZVs2bN1KNHD/3111968803Vb16dafbQVu0aKEnn3xSo0ePVnJyslq1aiVPT09t375dc+fO1RtvvKEHHnhATZo0UYkSJdS1a1c988wzcjgcmjlz5jW9DZGb0NBQDRkyRCNHjlTr1q117733KiUlRZMnT1aDBg2sa0kuiIyM1NixY7V7925VqVJFH3/8sZKTkzV16lTrltyKFSsqJCREU6ZMUWBgoPz9/dWoUaPLXivgap07d1ZoaKgqV66sDz/80Glby5YtFRYWpjFjxmjJkiVq1KiRnnjiCVWrVk1//fWX1q9fr0WLFlmfJfLEE0/orbfe0mOPPaZ169YpIiJCM2fOlJ+fn0trrlixol588UUNGTJEu3fvVocOHRQYGKhdu3bp888/V69evTRw4EBJUr169fTxxx9rwIABatCggQICAtSuXTtJUuPGjeXh4aGUlBSni2LvuOMOvf3225LkFD4kafz48WrTpo0aN26snj17WrfaBgcHa8SIEXmei6+vrxYsWKA777xT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n31WGRkZio2Nlbu7u7KysvTSSy9Z7z+lpqZKklPSu/D8wrZLjR49WiNHjrye2gEAQBGUp7ddPvnkE82aNUuzZ8/W+vXrNWPGDL3yyiuaMWPGdRcwZMgQpaenW4+9e/de91gAAKDwy9OZj3/961969tlnrbdPatasqT/++EOjR49W165dFR4eLklKS0tTRESE9bq0tDTVrl071zG9vb3l7e19neUDAICiJk9nPk6dOiU3N+eXuLu7Kzs7W5IUExOj8PBwLV682NqekZGhVatWqXHjxi4oFwAAFHV5OvPRrl07vfTSSypfvryqV6+uDRs26LXXXlOPHj0kSQ6HQ/369dOLL76oypUrKyYmRsOGDVNkZKQ6dOiQH/UDAIAiJk/h480339SwYcP09NNP6+DBg4qMjNSTTz6p4cOHW30GDRqkkydPqlevXjp27JiaNWumhQsXysfHx+XFAwCAosdhcrunpwBlZGQoODhY6enpCgoKKuhygLwZEVxA+y38tx8C1+rMmTPatWuXYmJi+I9rIXOltcnL72++2wUAANiK8AEAAGxF+AAAALbK0wWnAAAUpJozatq6v1+7/pqn/t26dXP64M2SJUuqQYMGGjdunGrVquXq8oosznwAAOBCrVu31oEDB3TgwAEtXrxYHh4euueeewq6rEKF8AEAgAt5e3srPDxc4eHhql27tp599lnt3btXhw4dkiQNHjxYVapUkZ+fnypUqKBhw4bp3Llz1utHjBih2rVra+bMmYqOjlZwcLAeeughHT9+3OqzcOFCNWvWTCEhISpVqpTuuece7dy509q+e/duORwOzZs3T/Hx8fLz89Ntt92mlStXWn2OHDmizp0765ZbbpGfn59q1qypjz76yIYjRPgAACDfnDhxQh9++KEqVaqkUqVKSZICAwOVlJSkLVu26I033tC0adP0+uuvO71u586dmj9/vhYsWKAFCxZo2bJlGjNmjLX95MmTGjBggNauXavFixfLzc1N9913n/WJ4xc899xzGjhwoJKTk1WlShV17txZ58+fl/T3bbP16tXTV199pU2bNqlXr1569NFHtXr16nw+KlzzAQCASy1YsEABAQGS/g4JERERWrBggfX1JEOHDrX6RkdHa+DAgZozZ44GDRpktWdnZyspKUmBgYGSpEcffVSLFy/WSy+9JEnq2LGj0z7ff/99hYaGasuWLapRo4bVPnDgQLVt21aSNHLkSFWvXl07duxQbGysbrnlFg0cONDq27dvX3377bf65JNP1LBhQ1cekhw48wEAgAvFx8crOTlZycnJWr16tRITE9WmTRv98ccfkqSPP/5YTZs2VXh4uAICAjR06FDt2bPHaYzo6GgreEhSRESEDh48aD3fvn27OnfurAoVKigoKEjR0dGSlGOciy9yvfCFrxfGycrK0qhRo1SzZk2VLFlSAQEB+vbbb3OMkR848wEAgAv5+/urUqVK1vN3331XwcHBmjZtmtq2basuXbpo5MiRSkxMVHBwsObMmaNXX33VaQxPT0+n5w6Hw+ktlXbt2ikqKkrTpk1TZGSksrOzVaNGDZ09e/ay4zgcDkmyxhk/frzeeOMNTZgwQTVr1pS/v7/69euXY4z8QPgAACAfORwOubm56fTp01qxYoWioqL03HPPWdsvnBG5VkeOHFFKSoqmTZum5s2bS5J++umnPNf1888/q3379nrkkUck/R1Ktm3bpmrVquV5rLwifAAA4EKZmZlKTU2VJB09elRvvfWWTpw4oXbt2ikjI0N79uzRnDlz1KBBA3311Vf6/PPP8zR+iRIlVKpUKU2dOlURERHas2ePnn322TzXWblyZX366adasWKFSpQooddee01paWm2hA+u+QAAwIUWLlyoiIgIRUREqFGjRlqzZo3mzp2ruLg43Xvvverfv7/69Omj2rVra8WKFRo2bFiexndzc9OcOXO0bt061ahRQ/3799f48ePzXOfQoUNVt25dJSYmKi4uTuHh4erQoUOex7kefKst4Ep8qy1ww/hW28KLb7UFAABFEuEDAADYivABAABsRfgAAAC2InwAAAqlQnY/BOS6NSF8AAAKlQufynnq1KkCrgSXuvDpp+7u7jc0Dh8yBgAoVNzd3RUSEmJ9B4mfn5/10eAoONnZ2Tp06JD8/Pzk4XFj8YHwAUA1Z9TM1/F/7fprvo6P4ic8PFySnL5MDQXPzc1N5cuXv+EwSPgAABQ6DodDERERKlOmjM6dO1fQ5eB/eXl5yc3txq/YIHwAAAotd3f3G76+AIUPF5wCAABbET4AAICtCB8AAMBWhA8AAGArwgcAALAV4QMAANiK8AEAAGxF+AAAALYifAAAAFsRPgAAgK0IHwAAwFaEDwAAYCvCBwAAsBXhAwAA2IrwAQAA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qGDOnj3rsjELSrF72+Xs2bNat26dEhISrDY3NzclJCRo5cqV1zTGqVOndO7cOZUsWdKpfenSpSpTpoxuvfVWPfXUUzpy5IhLa79eNzpnY4wWL16slJQU3XHHHZKkXbt2KTU11WnM4OBgNWrU6JqPY37KjzlfUNzW+YUXXlCZMmXUs2fPHNuK6zpfac4XFLd1PnHihKKiolSuXDm1b99emzdvtrYV9nWW8mfeFxTGtb6e+X755Zdq3LixevfurbCwMNWoUUMvv/yysrKyrnvMgpJvn3BaUA4fPqysrKwcH+UeFham33777ZrGGDx4sCIjI50WsHXr1rr//vsVExOjnTt36t///rfatGmjlStXyt3d3aVzyKvrnXN6erpuueUWZWZmyt3dXZMnT1bLli0lSampqdYYl455YVtByo85S8VvnX/66Se99957Sk5OznV7cVznq81ZKn7rfOutt+r9999XrVq1lJ6erldeeUVNmjTR5s2bVbZs2UK/zlL+zFsqvGt9PfP9/fff9cMPP6hLly76+uuvtWPHDj399NM6d+6cnn/+eZf8/rNLsQsfN2rMmDGaM2eOli5d6nTh0kMPPWT9uWbNmqpVq5YqVqyopUuX6q677iqIUm9YYGCgkpOTdeLECS1evFgDBgxQhQoVFBcXV9Cl5Zurzbk4rfPx48f16KOPatq0aSpdunRBl2OLa51zcVpnSWrcuLEaN25sPW/SpImqVq2qd955R6NGjSrAyvLXtcy7OK11dna2ypQpo6lTp8rd3V316tXTn3/+qfHjx+v5558v6PLypNiFj9KlS8vd3V1paWlO7WlpaQoPD7/ia1955RWNGTNGixYtUq1ata7Yt0KFCipdurR27NhR4D/A1ztnNzc3VapUSZJUu3Ztbd26VaNHj1ZcXJz1urS0NEVERDiNWbt2bddPIo/yY865KcrrvHPnTu3evVvt2rWz2rKzsyVJHh4eSklJKXbrfC1zrlixYo7XFeV1zo2np6fq1KmjHTt2SFKhX2cpf+adm8Ky1tcz34iICHl6ejqdsalatapSU1N19uxZlxxDuxS7az68vLxUr149LV682GrLzs7W4sWLnRLypcaNG6dRo0Zp4cKFql+//lX3s2/fPh05csTpL3JBud45Xyo7O1uZmZmSpJiYGIWHhzuNmZGRoVWrVuVpzPySH3POTVFe59jY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detWNWzYUBs3btTPP//s9BZEVlaWzpw5o1OnTsnPz0+SVL9+/RuYbe5OnjypnTt3qmfPnnriiSes9vPnzys4ONipb+PGjZ3mVL9+fW3dulWStHXrVjVu3FgOh8Pq07RpU504cUL79u1TamqqMjMzddddd12xnovXJCIiQtLfxz82NjbX/qdPn3Z6y0WSBgwYoMcff1wzZ85UQkKCHnzwQVWsWNGpj6+vr06dOnXFWoDihPABFBKenp5Ozx0Oh1PbhV+kF27LPHHihNq1a5frxZwXflFejxMnTmjkyJG6//77c2y7+Berv7//de/jSvuWpGnTpqlRo0ZO267l7pFr5evre039rnT8c1O6dGkdPXrUqW3EiBF6+OGH9dVXX+mbb77R888/rzlz5ui+++6z+vz1118KDQ3NyxSAIo0LToEiqm7dutq8ebOio6NVqVIlp8eVgsH58+edLnhMSUnRsWPHVLVqVWvclJSUHGNWqlRJbm75+09GWFiYIiMj9fvvv+fYd0xMjFPfX375xWlO69ats+ZQtWpVrVy5UsYYq8/PP/+swMBAlS1bVpUrV5avr68WL17s0vrr1KmjLVu25GivUqWK+vfvr++++07333+/pk+fbm07c+aMdu7cqTp16ri0FqAw48wHUET17t1b06ZNU+fOnTVo0CCVLFlSO3bs0Jw5c/Tuu+9e9kyBp6en+vbtq4kTJ8rDw0N9+vTR7bffroYNG0qShg8frnvuuUfly5fXAw88IDc3N23cuFGbNm3Siy++mKca//rrL+3Zs0f79++X9HfQkf7vjqDcjBw5Us8884yCg4PVunVrZWZmau3atTp69KgGDBhg9Zs0aZIqV66sqlWr6vXXX9fRo0fVo0cPSdLTTz+tCRMmqG/fvurTp49SUlL0/PPPa8CAAXJzc5OPj48GDx6sQYMGycvLS02bNtWhQ4e0efNm9ezZM09zvFhiYqJmzJhhPT99+rT+9a9/6YEHHlBMTIz27dunNWvWON2K+8svv8jb29vpbSSguOPMB1BERUZG6ueff1ZWVpZatWqlmjVrql+/fgoJCbniGQo/Pz8NHjxYDz/8sJo2baqAgAB9/PHH1vbExEQtWLBA3333nRo0aKDbb79dr7/+uqKiovJc45dffqk6deqobdu2kqSHHnpIderU0ZQpUy77mscff1zvvvuupk+frpo1a6pFixZKSkrKceZjzJgxGjNmjG677Tb99NNP+vLLL1W6dGlJ0i233KKvv/5aq1ev1m233aZ//vOf6tmzp4YOHWq9ftiwYfp//+//afjw4apatar+8Y9/WNfTXK8uXbpo8+bNVshyd3fXkSNH9Nhjj6lKlSrq1KmT2rRpo5EjR1qv+eijj9SlSxfrWhrgZuAwF5+XBFCsJSUlqV+/fjp27FhBl3Lddu/erZiYGG3YsEG1a9cu6HJy+Ne//qWMjAy98847V+17+PBh3XrrrVq7dm2OcAUUZ5z5AAAXeu655xQVFXVN39eye/duTZ48meCBmw7XfACAC4WEhOjf//73NfWtX79+vtyyDBR2vO0CAABsxdsuAADAVoQPAABgK8IHAACwFeEDAADYivABAABsRfgAAAC2InwAAABbET4AAICtCB8AAMBW/x8zhxWcomFeRAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(vanilla_timing, label='Vanilla')\n", - "plt.hist(wav_timing, label='Wav')\n", - "plt.hist(banana_timing, label='Banana')\n", - "plt.xlabel(\"Time per 1 epoch (s)\")\n", - "plt.title(\"Ideal optimized network\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimized Vanilla N Params: 58045\n", - "Optimized Wav N Params: 118630\n", - "Optimized Banana split N Params: 1442935\n" - ] - } - ], - "source": [ - "# Parameter numbers \n", - "\n", - "optimized_vanilla = VanillaMLP(**vanilla_params[\"model_params\"])\n", - "total_opt_vanilla_params = sum(p.numel() for p in optimized_vanilla.parameters() if p.requires_grad)\n", - "\n", - "opt_wav = WavMLP(**wav_params['model_params'])\n", - "total_opt_wav_params = sum(p.numel() for p in opt_wav.parameters() if p.requires_grad)\n", - "\n", - "opt_banana = BananaSplitMLP(**vanilla_split_params['model_params'])\n", - "opt_banana_parameters = sum(p.numel() for p in opt_banana.parameters() if p.requires_grad)\n", - "\n", - "print(f\"Optimized Vanilla N Params: {total_opt_vanilla_params}\")\n", - "print(f\"Optimized Wav N Params: {total_opt_wav_params}\")\n", - "print(f\"Optimized Banana split N Params: {opt_banana_parameters}\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Non-Optized \n", - "import time \n", - "num_tests = 100 \n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "\n", - "vanilla_timing = []\n", - "banana_timing = []\n", - "wav_timing = []\n", - "\n", - "vanilla_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"tail\": True,\n", - " }\n", - "banana_params = vanilla_params.copy()\n", - "wav_params = vanilla_params.copy()\n", - "wav_params[\"level\"] = 3\n", - "\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "}\n", - "\n", - "vanilla_network = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=vanilla_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " epochs=1,\n", - " )\n", - "\n", - "banana_network = TrainingLoop(\n", - " model_class=BananaSplitMLP,\n", - " model_params=banana_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " epochs=1,\n", - " )\n", - "\n", - "wav_network = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=wav_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " epochs=1,\n", - " )\n", - "\n", - "for _ in range(num_tests): \n", - "\n", - " start = time.time() \n", - " vanilla_network() \n", - " vanilla_timing.append(time.time()-start)\n", - "\n", - " start = time.time() \n", - " banana_network() \n", - " banana_timing.append(time.time()-start)\n", - "\n", - " start = time.time() \n", - " wav_network() \n", - " wav_timing.append(time.time()-start)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vanilla_timingwav_timingbanana_timing
count100.000000100.000000100.000000
mean0.3166030.3842930.384358
std0.0309990.0281560.040313
min0.2787390.3459120.327838
25%0.2893450.3622970.348332
50%0.3124380.3810500.382325
75%0.3341800.4005380.406376
max0.4237020.4645580.489143
\n", - "
" - ], - "text/plain": [ - " vanilla_timing wav_timing banana_timing\n", - "count 100.000000 100.000000 100.000000\n", - "mean 0.316603 0.384293 0.384358\n", - "std 0.030999 0.028156 0.040313\n", - "min 0.278739 0.345912 0.327838\n", - "25% 0.289345 0.362297 0.348332\n", - "50% 0.312438 0.381050 0.382325\n", - "75% 0.334180 0.400538 0.406376\n", - "max 0.423702 0.464558 0.489143" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.DataFrame({\"vanilla_timing\":vanilla_timing, \"wav_timing\":wav_timing, \"banana_timing\":banana_timing}).describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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j2jXrl1auHChtZ5ni4+PV2BgoP7973/r9OnTBebnH6IKCwtTs2bNNGfOHGVkZFjzv/32W23fvt2tNd91111au3atli1bVmBeenq6zpw5I0ny8/Oz2s6nQ4cO+u6777RhwwYrfDRr1kwBAQGaMmWKfH191aJFC6u/u//WmjRpoq+++ko7duxQjx49uA8IShX2fAAX0bRpUw0YMEBvv/220tPT1alTJ23YsEFz5sxRr169FBcX57ZlDR48WG+99ZYGDhyoTZs2KTIyUp9++ql++OEHTZ06tcD/uUZHR6t9+/YaMmSIcnJyNHXqVFWqVMnlcEH+j9ujjz6q+Ph4eXp66p577nFbzRezZMkSvf/+++rTp4+2bNnict8Lf39/9erVS4GBgZoxY4b69++v5s2b65577lFISIj279+vJUuWqF27dnrzzTclSZMnT1b37t3Vvn17Pfjgg/rzzz/1xhtvqFGjRsrKynJb3f/617/05Zdf6tZbb9XAgQPVokULZWdn6+eff9ann36qffv2qXLlyvL19VXDhg318ccfq27dugoODlbjxo2tE0g7dOigDz/8UA6HwzoM4+npqRtuuEHLli1TbGysvLy8rOUWx9/a9ddfry+++EK33HKL7rjjDi1atOiauQMtSrmSvNQGKCn5l5UeOXLEpX327NlGksv9JU6fPm0SEhJMVFSUKV++vKlZs6YZO3asOXnypMt7IyIiTPfu3Qssq1OnTqZTp06FqistLc088MADpnLlysbLy8vExMQUuHQ1/5LWF1980bz88sumZs2axtvb23To0MG6bDPfmTNnzPDhw01ISIhxOBwul93qApfanvuZDBgwwFSoUOG869WoUaMCdeXXm/9Znu917qWxy5cvN/Hx8cbpdBofHx9Tu3ZtM3DgQLNx40aXfp999plp0KCB8fb2Ng0bNjSff/65GTBgQKEvtS3s9jl+/LgZO3asiY6ONl5eXqZy5crmhhtuMC+99JI5deqU1W/NmjWmRYsWxsvLq8DnuW3bNiPJNGjQwGXsZ5991kgyTz31VIFarvRvzZiC9/kwxpgvvvjClCtXztx9990mNzf3vO8D7OQwphBnjAEoNfbt26eoqCi9+OKLGj16dEmXAwBFxjkfAADAVoQPAABgK8IHAACwFed8AAAAW7HnAwAA2IrwAQAAbFXqbjKWl5en33//XQEB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ff311y7L2rp1q7p16yZ/f39VrVpV/fv31x9//HHB2hITExUUFKRFixapTp068vHxUXx8vA4cOODS74svvlDz5s3l4+OjWrVqKSEhQWfOnLHmOxwOzZgxQ7fddpsqVKig55577rzL69+/v55++ml17ty5SJ/hO++8owYNGsjHx0f169fX9OnTrXn5h0Tmz5+vG264QT4+PmrcuLFWrlzpMsbKlSvVunVreXt7KywsTE888YTLOuTl5emFF15QdHS0vL29FR4eXmA99uzZo7i4OPn5+alp06Zau3btReueP3++unTp4vL8l82bNysuLk4BAQEKDAxUixYttHHjRmt+jx49tHHjRqWkpBTpMwLKtJJ+sh1wNZs9e7ZxOp0F2s99MmenTp1MQECAmTRpktm1a5eZNGmS8fT0NN26dTNvv/222bVrlxkyZIipVKmSyc7ONsYYc+zYMRMSEmLGjh1rduzYYf773/+aLl26mLi4uIvWU758edOyZUuzZs0as3HjRtO6dWtzww03WH1WrVplAgMDTWJioklJSTHffPONiYyMNBMnTrT6SDJVqlQx7733nklJSTG//fbbRT+HvXv3Gknmp59+uuRn9sEHH5iwsDDz2WefmT179pjPPvvMBAcHm8TERJexatSoYT799FOzfft289BDD5mAgADzxx9/GGOMOXjwoPHz8zP/+Mc/zI4dO8zChQtN5cqVzYQJE6zljBkzxlSsWNEkJiaa3bt3m9WrV1tPIM5fRv369c3ixYvNzp07zR133GEiIiLM6dOnL1h7kyZNzJQpU1zaGjVqZO677z6zY8cOs2vXLvPJJ5+Y5ORklz5Vq1Y1s2fPvuRnA1wtCB9AMSpK+Gjfvr01febMGVOhQgXTv39/q+3QoUNGklm7dq0xxphJkyaZm2++2WXcAwcOGElm586dF6xHklm3bp3VtmPHDiPJrF+/3hhjzE033WT+/e9/u7xv7ty5JiwszJqWZEaMGHGJtf+fooSP2rVrm3nz5rm0TZo0ybRt29ZlrLN/5E+fPm1q1Khhnn/+eWOMMePGjTP16tUzeXl5Vp9p06YZf39/k5ubazIzM423t7cVNi5U7zvvvGO1bdu2zUgyO3bsuGDtTqfTvP/++y5tAQEBVnC6kOuuu84l3AFXu3IlsrsFQAFNmjSx/tvT01OVKlVSTEyM1Zb/yPHDhw9L+nt3/vLly+Xv719grJSUFNWtW/e8yylXrpxatWplTdevX19BQUHasWOHWrdurc2bN+uHH35wOQSRm5urkydP6q+//pKfn58kqWXLllewtueXnZ2tlJQUDRo0SA8//LDVfubMGTmdTpe+bdu2dVmnli1baseOHZKkHTt2qG3btnI4HFafdu3aKSsrSwcPHlRqaqpycnJ00003XbSes7dJWFiYpL8///r165+3/4kTJ1wOuUjSqFGj9NBDD2nu3Lnq3Lmz7rzzTtWuXdulj6+vr/7666+L1gJcTQgfQClRvnx5l2mHw+HSlv9Dmn9ZZlZWlnr06HHekznzfygvR1ZWlhISEtS7d+8C887+Ya1QocJlL+Niy5akWbNmqU2bNi7zCnP1SGH5+voWqt/FPv/zqVy5so4dO+bSNnHiRN17771asmSJvv76a02YMEHz58/X7bffbvX5888/FRISUpRVAMo0TjgFyqjmzZtr27ZtioyMVHR0tMvrYsHgzJkzLic87ty5U+np6WrQoIE17s6dOwuMGR0dLQ+P4v0no2rVqqpWrZr27NlTYNlRUVEufdetW+eyTps2bbLWoUGDBlq7dq2MMVafH374QQEBAapRo4bq1KkjX19fJSUlubX+6667Ttu3by/QXrduXY0cOVLffPONevfurdmzZ1vzTp48qZSUFF133XVurQUozdjzAZRRQ4cO1axZs9S3b1+NGTNGwcHB2r17t+bPn6933nnngnsKypcvr+HDh+v1119XuXLlNGzYMF1//fVq3bq1JOnpp5/WrbfeqvDwcN1xxx3y8PDQ5s2btXXrVj377LNFqvHPP//U/v379fvvv0v6O+hI/7si6HwSEhL06KOPyul0qmvXrsrJydHGjRt17NgxjRo1yuo3bdo01alTRw0aNNCrr76qY8eO6cEHH5Qk/eMf/9DUqVM1fPhwDRs2TDt37tSECRM0atQoeXh4yMfHR48//rjGjBkjLy8vtWvXTkeOHNG2bds0aNCgIq3j2eLj4zVnzhxr+sSJE/rXv/6lO+64Q1FRUTp48KB+/PFHl0tx161bJ29vb5fDSMDVjj0fQBlVrVo1/fDDD8rNzdXNN9+smJgYjRgxQkFBQRfdQ+Hn56fHH39c9957r9q1ayd/f399/PHH1vz4+HgtXrxY33zzjVq1aqXrr79er776qiIiIopc45dffqnrrrtO3bt3lyTdc889uu666zRz5swLvuehhx7SO++8o9mzZysmJkadOnVSYmJigT0fU6ZM0ZQpU9S0aVN9//33+vLLL1W5cmVJUvXq1fXVV19pw4YNatq0qR555BENGjRI48ePt97/1FNP6bHHHtPTTz+tBg0a6O6777bOp7lc/fr107Zt26yQ5enpqaNHj+r+++9X3bp1ddddd6lbt25KSEiw3vPRRx+pX79+1rk0wLXAYc7eLwngqpaYmKgRI0YoPT29pEu5bPv27VNUVJR++uknNWvWrKTLKeBf//qXMjMz9dZbb12y7x9//KF69epp48aNBcIVcDVjzwcAuNGTTz6piIiIQj2vZd++fZo+fTrBA9cczvkAADcKCgrSuHHjCtW3ZcuWxXLJMlDacdgFAADYisMuAADAVoQPAABgK8IHAACwFeEDAADYivABAABsRfgAAAC2InwAAABbET4AAICtCB8AAMBW/w+u00DOtTZxTAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(vanilla_timing, label='Vanilla')\n", - "plt.hist(wav_timing, label='Wav')\n", - "plt.hist(banana_timing, label='Banana')\n", - "plt.xlabel(\"Time per 1 epoch (s)\")\n", - "plt.title(\"non-optimized network\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Non Optimized Vanilla N Params: 203530\n", - "Non Optimized Wav N Params: 46090\n", - "Non Optimized Banana split N Params: 1442935\n" - ] - } - ], - "source": [ - "\n", - "vanilla_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"tail\": True,\n", - " }\n", - "banana_params = vanilla_params.copy()\n", - "wav_params = vanilla_params.copy()\n", - "wav_params[\"level\"] = 3\n", - "\n", - "\n", - "vanilla = VanillaMLP(**vanilla_params)\n", - "n_vanilla_params = sum(p.numel() for p in vanilla.parameters() if p.requires_grad)\n", - "\n", - "wav = WavMLP(**wav_params)\n", - "n_wav_params = sum(p.numel() for p in wav.parameters() if p.requires_grad)\n", - "\n", - "banana = BananaSplitMLP(**vanilla_split_params['model_params'])\n", - "n_banana_parameters = sum(p.numel() for p in banana.parameters() if p.requires_grad)\n", - "\n", - "print(f\"Non Optimized Vanilla N Params: {n_vanilla_params}\")\n", - "print(f\"Non Optimized Wav N Params: {n_wav_params}\")\n", - "print(f\"Non Optimized Banana split N Params: {n_banana_parameters}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "## Highly dependent on init conditions\n", - "## Let's check the optimized version\n", - "model_params_baysian_path = \"../results/optimization/wavpool_baysianopt.json\"\n", - "with open(model_params_baysian_path, 'r') as f: \n", - " opt_params = json.load(f) \n", - "\n", - "wavepool_opt_params = pd.DataFrame(opt_params).iloc[pd.DataFrame(opt_params)['target'].idxmax()]['params']" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'hidden_pooling_size': 4.0,\n", - " 'hidden_size': 423.88668401932256,\n", - " 'level_pooling_size': 1.0,\n", - " 'loss_id': 0.1154280237730961,\n", - " 'optimizer_class_id': 0.8989723475654431,\n", - " 'optimizer_lr': 0.0694797027280627,\n", - " 'optimizer_momentum_id': 0.49217496086619184,\n", - " 'pooling_mode_id': 0.7040360357336669}" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wavepool_opt_params" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "def select_wavpool_params(optimizer_class_id, loss_id, optimizer_lr, optimizer_momentum_id, hidden_size, hidden_pooling_size, level_pooling_size, pooling_mode_id):\n", - " optimizer_class = (\n", - " torch.optim.SGD if optimizer_class_id < 0.5 else torch.optim.Adam\n", - " )\n", - " loss = torch.nn.CrossEntropyLoss if loss_id < 0.5 else torch.nn.MultiMarginLoss\n", - "\n", - " optimizer_config = {\"lr\": optimizer_lr}\n", - " if optimizer_class == torch.optim.SGD:\n", - " optimizer_config[\"momentum\"] = optimizer_momentum_id < 0.5\n", - "\n", - " pooling_mode = \"average\" if pooling_mode_id < 0.5 else \"max\"\n", - "\n", - " model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": math.ceil(hidden_size),\n", - " \"hidden_pooling\": math.ceil(hidden_size/hidden_pooling_size), \n", - " \"level_pooling\": math.ceil(level_pooling_size),\n", - " \"out_channels\": 10,\n", - " \"pooling_mode\": pooling_mode\n", - " }\n", - " return optimizer_class, loss, optimizer_config, model_params \n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_class, loss, optimizer_config, model_params = select_wavpool_params(**wavepool_opt_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'in_channels': 28,\n", - " 'hidden_size': 424,\n", - " 'hidden_pooling': 106,\n", - " 'level_pooling': 1,\n", - " 'out_channels': 10,\n", - " 'pooling_mode': 'max'}" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model_params" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "num_tests = 10\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "wavpool_history = {}\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=WavPool,\n", - " model_params=model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=optimizer_class,\n", - " optimizer_config=optimizer_config,\n", - " loss=loss,\n", - " epochs=80,\n", - " )\n", - "\n", - " training()\n", - " wavpool_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABw+ElEQVR4nO3deXhU1fkH8O+dfSb7vkBIwr4JKJthURAUUFHcqhYVW6tVwbXW6s8Nay21tmqtVmtVcF+wirhUBESUTZEdZCdAIDtZJjNJZrvn98fJzGTIQhKSzEzy/TzPPHPnzp0752Yg8+Y97zlHEUIIEBEREYUhTbAbQERERNRWDGSIiIgobDGQISIiorDFQIaIiIjCFgMZIiIiClsMZIiIiChsMZAhIiKisMVAhoiIiMIWAxkiIiIKWwxkiChoDh8+DEVRsGjRomA3pVWysrJw4403tus5FUXB/Pnz2/WcpzJ//nwoitKp70nU3hjIEAXBhx9+CEVR8MknnzR4bvjw4VAUBatWrWrwXK9evTBu3LgOaVNWVhYURfHdkpOTMXHixEbbGEpcLheef/55jB49GlFRUYiMjMTo0aPx/PPPw+Vytfm869atw/z581FRUdF+jSWidsdAhigIJkyYAABYs2ZNwH6r1YqdO3dCp9Nh7dq1Ac/l5eUhLy/P99qOMGLECLz11lt46623cN999yE/Px+XX345Xn755Q57z9Nht9tx/vnn46677kJqair+8pe/4Omnn0Z6ejruuusunH/++bDb7W0697p16/D44483Gsjs3bsX//nPf06z9YFqamrw8MMPt+s5iboDXbAbQNQdpaenIzs7u0Egs379egghcNVVVzV4zvu4IwOZHj164LrrrvM9vuGGG9C3b188++yzuPXWWzvsfdvq3nvvxerVq/HPf/4T8+bN8+2/7bbb8OKLL2LevHm477778NJLL7Xr+xqNxnY9HwCYTKZ2PydRd8CMDFGQTJgwAVu2bEFNTY1v39q1azFkyBDMmDEDGzZsgKqqAc8pioLx48cDABYuXIjzzjsPycnJMBqNGDx4cIMv7Isvvhi9e/du9P1zcnIwatSoZtuYmpqKQYMGITc317dvy5YtmDFjBqKjoxEZGYkpU6Zgw4YNDV576NAhXHXVVYiPj4fFYsHZZ5+NL7744tQ/mBY6duwYXnvtNZx33nkBQYzX3LlzMXnyZLz66qs4duyYb7+iKJg3bx7eeecdDBgwACaTCSNHjsR3333nO2b+/Pn4/e9/DwDIzs72dbcdPnwYQMMamUWLFkFRFKxZswZ33nknkpKSEBsbi9/+9rdwOp2oqKjADTfcgLi4OMTFxeH++++HECKgvfVrZLy1Q03d6vvhhx8wffp0xMTEwGKx4Nxzz22QzQNkIDx69GiYTCb06dMH//73v1v18yYKVczIEAXJhAkT8NZbb+GHH37ApEmTAMhgZdy4cRg3bhwqKyuxc+dODBs2zPfcwIEDkZCQAAB46aWXMGTIEFxyySXQ6XT47LPPcPvtt0NVVcydOxcAcPXVV+OGG27Axo0bMXr0aN97HzlyBBs2bMDTTz/dbBtdLhfy8vJ877lr1y5MnDgR0dHRuP/++6HX6/Hvf/8bkyZNwurVqzF27FgAQFFREcaNG4fq6mrceeedSEhIwBtvvIFLLrkEH330ES677LLT/vn973//g8fjwQ033NDkMTfccANWrVqFr776Cr/5zW98+1evXo0PPvgAd955J4xGI/71r39h+vTp+PHHHzF06FBcfvnl2LdvH9577z08++yzSExMBAAkJSU126Y77rgDqampePzxx7Fhwwa88soriI2Nxbp169CrVy/8+c9/xpdffomnn34aQ4cObbLtSUlJeOuttwL2uVwu3HPPPTAYDL5933zzDWbMmIGRI0fiscceg0aj8QW433//PcaMGQMA2LFjBy644AIkJSVh/vz5cLvdeOyxx5CSktL8D5koHAgiCopdu3YJAOKJJ54QQgjhcrlERESEeOONN4QQQqSkpIgXX3xRCCGE1WoVWq1W3Hzzzb7XV1dXNzjntGnTRO/evX2PKysrhdFoFL/73e8CjvvrX/8qFEURR44c8e3LzMwUF1xwgSgpKRElJSVi27Zt4pprrhEAxB133CGEEGLWrFnCYDCIgwcP+l6Xn58voqKixDnnnOPbd/fddwsA4vvvv/ftq6qqEtnZ2SIrK0t4PB4hhBC5ubkCgFi4cGHrfnj13mPLli1NHrN582YBQNx7772+fQAEAPHTTz/59h05ckSYTCZx2WWX+fY9/fTTAoDIzc1tcN7MzEwxZ84c3+OFCxcKAGLatGlCVVXf/pycHKEoirj11lt9+9xut+jZs6c499xzA84JQDz22GNNXsvtt98utFqt+Oabb4QQQqiqKvr169fgPaurq0V2drY4//zzfftmzZolTCZTwOf9888/C61WK/g1QOGOXUtEQTJo0CAkJCT4al+2bdsGu93uG5U0btw4XxfB+vXr4fF4AupjzGazb7uyshKlpaU499xzcejQIVRWVgIAoqOjMWPGDHz44YcBXRkffPABzj77bPTq1SugTV9//TWSkpKQlJSE4cOHY/Hixbj++uvx1FNPwePx4Ouvv8asWbMCuqvS0tLwy1/+EmvWrIHVagUAfPnllxgzZkxAeyMjI3HLLbfg8OHD+Pnnn0/751dVVQUAiIqKavIY73Pednnl5ORg5MiRvse9evXCpZdeimXLlsHj8bS5TTfddFNA18/YsWMhhMBNN93k26fVajFq1CgcOnSoxed988038a9//Qt//etfMXnyZADA1q1bsX//fvzyl7/EiRMnUFpaitLSUtjtdkyZMgXfffcdVFWFx+PBsmXLMGvWrIDPe9CgQZg2bVqbr5UoVDCQIQoSRVEwbtw4Xy3M2rVrkZycjL59+wIIDGS89/UDg7Vr12Lq1KmIiIhAbGwskpKS8H//938A4AtkANm9lJeXh/Xr1wMADh48iE2bNuHqq69u0KaxY8di+fLlWLFiBdatW4fS0lK8+eabMJvNKCkpQXV1NQYMGNDgdYMGDYKqqsjLywMgu66aOs77/OnyBinegKYxTQU7/fr1a3Bs//79UV1djZKSkja36eTAMCYmBgCQkZHRYH95eXmLzrl161bceuutuPbaa3Hvvff69u/fvx8AMGfOHF/w6b29+uqrcDgcqKysRElJCWpqahq95sY+I6JwwxoZoiCaMGECPvvsM+zYscNXH+M1btw4/P73v8fx48exZs0apKen+zIhBw8exJQpUzBw4EA888wzyMjIgMFgwJdffolnn302oEh45syZsFgs+PDDDzFu3Dh8+OGH0Gg0uOqqqxq0JzExEVOnTu34C28H3qBo+/btGDFiRKPHbN++HQAwePDgTmmTVqtt8X5xUrFvY8rLy3HFFVegf//+ePXVVwOe837GTz/9dJPXHxkZCYfDccr3IQpnDGSIgqj+fDJr167F3Xff7Xtu5MiRMBqN+Pbbb/HDDz/gwgsv9D332WefweFwYOnSpQFZgMYm0YuIiMDFF1+MxYsX45lnnsEHH3yAiRMnIj09vVVtTUpKgsViwd69exs8t2fPHmg0Gl/mITMzs8njvM+frhkzZkCr1eKtt95qsmj2zTffhE6nw/Tp0wP2e7MZ9e3btw8Wi8VX0BvsGW9VVcXs2bNRUVGBFStWwGKxBDzfp08fALL7sLngMykpCWazudFrbuwzIgo37FoiCqJRo0bBZDLhnXfewfHjxwMyMkajEWeddRZefPFF2O32gG4l71/49f+qr6ysxMKFCxt9n6uvvhr5+fl49dVXsW3btka7lU5Fq9XiggsuwKeffuobhgzIEUrvvvsuJkyYgOjoaADAhRdeiB9//NHXnQXIyeteeeUVZGVltUuGJCMjA7/61a+wYsWKRueJefnll/HNN9/gpptuQs+ePQOeW79+PTZv3ux7nJeXh08//RQXXHCB72cbEREBAEGb2ffxxx/HsmXL8N577yE7O7vB8yNHjkSfPn3wt7/9DTabrcHz3i4yrVaLadOmYcmSJTh69Kjv+d27d2PZsmUddwFEnYQZGaIgMhgMGD16NL7//nsYjcaAAlRAdi/9/e9/BxBYH3PBBRfAYDBg5syZ+O1vfwubzYb//Oc/SE5ORkFBQYP3ufDCCxEVFYX77rsPWq0WV1xxRZva+6c//QnLly/HhAkTcPvtt0On0+Hf//43HA4H/vrXv/qOe+CBB/Dee+9hxowZuPPOOxEfH4833ngDubm5+O9//wuNpum/oQ4fPozs7GzMmTPnlGswPfvss9izZw9uv/12fPXVV77My7Jly/Dpp5/i3HPP9f386hs6dCimTZsWMPwakMGDl/ezeOihh3DNNddAr9dj5syZvgCnI+3YsQNPPPEEzjnnHBQXF+Ptt98OeP66666DRqPBq6++ihkzZmDIkCH41a9+hR49euD48eNYtWoVoqOj8dlnn/mu66uvvsLEiRNx++23w+1245///CeGDBni634jClvBHTRFRA8++KAAIMaNG9fguY8//lgAEFFRUcLtdgc8t3TpUjFs2DBhMplEVlaWeOqpp8Trr7/e5JDh2bNnCwBi6tSpjbYjMzNTXHTRRads7+bNm8W0adNEZGSksFgsYvLkyWLdunUNjjt48KC48sorRWxsrDCZTGLMmDHi888/DzimseHXO3bsEADEAw88cMq2CCGEw+EQzz77rBg5cqSIiIgQFotFnHXWWeK5554TTqezwfEAxNy5c8Xbb78t+vXrJ4xG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vho7d+7EV199hRUrVgAAYmJiGpzDbrdj2rRpyMnJwcaNG1FcXIzf/OY3mDdvXkCgtmrVKqSlpWHVqlU4cOAArr76aowYMQI339y+3WH1MZAhIqLw43H5Rx+1huoBjq6T22sAaLSte30rRzr9+te/xtNPP43Vq1dj0qRJAGS30hVXXIHMzEzcd999vmPvuOMOLFu2DB9++GGLApkVq77Dnj17sGzZMqSnpwMA/vznPzeoa3n44Yd921lZWbjvvvvw/vvv4/7774fZbEZkZCR0Oh1SU1ObfK93330XtbW1ePPNNxEREQEAeOGFFzBz5kw89dRTSElJAQDExcXhhRdegFarxcCBA3HRRRdh5cqVHRrIsGuJiIiogwwcOBDjxo3D66+/DgA4cOAAvv/+e9x0003weDx44okncMYZZyA+Ph6RkZFYtmwZjh492qJz7953ABkZGb4gBgBycnIaHPfBBx9g/PjxSE1NRWRkJB5++OEWv4fvvXbvxvDhw31BDACMHz8eqqpi7969vn1DhgyBVusPDtPS0lBcXNyq92otZmSIiCj8aPUyO9JaHqfMxADAhLsBbSvnkdHqW/2WN910E+644w68+OKLWLhwIfr06YNzzz0XTz31FP7xj3/gueeewxlnnIGIiAjcfffdcDrb0OXVhPXr12P27Nl4/PHHMW3aNMTExOD999/H3//ehmxWC+j1gT8fRVGgqmqHvJcXAxkiIgo/itL2yey83UlaQ6dMiPeLX/wCd911F9599128+eabuO2226AoCtauXYtLL70U1113HQBZ87Jv3z4MHjy4Recd1L8v8vLyUFBQgLS0NADAhg0bAo5Zt24dMjMz8dBDD/n2HTlyJOAYg8EAj8fT/HsNGoRFixbBbrf7sjJr166FRqPBgAEDWtTejsKuJSIiog4UGRmJq6++Gg8++CAKCgpw4403AgD69euH5cuXY926ddi9ezd++9vfoqioqMXnnTr5HPTv3x9z5szBtm3b8P333wcELN73OHr0KN5//30cPHgQzz//PD755JOAY7KyspCbm4utW7eitLQUDoejwXvNnj0bJpMJc+bMwc6dO7Fq1SrccccduP766331McHCQIaIiKiD3XTTTSgvL8e0adN8NS0PP/wwzjrrLEybNg2TJk1CamoqZs2a1eJzajQafPLxf1FTU4MxY8bgN7/5DZ58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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACEAklEQVR4nO3deXhU1fkH8O+dfSb7vkBIwr7IIqsg7mgAi4LWolJB3KqCG7VWFAX1p7S1VatSbV1ArQrSqrXVQhERZRNkR3YIBEL2bbLOds/vjzMzyZCFTJhksnw/z5MnyZ07d86dSea+8573nKMIIQSIiIiIuhBNsBtARERE1NYYABEREVGXwwCIiIiIuhwGQERERNTlMAAiIiKiLocBEBEREXU5DICIiIioy2EARERERF0OAyAiIiLqchgAEVGHcuLECSiKgmXLlgW7KX5JS0vD7bffHtBjKoqCRYsWBfSY57Jo0SIoitKmj0nUGhgAEXUQn3zyCRRFwWeffVbvtqFDh0JRFKxbt67ebT169MC4ceNapU1paWlQFMX7FR8fj0suuaTBNrYnDocDr776KkaNGoWwsDCEhoZi1KhRePXVV+FwOFp83E2bNmHRokUoLS0NXGOJqFUwACLqIMaPHw8A2LBhg892q9WKffv2QafTYePGjT63nTp1CqdOnfLetzUMGzYMH3zwAT744AM8+uijOHPmDG644Qa8+eabrfaY56OyshJXX301HnroISQmJuJ3v/sdXnzxRSQnJ+Ohhx7C1VdfjcrKyhYde9OmTXjmmWcaDIAOHTqEt9566zxb76u6uhoLFiwI6DGJugpdsBtARM2TnJyM9PT0egHQ5s2bIYTATTfdVO82z++tGQB169YNv/zlL72/z5w5E71798bLL7+Me++9t9Uet6XmzZuH9evX47XXXsPcuXO92++77z4sWbIEc+fOxaOPPoo33ngjoI9rNBoDejwAMJlMAT8mUVfBDBBRBzJ+/Hjs3LkT1dXV3m0bN27EoEGDMGnSJGzZsgWqqvrcpigKLr74YgDA0qVLceWVVyI+Ph5GoxEDBw6sd6H/2c9+hp49ezb4+GPHjsXIkSObbGNiYiIGDBiAzMxM77adO3di0qRJCA8PR2hoKK666ips2bKl3n2PHz+Om266CdHR0bBYLLjooovw5ZdfnvuJaabTp0/jnXfewZVXXukT/HjMmTMHV1xxBd5++22cPn3au11RFMydOxcffvgh+vXrB5PJhBEjRuC7777z7rNo0SL85je/AQCkp6d7uwVPnDgBoH4N0LJly6AoCjZs2IAHH3wQcXFxiIyMxK9+9SvY7XaUlpZi5syZiIqKQlRUFB577DEIIXzaW7cGyFMb1dhXXT/88AMmTpyIiIgIWCwWXHbZZfWyh4AMoEeNGgWTyYRevXrhr3/9q1/PN1F7xgwQUQcyfvx4fPDBB/jhhx9w+eWXA5BBzrhx4zBu3DiUlZVh3759GDJkiPe2/v37IyYmBgDwxhtvYNCgQbjuuuug0+nw73//G/fffz9UVcWcOXMAANOnT8fMmTOxbds2jBo1yvvYJ0+exJYtW/Diiy822UaHw4FTp055H/Onn37CJZdcgvDwcDz22GPQ6/X461//issvvxzr16/HmDFjAAB5eXkYN24cqqqq8OCDDyImJgbvvfcerrvuOvzjH//AtGnTzvv5++9//wuXy4WZM2c2us/MmTOxbt06rFq1CnfddZd3+/r167FixQo8+OCDMBqN+Mtf/oKJEydi69atuOCCC3DDDTfg8OHD+Pjjj/Hyyy8jNjYWABAXF9dkmx544AEkJibimWeewZYtW/C3v/0NkZGR2LRpE3r06IEXXngBX331FV588UVccMEFjbY9Li4OH3zwgc82h8OBRx55BAaDwbvtm2++waRJkzBixAgsXLgQGo3GGxh///33GD16NABg7969uOaaaxAXF4dFixbB6XRi4cKFSEhIaPpJJuooBBF1GD/99JMAIJ577jkhhBAOh0OEhISI9957TwghREJCgliyZIkQQgir1Sq0Wq24++67vfevqqqqd8yMjAzRs2dP7+9lZWXCaDSKX//61z77/eEPfxCKooiTJ096t6WmpoprrrlGFBQUiIKCArF7925x8803CwDigQceEEIIMXXqVGEwGMSxY8e89ztz5owICwsTl156qXfbww8/LACI77//3rutvLxcpKeni7S0NOFyuYQQQmRmZgoAYunSpf49eXUeY+fOnY3us2PHDgFAzJs3z7sNgAAgfvzxR++2kydPCpPJJKZNm+bd9uKLLwoAIjMzs95xU1NTxaxZs7y/L126VAAQGRkZQlVV7/axY8cKRVHEvffe693mdDpF9+7dxWWXXeZzTABi4cKFjZ7L/fffL7Ra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7zsAsHTpUsTHx+Paa6/1bussr2NVVRU0Gt/QQ6vVQlVVAG38Oga0pJoatXz5cmE0GsWyZcvE/v37xT333CMiIyNFbm5usJvWIuXl5WLnzp1i586dAoB46aWXxM6dO8XJkyeFEHIYY2RkpPjXv/4l9uzZI66//voONRxVCCHuu+8+ERERIb799lufoalVVVXefe69917Ro0cP8c0334gff/xRjB07VowdOzaIrfbP448/LtavXy8yMzPFnj17xOOPPy4URRH/+9//hBAd//waU3cUmBAd/zx//etfi2+//VZkZmaKjRs3igkTJojY2FiRn58vhOj45yeEnMJAp9OJ559/Xhw5ckR8+OGHwmKxiL///e/efTrD+47L5RI9evQQv/3tb+vd1hlex1mzZolu3bp5h8F/+umnIjY2Vjz22GPefdrqdWQA1IZee+010aNHD2EwGMTo0aPFli1bgt2kFlu3bp0AUO9r1qxZQgg5lPGpp54SCQkJwmg0iquuukocOnQouI32U0PnB0AsXbrUu091dbW4//77RVRUlLBYLGLatGkiJycneI320x133CFSU1OFwWAQcXFx4qqrrvIGP0J0/PNrzNkBUEc/z+nTp4ukpCRhMBhEt27dxPTp033mx+no5+fx73//W1xwwQXCaDSK/v37i7/97W8+t3eG953Vq1cLAA22uzO8jlarVTz00EOiR48ewmQyiZ49e4onn3xS2Gw27z5t9ToqQtSZfpGIiIioC2ANEBEREXU5DICIiIioy2EARERERF0OAyAiIiLqchgAERERUZfDAIiIiIi6HAZARERE1OUwACIiagZFUfD5558HuxlEFCAMgIio3bv99tuhKEq9r4kTJwa7aUTUQemC3QAiouaYOHEili5d6rPNaDQGqTVE1NExA0REHYLRaERiYqLPV1RUFADZPfXGG29g0qRJMJvN6NmzJ/7xj3/43H/v3r248sorYTabERMTg3vuuQcVFRU++7z77rsYNGgQjEYjkpKSMHfuXJ/bCwsLMW3aNFgsFvTp0wdffPFF6540EbUaBkBE1Ck89dRTuPHGG7F7927MmDEDN998Mw4cOAAAqKysREZGBqKiorBt2zasXLkSX3/9tU+A88Ybb2DOnDm45557sHfvXnzxxRfo3bu3z2M888wz+MUvfoE9e/Zg8uTJmDFjBoqLi9v0PIkoQAK+vCoRUYDNmjVLaLVaERIS4vP1/PPPCyGEACDuvfden/uMGTNG3HfffUIIIf72t7+JqKgoUVFR4b39yy+/FBqNRuTm5gohhEhOThZPPvlko20AIBYsWOD9vaKiQgAQ//3vfwN2nkTUdlgDREQdwhVXXIE33njDZ1t0dLT357Fjx/rcNnbsWOzatQsAcODAAQwdOhQhISHe2y+++GKoqopDhw5BURScOXMGV111VZNtGDJkiPfnkJAQhIeHIz8/v6WnRERBxACIiDqEkJCQel1SgWI2m5u1n16v9/ldURSoqtoaTSKiVsYaICLqFLZs2VLv9wEDBgAABgwYgN27d6OystJ7+8aNG6HRaNCvXz+EhYUhLS0Na9eubdM2E1HwMANERB2CzWZDbm6uzzadTofY2FgAwMqVKzFy5EiMHz8eH374IbZu3Yp33nkHADBjxgwsXLgQs2bNwqJFi1BQUIAHHngAt912GxISEgAAixYtwr333ov4+HhMmjQJ5eXl2LhxIx544IG2PVEiahMMgIioQ1i1ahWSkpJ8tvXr1w8HDx4EIEdoLV++HPfffz+SkpLw8ccfY+DAgQAAi8WC1atX46GHHsKoUaNgsVhw44034qWXXvIea9asWaipqcHLL7+MRx99FLGxsfj5z3/edidIRG1KEUKIYDeCiOh8KIqCzz77DFOnTg12U4iog2ANEBEREXU5DICIiIioy2ENEBF1eOzJJyJ/MQNEREREXQ4DICIiIupyGAARERFRl8MAiIiIiLocBkBERETU5TAAIiIioi6HARARERF1OQyAiIiIqMthAERERERdzv8De9oSLlPVdBgAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(wavpool_history, \"WavPool, Optimized\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "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.5" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/notebooks/results_visuals.ipynb b/notebooks/results_visuals.ipynb index 3f8f0aa..20f9803 100644 --- a/notebooks/results_visuals.ipynb +++ b/notebooks/results_visuals.ipynb @@ -6,8 +6,8 @@ "metadata": {}, "outputs": [], "source": [ - "import wavNN.training.plot_results as plots\n", - "from wavNN.training.training_metrics import TrainingMetrics\n", + "import WavPool.training.plot_results as plots\n", + "from WavPool.training.training_metrics import TrainingMetrics\n", "\n", "import matplotlib.pyplot as plt\n", "import json \n", diff --git a/notebooks/variance_test_mnist.ipynb b/notebooks/variance_test_mnist.ipynb deleted file mode 100644 index 7553166..0000000 --- a/notebooks/variance_test_mnist.ipynb +++ /dev/null @@ -1,818 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "e8de8375", - "metadata": {}, - "source": [ - "## Imports and utils" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "1da06de9", - "metadata": {}, - "outputs": [], - "source": [ - "from wavNN.traitrain_model import TrainingLoop\n", - "from wavNN.models.wavMLP import *\n", - "from wavNN.models.voting_wavMLP import * \n", - "from wavNN.data_generators.mnist_generator import *\n", - "\n", - "import torch\n", - "\n", - "import numpy as np \n", - "import pandas as pd \n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "76bcc528", - "metadata": {}, - "outputs": [], - "source": [ - "def plot_experiment_history(history, history_name): \n", - " train_loss = np.asarray([history[i]['train_loss'] for i in history])\n", - " train_loss_std = np.std(train_loss, axis=0)\n", - " train_loss_mean = np.mean(train_loss, axis=0)\n", - "\n", - " val_loss = np.asarray([history[i]['val_loss'] for i in history])\n", - " val_std = np.std(val_loss, axis=0)\n", - " val_mean = np.mean(val_loss, axis=0)\n", - "\n", - " plt.errorbar(range(len(train_loss_mean)), train_loss_mean, yerr=train_loss_std, label=\"Train\", alpha=.5)\n", - " plt.errorbar(range(len(train_loss_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - " plt.title(history_name)\n", - " plt.ylabel(\"Loss\")\n", - " \n", - " plt.xlabel(\"Epoch\")\n", - " plt.legend()\n", - " plt.show()\n", - "\n", - " train_ac = np.asarray([history[i]['train_accuracy'] for i in history])\n", - " train_ac_std = np.std(train_ac, axis=0)\n", - " train_ac_mean = np.mean(train_ac, axis=0)\n", - "\n", - " val_ac = np.asarray([history[i]['val_accuracy'] for i in history])\n", - " val_std = np.std(val_ac, axis=0)\n", - " val_mean = np.mean(val_ac, axis=0)\n", - "\n", - " plt.errorbar(range(len(train_ac_mean)), train_ac_mean, yerr=train_ac_std, label=\"Train\", alpha=.5)\n", - " plt.errorbar(range(len(train_ac_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - " plt.legend()\n", - " plt.title(history_name)\n", - " plt.ylabel(\"Accuracy\")\n", - " plt.xlabel(\"Epoch\")\n", - " plt.show()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "1aaafc7d", - "metadata": {}, - "source": [ - "## The single level wavNN method \n", - "\n", - "This is a single level of the wavelet (namely, level 2). Compared against the a single level vanilla NN with a single hidden layer. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "bec817fc", - "metadata": {}, - "outputs": [], - "source": [ - "# Test n iterations of wavNN history\n", - "\n", - "all_wavNN_history = {}\n", - "num_tests = 10\n", - "\n", - "model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"level\": 2,\n", - " \"tail\": True,\n", - " }\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_params = { \"lr\": 0.1, \n", - " \"momentum\":False}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_params,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " )\n", - " training()\n", - " all_wavNN_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "2119c30b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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WeaECRPMb33rW82v9/X7/MlPfmKOHTvWLCwsbH6UlpY2v9/X7880TbOiosIcPHiweeedd5off/yxeejQIXPZsmXmgQMHmo/p63/ulJSUtPgOly9fbgLmypUrTdPsH9/jo48+asbHx5tvvvmmefjwYfPll182IyMjzd/85jfNx3TX96gA1E2mT59uzp8/v/l5MBg009LSzIULF/ZgqzrHvwegUChkpqSkmP/zP//T/FplZaXpdrvNv//97z3Qws5RUlJiAubq1atN07Tuyel0mi+//HLzMbt37zYBc+3atT3VzDMWGxtrPvPMM/3u/qqqqszhw4eby5cvN88///zmANQf7vMnP/mJOXHixJO+1x/uzzRN87777jPPOeecU77fH//c+da3vmUOHTrUDIVC/eZ7vPzyy8277rqrxWvXXnuteeutt5qm2b3fo4bAukFjYyMbN25kzpw5za/ZbDbmzJnD2rVre7BlXePw4cMUFRW1uN/o6GhmzJjRp+/X5/MBEBcXB8DGjRsJBAIt7nPUqFEMGjSoT95nMBhk8eLF1NTUMHPmzH53f/Pnz+fyyy9vcT/Qf77H/fv3k5aWxpAhQ7j11lvJzc0F+s/9LV26lKlTp3L99deTlJTEWWedxdNPP938fn/7c6exsZG//e1v3HXXXRiG0W++x1mzZrFixQr27dsHwNatW/nwww+59NJLge79HrUZajcoKysjGAySnJzc4vXk5GT27NnTQ63qOkVFRQAnvd/j7/U1oVCIe++9l9mzZzNu3DjAuk+Xy0VMTEyLY/vafW7fvp2ZM2dSX19PZGQkS5YsYcyYMWzZsqVf3B/A4sWL2bRpExs2bDjhvf7wPc6YMYPnnnuOkSNHUlhYyCOPPMK5557Ljh07+sX9ARw6dIinnnqK73znO/zoRz9iw4YN/Nd//Rcul4s77rij3/258/rrr1NZWcmdd94J9I//TgF++MMf4vf7GTVqFHa7nWAwyKOPPsqtt94KdO/vDwUgkTaYP38+O3bs4MMPP+zppnS6kSNHsmXLFnw+H6+88gp33HEHq1ev7ulmdZq8vDy+9a1vsXz5cjweT083p0sc/9szwIQJE5gxYwaDBw/mpZdeIiwsrAdb1nlCoRBTp07lv//7vwE466yz2LFjB3/84x+54447erh1ne/Pf/4zl156KWlpaT3dlE710ksv8cILL7Bo0SLGjh3Lli1buPfee0lLS+v271FDYN0gISEBu91+QrV+cXExKSkpPdSqrnP8nvrL/S5YsIA333yTlStXkpGR0fx6SkoKjY2NVFZWtji+r92ny+Vi2LBhTJkyhYULFzJx4kR+85vf9Jv727hxIyUlJUyePBmHw4HD4WD16tX89re/xeFwkJyc3C/u8/NiYmIYMWIEBw4c6DffY2pqKmPGjGnx2ujRo5uH+vrTnzs5OTm8++67fO1rX2t+rb98j9///vf54Q9/yE033cT48eO57bbb+Pa3v83ChQuB7v0eFYC6gcvlYsqUKaxYsaL5tVAoxIoVK5g5c2YPtqxrZGdnk5KS0uJ+/X4/H3/8cZ+6X9M0WbBgAUuWLOG9994jOzu7xftTpkzB6XS2uM+9e/eSm5vbp+7z34VCIRoaGvrN/V100UVs376dLVu2ND+mTp3Krbfe2vxzf7jPz6uurubgwYOkpqb2m+9x9uzZJyxDsW/fPgYPHgz0nz93AJ599lmSkpK4/PLLm1/rL99jbW0tNlvL6GG32wmFQkA3f4+dWlItp7R48WLT7Xabzz33nLlr1y7z7rvvNmNiYsyioqKeblqHVFVVmZs3bzY3b95sAuaTTz5pbt682czJyTFN05rGGBMTY77xxhvmtm3bzKuuuqpPTUc1TdP8xje+YUZHR5urVq1qMTW1tra2+Zivf/3r5qBBg8z33nvP/OSTT8yZM2eaM2fO7MFWt88Pf/hDc/Xq1ebhw4fNbdu2mT/84Q9NwzDMd955xzTNvn9/p/L5WWCm2ffv87vf/a65atUq8/Dhw+aaNWvMOXPmmAkJCWZJSYlpmn3//kzTWsLA4XCYjz76qLl//37zhRdeMMPDw82//e1vzcf0hz93gsGgOWjQIPO+++474b3+8D3ecccdZnp6evM0+Ndee81MSEgwf/CDHzQf013fowJQN/rd735nDho0yHS5XOb06dPNdevW9XSTOmzlypUmcMLjjjvuME3Tmsr44IMPmsnJyabb7TYvuugic+/evT3b6HY62f0B5rPPPtt8TF1dnfnNb37TjI2NNcPDw81rrrnGLCws7LlGt9Ndd91lDh482HS5XGZiYqJ50UUXNYcf0+z793cq/x6A+vp93njjjWZqaqrpcrnM9PR088Ybb2yxPk5fv7/j/vGPf5jjxo0z3W63OWrUKPNPf/pTi/f7w587y5YtM4GTtrs/fI9+v9/81re+ZQ4aNMj0eDzmkCFDzAceeMBsaGhoPqa7vkfDND+3/KKIiIjIAKAaIBERERlwFIBERERkwFEAEhERkQFHAUhEREQGHAUgERERGXAUgERERGTAUQASERGRAUcBSESkDQzD4PXXX+/pZohIJ1EAEpFe784778QwjBMel1xySU83TUT6KEdPN0BEpC0uueQSnn322Ravud3uHmqNiPR16gESkT7B7XaTkpLS4hEbGwtYw1NPPfUUl156KWFhYQwZMoRXXnmlxfnbt2/nC1/4AmFhYcTHx3P33XdTXV3d4pj/+7//Y+zYsbjdblJTU1mwYEGL98vKyrjmmmsIDw9n+PDhLF26tGtvWkS6jAKQiPQLDz74INdddx1bt27l1ltv5aabbmL37t0A1NTUMHfuXGJjY9mwYQMvv/wy7777bouA89RTTzF//nzuvvtutm/fztKlSxk2bFiLz3jkkUe44YYb2LZtG5dddhm33norFRUV3XqfItJJOn17VRGRTnbHHXeYdrvdjIiIaPF49NFHTdM0TcD8+te/3uKcGTNmmN/4xjdM0zTNP/3pT2ZsbKxZXV3d/P5bb71l2mw2s6ioyDRN00xLSzMfeOCBU7YBMH/84x83P6+urjYB81//+len3aeIdB/VAIlIn3DhhRfy1FNPtXgtLi6u+eeZM2e2eG/mzJls2bIFgN27dzNx4kQiIiKa3589ezahUIi9e/diGAYFBQVcdNFFp23DhAkTmn+OiIggKiqKkpKSjt6SiPQgBSAR6RMiIiJOGJLqLGFhYW06zul0tnhuGAahUKgrmiQiXUw1QCLSL6xbt+6E56NHjwZg9OjRbN26lZqamub316xZg81mY+TIkXi9XrKyslixYkW3tllEeo56gESkT2hoaKCoqKjFaw6Hg4SEBABefvllpk6dyjnnnMMLL7zA+vXr+fOf/wzArbfeyk9+8hPuuOMOHn74YUpLS7nnnnu47bbbSE5OBuDhhx/m61//OklJSVx66aVUVVWxZs0a7rnnnu69URHpFgpAItInvP3226SmprZ4beTIkezZswewZmgtXryYb37zm6SmpvL3v/+dMWPGABAeHs6yZcv41re+xbRp0wgPD+e6667jySefbL7WHXfcQX19Pb/61a/43ve+R0JCAvPmzeu+GxSRbmWYpmn2dCNERM6EYRgsWbKEq6++uqebIiJ9hGqAREREZMBRABIREZEBRzVAItLnaSRfRNpLPUAiIiIy4CgAiYiIyICjACQiIiIDjgKQiIiIDDgKQCIiIjLgKACJiIjIgKMAJCIiIgOOApCIiIgMOApAIiIiMuD8f9d7WeTxfhxzAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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gptvvplly5bhOE5KCxSIOS7LNtcCMHGqS/Bw39q+LQBEfVlgWWyr9SYSDynIwGdro0wRETkxdHnOzX7/+Mc/mDlzJuXl5dxzzz1ccMEFLFmyJJW1SVft2wpA1J8DkNxyYZg2yhQRkRNIl3puKisrefTRR/nDH/5AY2MjX/jCF4hGozz77LOaTJxuThwadgLefJt210d1UxSfz98RbrRSSkRETgxH3XNz6aWXMnr0aFauXMl9993H7t27+fd///furE26on47uA4mlE3CDlEZjwBQkhMmM3TMN6IWERHpc476t97f//53vv3tb/ONb3xD2y70Rh1DUiZvKFg72RPzwk2FloCLiMgJ5qh7bl5//XWampqYOHEikydP5re//S01NTXdWZt0RcdkYvKG4hqo6ui50XwbERE50Rx1uDnrrLN46KGH2LNnD1/72teYN28e5eXluK7Liy++SFNTU3fWKUcSa4Fmb6G3yRtKTSJMwthkBHyU5oTTXJyIiEjP6vJqqczMTK655hpef/11Vq1axXe+8x1++tOfUlxczKc+9anuqFE+xP4b95FVDMFMKjuGpIYURrAsLQEXEZETyzEvBQcYPXo0P//5z9m5cydPPPFEqmqSrqrf6v1vwTAA9sS9eTbDCjXfRkRETjwpWUbj8/m47LLLuOyyy1JxuhNXIgav3eM9P/c74D94g9KDGINVv917nl9BY1ucJieABQzJj3RbqSIiIr2V1gj3cX43ihVtgkAYcgezbds+AAr87YQCviO+N+i3uenCUT1RpoiISI85rmEpSb9wotF7kjsIfAG21Xl3JS4NtqWxKhERkfRRuOnjQvvDTX4FjmvYsa8dgJKAwo2IiJyYekW4uf/++6moqCAcDjN58mSWLl162GP/8pe/MGnSJPLy8sjMzGTChAn86U9/6sFqexHjEnKavef5FeyubyPuuIRsh3xfLL21iYiIpEnaw838+fOZM2cOt99+O2+//Tbjx49n+vTpVFdXH/L4goICbr31VhYvXszKlSuZNWsWs2bN4oUXXujhytMv6LRiGwcTiEB2Kds6NsosDbShFeAiInKiSnu4uffee7n22muZNWsWY8eO5cEHHyQjI4OHH374kMd/7GMf4zOf+Qwnn3wyI0aM4IYbbuC0007j9ddf7+HK02//fBuTOwQsi621LcBhhqR8QZYMuY4lQ64D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1atXG2P6/vV90NKlS01FRYU57bTTzA033JBs7w/Xefvtt5tTTjnF7NmzJ/nYu3dv8vW+fo11dXVm6NCh5uqrrzZvvPGG2bx5s3nhhRfMxo0bk8f09X9zjDGmurq603f44osvGsC88sorxpi+/z0aY8xPfvITU1hYaP73f//XbNmyxTz11FMmKyvL/PrXv04e0xPfpcJNCpx55pnm+uuvT/7sOI4pLy83c+fOTWNVqfPBcOO6riktLTW/+MUvkm319fUmFAqZJ554Ig0VHr/q6moDmFdffdUY411PIBAwTz31VPKYNWvWGMAsXrw4XWUet/z8fPP73/++311fU1OTOemkk8yLL75ozjvvvGS46S/Xefvtt5vx48cf8rX+cI3f/e53zTnnnHPY1/vjvznGGHPDDTeYESNGGNd1+8X3aIwxl1xyibnmmms6tX32s581V155pTGm575LDUsdp1gsxrJly5g2bVqyzbZtpk2bxuLFi9NYWffZsmULlZWVna45NzeXyZMn99lrbmhoAKCgoACAZcuWEY/HO13jmDFjGDJkSJ+8RsdxmDdvHi0tLUyZMqXfXd/111/PJZdc0ul6oH99jxs2bKC8vJzhw4dz5ZVXsn37dqB/XONzzz3HpEmT+PznP09xcTGnn346Dz30UPL1/vhvTiwW489//jPXXHMNlmX1i+8RYOrUqSxYsID169cDsGLFCl5//XUuuugioOe+yxNu48xUq6mpwXEcSkpKOrWXlJSwdu3aNFXVvSorKwEOec37X+tLXNflxhtv5Oyzz+bUU08FvGsMBoPk5eV1OravXeOqVauYMmUK7e3tZGVl8cwzzzB27FiWL1/eL64PYN68ebz99tu8+eabB73WX77HyZMn8+ijjzJ69Gj27NnDnXfeybnnnsvq1av7xTVu3ryZBx54gDlz5vD973+fN998k29/+9sEg0FmzpzZ7/7NAXj22Wepr6/n6quvBvrP39Xvfe97NDY2MmbMGHw+H47j8JOf/IQrr7wS6LnfHwo3csK7/vrrWb16Na+//nq6S0m50aNHs3z5choaGnj66aeZOXMmr776arrLSpkdO3Zwww038OKLLxIOh9NdTrfZ/1+9AKeddhqTJ09m6NChPPnkk0QikTRWlhqu6zJp0iTuvvtuAE4//XRWr17Ngw8+yMyZM9NcXff4wx/+wEUXXUR5eXm6S0mpJ598kscee4zHH3+cU045heXLl3PjjTdSXl7eo9+lhqWOU1FRET6f76AZ7VVVVZSWlqapqu61/7r6wzXPnj2b//3f/+WVV15h0KBByfbS0lJisRj19fWdju9r1xgMBhk5ciQTJ05k7ty5jB8/nl//+tf95vqWLVtGdXU1H/nIR/D7/fj9fl599VV+85vf4Pf7KSkp6RfX+UF5eXmMGjWKjRs39ovvsqysjLFjx3ZqO/nkk5NDb/3p3xyAbdu28dJLL/HVr3412dYfvkeA/+//+//43ve+xxVXXMG4ceP48pe/zE033cTcuXOBnvsuFW6OUzAYZOLEiSxYsCDZ5rouCxYsYMqUKWmsrPsMGzaM0tLSTtfc2NjIG2+80Weu2RjD7NmzeeaZZ3j55ZcZNmxYp9cnTpxIIBDodI3r1q1j+/btfeYaD8V1XaLRaL+5vo9//OOsWrWK5cuXJx+TJk3iyiuvTD7vD9f5Qc3NzWzatImysrJ+8V2effbZB92KYf369QwdOhToH//mvN8jjzxCcXExl1xySbKtP3yPAK2trdh252jh8/lwXRfowe8yZVOTT2Dz5s0zoVDIPProo+a9994z1113ncnLyzOVlZXpLu2YNTU1mXfeece88847BjD33nuveeedd8y2bduMMd5Svry8PPPf//3fZuXKlebTn/50n1qW+Y1vfMPk5uaahQsXdlqa2dramjzm61//uhkyZIh5+eWXzVtvvWWmTJlipkyZksaqu+Z73/ueefXVV82WLVvMypUrzfe+9z1jWZb5v//7P2NM37++w3n/ailj+sd1fuc73zELFy40W7ZsMYsWLTLTpk0zRUVFprq62hjT969x6dKlxu/3m5/85Cdmw4YN5rHHHjMZGRnmz3/+c/KYvv5vzn6O45ghQ4aY7373uwe91te/R2OMmTlzphk4cGByKfhf/vIXU1RUZP7t3/4teUxPfJcKNyny7//+72bIkCEmGAyaM8880yxZsiTdJR2XV155xQAHPWbOnGmM8Zbz/fCHPzQlJSUmFAqZj3/842bdunXpLboLDnVtgHnkkUeSx7S1tZlvfvObJj8/32RkZJjPfOYzZs+ePekruouuueYaM3ToUBMMBs2AAQPMxz/+8WSwMabvX9/hfDDc9IfrnDFjhikrKzPBYNAMHDjQzJgxo9M9YPrDNf7P//yPOfXUU00oFDJjxowxv/vd7zq93tf/zdnvhRdeMMAha+8P32NjY6O54YYbzJAhQ0w4HDbDhw83t956q4lGo8ljeuK7tIx5320DRURERPo4zbkRERGRfkXhRkRERPoVhRsRERHpVxRuREREpF9RuBEREZF+ReFGRERE+hWFGxEREelXFG5E5IRnWRbPPvtsussQkRRRuBGRtLr66quxLOugxyc+8Yl0lyYifZQ/3QWIiHziE5/gkUce6dQWCoXSVI2I9HXquRGRtAuFQpSWlnZ65OfnA96Q0QMPPMBFF11EJBJh+PDhPP30053ev2rVKi644AIikQiFhYVcd911NDc3dzrm4Ycf5pRTTiEUClFWVsbs2bM7vV5TU8NnPvMZMjIyOOmkk3juuee696JFpNso3IhIr/fDH/6Qyy+/nBUrVnDllVdyxRVXsGbNGgBaWlqYPn06+fn5vPnmmzz11FO89NJLncLLAw88wPXXX891113HqlWreO655xg5cmSnz7jzzjv5whe+wMqVK7n44ou58sorqaur69HrFJEUSek2nCIiXTRz5kzj8/lMZmZmp8dPfvITY4y3g/vXv/71Tu+ZPHmy+cY3vmGMMeZ3v/udyc/PN83NzcnX//rXvxrbtk1lZaUxxpjy8nJz6623HrYGwPzgBz9I/tzc3GwA8/e//z1l1ykiPUdzbkQk7c4//3weeOCBTm0FBQXJ51OmTOn02pQpU1i+fDkAa9asYfz48WRmZiZfP/vss3Fdl3Xr1mFZFrt37+bjH//4EWs47bTTks8zMzPJycmhurr6WC9JRNJI4UZE0i4zM/OgYaJUiUQiR3VcIBDo9LNlWbiu2x0liUg305wbEen1lixZctDPJ598MgAnn3wyK1asoKWlJfn6okWLsG2b0aNHk52dTUVFBQsWLOjRmkUkfdRzIyJpF41Gqays7NTm9/spKioC4KmnnmLSpEmcc845PPbYYyxdupQ//OEPAFx55ZXcfvvtzJw5kzvuuIO9e/fyrW99iy9/+cuUlJQAcMcdd/D1r3+d4uJiLrroIpqamli0aBHf+ta3evZCRaRHKNyISNo9//zzlJWVdWobPXo0a9euBbyVTPPmzeOb3/wmZWVlPPHEE4wdOxaAjIwMXnjhBW644QbOOOMMMjIyuPzyy7n33nuT55o5cybt7e386le/4uabb6aoqIjPfe5zPXeBItKjLGOMSXcRIiKHY1kWzzzzDJdddlm6SxGRPkJzbkRERKRfUbgRERGRfkVzbkSkV9PIuYh0lXpuREREpF9RuBEREZF+ReFGRERE+hWFGxEREelXFG5ERESkX1G4ERERkX5F4UZERET6FYUbERER6VcUbkRERKRf+f8BCw/Q1Y9mEDgAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(all_wavNN_history, \"WavMLP\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1a2d85bb", - "metadata": {}, - "outputs": [], - "source": [ - "# Test 30 iterations of wavNN history\n", - "\n", - "all_vanilla_history = {}\n", - "num_tests = 5\n", - "\n", - "model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"tail\": True,\n", - " }\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_params,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " )\n", - " training()\n", - " all_vanilla_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9f3bdb98", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACGm0lEQVR4nOzdd3yUVdr4/889PZMp6Zn0hBqqIB0UURFRV8SyRVFk19XfPhtU1sddv6xlVVxR19V9dtdldy1gQxQFsVJEUFG6BAglhBLSJr1Mkkmm//4YiUZaSAZSuN6v17ycmfs+15x7QHLlnHNfRwkEAgGEEEIIIcQZUXV2B4QQQgghuiNJooQQQggh2kGSKCGEEEKIdpAkSgghhBCiHSSJEkIIIYRoB0mihBBCCCHaQZIoIYQQQoh2kCRKCCGEEKIdJIkSQgghhGgHSaKEEOe9WbNmkZ6e3uo9RVF49NFHW14vWrQIRVHIz88/p30TQnRdkkQJIbqEadOmYTQaqa+vP+k5M2bMQKfTUVVVdQ571nGzZs1CURQsFgtNTU3HHc/Ly0NRFBRF4dlnn215f/369SiKwrvvvnvK+MfaKoqCSqUiMTGRKVOmsH79+lBfihDiBySJEkJ0CTNmzKCpqYnly5ef8LjT6WTFihVMnTqV6OjokH72iy++SG5ubkhj/phGo8HpdPLhhx8ed+zNN9/EYDB0KP4VV1zB66+/zquvvspvfvMbdu3axWWXXcann37aobhCiJOTJEoI0SVMmzYNs9nM4sWLT3h8xYoVNDY2MmPGjJB/tlarRa/XhzzuD+n1ei6//HLeeuut444tXryYa665pkPx+/Xrx6233sptt93GI488wpo1awgEAvztb3/rUFwhxMlJEiWE6BLCwsK44YYbWLt2LeXl5ccdX7x4MWazmYsuuoj777+fIUOGYDKZsFgsXHXVVezcubPV+cemwt555x3+/Oc/k5ycjMFg4PLLL+fgwYOtzj3Rmqi2WLFiBddccw2JiYno9Xp69+7NvHnz8Pl8Jzz/lltu4dNPP6W2trblva1bt5KXl8ctt9xyxp9/KkOGDCEmJoYjR46ENK4Q4nuSRAkhuowZM2bg9Xp55513Wr1fXV3NqlWruP7667Hb7bz//vv85Cc/4bnnnuP3v/89u3fv5pJLLqGkpOS4mE899RTLly/n/vvvZ+7cuWzatClko1mLFi3CZDJx33338X//93+MGDGCRx55hP/3//7fCc+/4YYbUBSFZcuWtby3ePFiMjMzufDCC0PSp2NqamqoqakJ+dSnEOJ7ms7ugBBCHHPZZZeRkJDA4sWLmT17dsv7S5cuxePxMGPGDIYMGcKBAwdQqb7/HfC2224jMzOTl19+mYcffrhVzObmZrKzs9HpdABERkZy7733kpOTw+DBgzvU38WLFxMWFtby+je/+Q2/+c1v+Ne//sUTTzxx3BSh2WzmJz/5CYsXL+ZXv/oVfr+fJUuW8D//8z8d6gcEr7OyspJAIMCRI0f44x//iM/n46c//WmHYwshTkxGooQQXYZareYXv/gFGzdubFVKYPHixcTHx3P55Zej1+tbEiifz0dVVRUmk4n+/fvz7bffHhfzl7/8ZUsCBXDxxRcDcPjw4Q7394cJVH19PZWVlVx88cU4nU72799/wja33HIL69evp7S0lM8//5zS0tKQTOW9/PLLxMbGEhcXx5gxY/j666+57777mDNnTodjCyFOTJIoIUSXcmyq7dgC86KiIr766it+8YtfoFar8fv9PP/88/Tt2xe9Xk9MTAyxsbHs2rWLurq64+Klpqa2eh0ZGQkEp7s6as+ePVx//fVYrVYsFguxsbHceuutACfsC8DVV1+N2Wzm7bff5s0332TUqFH06dOnw3257rrrWLNmDZ999hmbN2+msrKSv/71r61G7IQQoSXTeUKILmXEiBFkZmby1ltv8cc//pG33nqLQCDQklw9+eSTPPzww/zqV79i3rx5REVFoVKpmDNnDn6//7h4arX6hJ8TCAQ61M/a2louueQSLBYLjz/+OL1798ZgMPDtt9/ywAMPnLAvELxL74YbbuDVV1/l8OHDrQp6dkRycjKTJ08OSSwhRNtIEiWE6HJmzJjBww8/zK5du1i8eDF9+/Zl1KhRALz77rtceumlvPzyy63a1NbWEhMTc876uH79eqqqqli2bBkTJ05seb8td8PdcsstvPLKK6hUKn7xi1+czW4KIc4iGecVQnQ5x0adHnnkEbKzs1vdTadWq48bRVq6dCnFxcXntI/HRrh+2Be3282//vWv07a99NJLmTdvHv/85z+x2WxnrY9CiLNLRqKEEF1ORkYG48ePZ8WKFQCtkqif/OQnPP744/zyl79k/Pjx7N69mzfffJNevXqd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t5xz3333sXLlSt544w327dvHnDlzmD17Nh988AEAKSkp2O32Vo/HHnsMk8nEVVdd1erzFi5c2Oq86dOnn5XvQgghhBBtoNFDv6nB5/V2qC/tvK502icDK1eubPV60aJFxMXFsX37diZOnHjCNm+++War1y+99BLvvfcea9euZebMmQB888033H777UyaNAmAu+66i//85z9s2bKFadOmoVarsdlsreIsX76cn/3sZ5hMplbvR0REHHeuEEIIITpRZDpYkkEbBqb4TutGl1oTVVdXB0BUVFSb2zidTjweT6s248eP54MPPqC4uJhAIMC6des4cOAAU6ZMOWGM7du3k52dzR133HHcsaysLGJiYhg9ejSvvPIKgUDgpH1xuVw4HI5WDyGEEEKcBVEZYLaBonRaF7rMBsR+v585c+YwYcIEBg8e3OZ2DzzwAImJiUyePLnlvX/84x/cddddJCcno9FoUKlUvPjiiycd3Xr55ZcZMGAA48ePb/X+448/zmWXXYbRaGT16tX89re/paGhgXvuueeEcebPn89jjz3W5r4LIYQQovvqMklUVlYWOTk5bNiwoc1tnnrqKZYsWcL69esxGAwt7//jH/9g06ZNfPDBB6SlpfHll1+SlZV1XLIF0NTUxOLFi3n44YePi//D94YPH05jYyN/+ctfTppEzZ07l/vuu6/ltcPhICUlpc3XI4QQQojuo0skUbNnz+ajjz7iyy+/JDk5uU1tnn32WZ566ik+++wzhg4d2vJ+U1MTf/zjH1m+fDnXXHMNAEOHDiU7O5tnn332uCTq3Xffxel0tqynOpUxY8Ywb948XC4Xer3+uON6vf6E7wshhBCi5+nUJCoQCHD33XezfPly1q9fT0ZGRpvaPfPMM/z5z39m1apVjBw5stUxj8eDx+NBpWq93EutVuP3+4+L9fLLLzNt2jRiY2NP+7nZ2dlERkZKoiSEEEKIzk2isrKyWLx4MStWrMBsNlNaGrxN0Wq1EhYWBsDMmTNJSkpi/vz5ADz99NM88sgjLF68mPT09JY2JpMJk8mExWLhkksu4fe//z1hYWGkpaXxxRdf8Nprr/Hcc8+1+vyDBw/y5Zdf8sknnxzXtw8//JCysjLGjh2LwWBgzZo1PPnkk9x///1n8ysRQgghRDfRqUnUggULAFpKERyzcOFCZs2aBUBBQUGrUaUFCxbg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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB4R0lEQVR4nO3dd3hc1bX38e8500e9F1u23Au4gBumFxNa6EkgccCYBN4kOIE4vBdIQs1NnEpI4cJ7cyn3JjEmcGkJxAQMphoMNu69V/Xepp39/jG2QFi2JVnyWPLv8zzzPJozZ86sg4y0tPfaa1vGGIOIiIhIH2EnOgARERGR7qTkRkRERPoUJTciIiLSpyi5ERERkT5FyY2IiIj0KUpuREREpE9RciMiIiJ9ipIbERER6VOU3IiIiEifouRGRI5ZN9xwA8XFxW2OWZbFfffd1/r8ySefxLIstm3bdlRjE5Fjl5IbETmkyy67jGAwSH19/UHPmT59Ol6vl8rKyqMY2ZG74YYbsCyL1NRUmpubD3h948aNWJaFZVn8+te/bj2+cOFCLMvi2WefPeT197/Xsixs26awsJAvfOELLFy4sLtvRUQ+Q8mNiBzS9OnTaW5u5vnnn2/39aamJl588UUuvPBCsrKyuvWz//SnP7F+/fpuvebnud1umpqa+Pvf/37Aa3/961/x+/1HdP3zzz+fP//5z/z3f/833/rWt1ixYgXnnnsu//znP4/ouiJycEpuROSQLrvsMlJSUpg7d267r7/44os0NjYyffr0bv9sj8eDz+fr9ut+ls/n47zzzuOpp5464LW5c+dyySWXHNH1hw8fzte//nWuu+467rnnHl577TWMMTz00ENHdF0ROTglNyJySIFAgKuuuooFCxZQVlZ2wOtz584lJSWF008/ndtvv50xY8aQnJxMamoqF110EcuXL29z/v4pnb/97W/89Kc/pX///vj9fs477zw2bdrU5tz2am464sUXX+SSSy6hsLAQn8/HkCFD+MlPfkIsFmv3/K997Wv885//pKampvXYRx99xMaNG/na177W6c8/lDFjxpCdnc3WrVu79boi8iklNyJyWNOnTycajfK3v/2tzfGqqipeffVVrrzySvbu3csLL7zAF7/4RR588EH+7//9v6xcuZKzzjqLPXv2HHDNn//85zz//PPcfvvt3HXXXXzwwQfdNvrz5JNPkpyczOzZs/nd737HhAkTuOeee7jzzjvbPf+qq67Csiyee+651mNz585l5MiRnHzyyd0S037V1dVUV1d3+xSeiHzKnegAROTYd+6551JQUMDcuXOZNWtW6/FnnnmGSCTC9OnTGTNmDBs2bMC2P/2b6brrrmPkyJE89thj3H333W2u2dLSwrJly/B6vQBkZGRw6623smrVKk488cQjinfu3LkEAoHW59/61rf41re+xX/8x3/w7//+7wdMdaWkpPDFL36RuXPncuONN+I4DvPmzePb3/72EcUB8fusqKjAGMPWrVv54Q9/SCwW48tf/vIRX1tE2qeRGxE5LJfLxbXXXsuiRYvaLLmeO3cueXl5nHfeefh8vtbEJhaLUVlZSXJyMiNGjGDp0qUHXHPmzJmtiQ3AGWecAcCWLVuOON7PJjb19fVUVFRwxhln0NTUxLp169p9z9e+9jUWLlxISUkJb7zxBiUlJd0yJfXYY4+Rk5NDbm4uU6ZM4b333mP27NncdtttR3xtEWmfkhsR6ZD9U0b7C4t37drFO++8w7XXXovL5cJxHH77298ybNgwfD4f2dnZ5OTksGLFCmpraw+43oABA9o8z8jIAOLTNkdq9erVXHnllaSlpZGamkpOTg5f//rXAdqNBeDiiy8mJSWFp59+mr/+9a9MmjSJoUOHHnEsl19+Oa+99hqvv/46H374IRUVFfzmN79pM8IlIt1L01Ii0iETJkxg5MiRPPXUU/zwhz/kqaeewhjTmvT87Gc/4+677+bGG2/kJz/5CZmZmdi2zW233YbjOAdcz+Vytfs5xpgjirOmpoazzjqL1NRUHnjgAYYMGYLf72fp0qXccccd7cYC8VVTV111Ff/93//Nli1b2jQKPBL9+/dn2rRp3XItEekYJTci0mHTp0/n7rvvZsWKFcydO5dhw4YxadIkAJ599lnOOeccHnvssTbvqampITs7+6jFuHDhQiorK3nuuec488wzW493ZHXS1772NR5//HFs2+baa6/tyTBFpAdpXFREOmz/KM0999zDsmXL2qxucrlcB4y6PPPMM+zevfuoxrh/ROizsYTDYf7jP/7jsO8955xz+MlPfsIf//hH8vPzeyxGEelZGrkRkQ4bNGgQp556Ki+++CJAm+Tmi1/8Ig888AAzZ87k1FNPZeXKlfz1r39l8ODBRzXG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NIhAIMCQIUP4yU9+0mY/qKPyvTRyxObNm2e8Xq95/PHHzerVq81NN91k0tPTTWlpaaJD67JXXnnF/OhHPzLPPfecAczzzz/f5vWf//znJi0tzbzwwgtm+fLl5rLLLjODBg0yzc3NiQm4ky644ALzxBNPmFWrVplly5aZiy++2AwYMMA0NDS0nvOtb33LFBUVmQULFpiPP/7YnHLKKebUU09NYNSd89JLL5mXX37ZbNiwwaxfv9788Ic/NB6Px6xatcoY0/vv7/MWL15siouLzdixY82tt97aerwv3Oe9995rTjjhBLN3797WR3l5eevrvf0eq6qqzMCBA80NN9xgPvzwQ7Nlyxbz6quvmk2bNrWe09t/5hhjTFlZWZvv4WuvvWYA8+abbxpjev/30RhjfvrTn5qsrCzzj3/8w2zdutU888wzJjk52fzud79rPedofC+V3HSDyZMnm1tuuaX1eSwWM4WFhWbOnDkJjKr7fD65cRzH5Ofnm1/96letx2pqaozP5zNPPfVUAiI8cmVlZQYwb731ljEmfj8ej8c888wzreesXbvWAGbRokWJCvOIZWRkmP/6r//qc/dXX19vhg0bZl577TVz1llntSY3feU+7733XjNu3Lh2X+sL93jHHXeY008//aCv98WfOcYYc+utt5ohQ4YYx3H6xPfRGGMuueQSc+ONN7Y5dtVVV5np06cbY47e91LTUkcoHA6zZMkSpk2b1nrMtm2mTZvGokWLEhhZz9m6dSslJSVt7jktLY0pU6b02nuura0FIDMzE4AlS5YQiUTa3OPIkSMZMGBAr7zHWCzGvHnzaGxsZOrUqX3u/m655RYuueSSNvcDfev7uHHjRgoLCxk8eDDTp09nx44dQN+4x5deeomJEyfy5S9/mdzcXE466ST+9Kc/tb7eF3/mhMNh/vKXv3DjjTdiWVaf+D4CnHrqqSxYsIANGzYAsHz5ct59910uuugi4Oh9L4+7jTO7W0VFBbFYjLy8vDbH8/LyWLduXYKi6lklJSUA7d7z/td6E8dxuO222zjttNM48cQTgfg9er1e0tPT25zb2+5x5cqVTJ06lZaWFpKTk3n++ecZPXo0y5Yt6xP3BzBv3jyWLl3KRx99dMBrfeX7OGXKFJ588klGjBjB3r17uf/++znjjDNYtWpVn7jHLVu28MgjjzB79mx++MMf8tFHH/G9730Pr9fLjBkz+tzPHIAXXniBmpoabrjhBqDv/Fu98847qaurY+TIkbhcLmKxGD/96U+ZPn06cPR+fyi5kePeLbfcwqpVq3j33XcTHUq3GzFiBMuWLaO2tpZnn32WGTNm8NZbbyU6rG6zc+dObr31Vl577TX8fn+iw+kx+//qBRg7dixTpkxh4MCB/O1vfyMQCCQwsu7hOA4TJ07kZz/7GQAnnXQSq1at4tFHH2XGjBkJjq5nPPbYY1x00UUUFhYmOpRu9be//Y2//vWvzJ07lxNOOIFly5Zx2223UVhYeFS/l5qWOkLZ2dm4XK4DKtpLS0vJz89PUFQ9a/999YV7njVrFv/4xz9488036d+/f+vx/Px8wuEwNTU1bc7vbffo9XoZOnQoEyZMYM6cOYwbN47f/e53feb+lixZQllZGSeffDJutxu3281bb73F73//e9xuN3l5eX3iPj8vPT2d4cOHs2nTpj7xvSwoKGD06NFtjo0aNap16q0v/cwB2L59O6+//jrf/OY3W4/1he8jwP/9v/+XO++8k2uvvZYxY8Zw3XXX8f3vf585c+YAR+97qeTmCHm9XiZMmMCCBQtajzmOw4IFC5g6dWoCI+s5gwYNIj8/v80919XV8eGHH/aaezbGMGvWLJ5//nneeOMNBg0a1Ob1CRMm4PF42tzj+vXr2bFjR6+5x/Y4jkMoFOoz93feeeexcuVKli1b1vqYOHEi06dPb/26L9zn5zU0NLB582YKCgr6xPfytNNOO6AVw4YNGxg4cCDQN37mfNYTTzxBbm4ul1xySeuxvvB9BGhqasK226YWLpcLx3GAo/i97LbS5OPYvHnzjM/nM08++aRZs2aNufnmm016eropKSlJdGhdVl9fbz755BPzySefGMA8+OCD5pNPPjHbt283xsSX8qWnp5sXX3zRrFixwlx++eW9alnmt7/9bZOWlmYWLlzYZmlmU1NT6znf+ta3zIABA8wbb7xhPv74YzN16lQzderUBEbdOXfeead56623zNatW82KFSvMnXfeaSzLMv/617+MMb3//g7ms6uljOkb9/mDH/zALFy40GzdutW89957Ztq0aSY7O9uUlZUZY3r/PS5evNi43W7z05/+1GzcuNH89a9/NcFg0PzlL39pPae3/8zZLxaLmQEDBpg77rjjgNd6+/fRGGNmzJhh+vXr17oU/LnnnjPZ2dnm3/7t31rPORrfSyU33eQPf/iDGTBggPF6vWby5Mnmgw8+SHRIR+TNN980wAGPGTNmGGPiy/nuvvtuk5eXZ3w+nznvvPPM+vXrExt0J7R3b4B54oknWs9pbm423/nOd0xGRoYJBoPmyiuvNHv37k1c0J104403moEDBxqv12tycnLMeeed15rYGNP77+9gPp/c9IX7vOaaa0xBQYHxer2mX79+5pprrmnTA6Yv3OPf//53c+KJJxqfz2dGjhxp/vM//7PN6739Z85+r776qgHajb0vfB/r6urMrbfeagYMGGD8fr8ZPHiw+dGPfmRCoVDrOUfje2kZ85m2gSIiIiK9nGpuREREpE9RciMiIiJ9ipIbERER6VOU3IiIiEifouRGRERE+hQlNyIiItKnKLkRERGRPkXJjYgc9yzL4oUXXkh0GCLSTZTciEhC3XDDDViWdcDjwgsvTHRoItJLuRMdgIjIhRdeyBNPPNHmmM/nS1A0ItLbaeRGRBLO5/ORn5/f5pGRkQHEp4weeeQRLrroIgKBAIMHD+bZZ59t8/6VK1dy7rnnEggEyMrK4uabb6ahoaHNOY8//jgnnHACPp+PgoICZs2a1eb1iooKrrzySoLBIMOGDeOll17q2ZsWkR6j5EZEjnl33303V199NcuXL2f69Olce+21rF27FoDGxkYuuOACMjIy+Oijj3jmmWd4/fXX2yQvjzzyCLfccgs333wzK1eu5KWXXmLo0KFtPuP+++/nK1/5CitWrODiiy9m+vTpVFVVHdX7FJFu0q3bcIqIdNKMGTOMy+UySUlJbR4//elPjTHxHdy/9a1vtXnPlClTzLe//W1jjDH/+Z//aTIyMkxDQ0Pr6y+//LKxbduUlJQYY4wpLCw0P/rRjw4aA2B+/OMftz5vaGgwgPnnP//ZbfcpIkePam5EJOHOOeccHnnkkTbHMjMzW7+eOnVqm9emTp3KsmXLAFi7di3jxo0jKSmp9fXTTjsNx3FYv349lmWxZ88ezjvvvEPGMHbs2Navk5KSSE1NpaysrKu3JCIJpORGRBIuKSnpgGmi7hIIBDp0nsfjafPcsiwcx+mJkESkh6nmRkSOeR988MEBz0eNGgXAqFGjWL58OY2Nja2vv/fee9i2zYgRI0hJSaG4uJgFCxYc1ZhFJHE0ciMiCRcKhSgpKWlzzO12k52dDcAzzzzDxIkTOf300/nrX//K4sWLeeyxxwCYPn069957LzNmzOC+++6jvLyc7373u1x33XXk5eUBcN999/Gtb32L3NxcLrroIurr63nvvff47ne/e3RvVESOCiU3IpJw8+fPp6CgoM2xESNGsG7dOiC+kmnevHl85zvfoaCggKeeeorRo0cDEAwGefXVV7n11luZNGkSwWCQq6++mgcffLD1WjNmzKClpYXf/va33H777WRnZ/OlL33p6N2giBxVljHGJDoIEZGDsSyL559/niuuuCLRoYhIL6GaGxEREelTlNyIiIhIn6KaGxE5pmnmXEQ6SyM3IiIi0qcouREREZE+RcmNiIiI9ClKbkRERKRPUXIjIiIifYqSGxEREelTlNyIiIhIn6LkRkRERPoUJTciIiLSp/x/qyyUux7c26EAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(all_vanilla_history, \"VanillaMLP\")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "57d79e64", - "metadata": {}, - "outputs": [], - "source": [ - "# Timing tests: \n", - " # Time per epoch \n", - " # Time per 10 epoch \n", - "import time \n", - "\n", - "timing_history = {\n", - " \"vanilla_epoch\":[],\n", - " \"vanilla_10_epoch\":[],\n", - " \"wav_epoch\":[],\n", - " \"wav_10_epoch\":[]\n", - "}\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "} \n", - "for exp in range(10): \n", - " # vanilla \n", - " vanilla_model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"tail\": True,\n", - " }\n", - " \n", - " training = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=vanilla_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_config,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=1,\n", - " )\n", - " \n", - " start = time.time()\n", - " training()\n", - " timing_history[\"vanilla_epoch\"].append(time.time()-start)\n", - " \n", - " \n", - " training = TrainingLoop(\n", - " model_class=VanillaMLP,\n", - " model_params=vanilla_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_config,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=10,\n", - " )\n", - " \n", - " start = time.time() \n", - " training()\n", - " timing_history[\"vanilla_10_epoch\"].append(time.time()-start)\n", - " \n", - " wav_model_params = {\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"level\": 2,\n", - " \"tail\": True,\n", - " }\n", - " training = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=wav_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_config,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=1,\n", - " )\n", - " \n", - " start = time.time() \n", - " training()\n", - " timing_history[\"wav_epoch\"].append(time.time()-start)\n", - " \n", - " training = TrainingLoop(\n", - " model_class=WavMLP,\n", - " model_params=wav_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params,\n", - " optimizer_class=torch.optim.SGD,\n", - " optimizer_config=optimizer_config,\n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=10,\n", - " )\n", - " \n", - " start = time.time()\n", - " training()\n", - " timing_history[\"wav_10_epoch\"].append(time.time()-start)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "92cb8cde", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHHCAYAAABtF1i4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1R0lEQVR4nO3de1xU1f7/8feAAhqKdy6KQt7yioo37BRQJJmZVl/ymIV6zC4/zcyTlZ2OZT460MXSY6ZpKVoaZt46ZRoRmCVqXqi0MikFK8FMBUVFgv37w4dTE6AMMizB1/Px2I9Hs2btvT57gcO7PWv22CzLsgQAAGCIm+kCAADA5Y0wAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAJcQkaOHKmgoKBKPWZERIQiIiIq9ZioHPv375fNZtOLL75ouhTAqFqmCwBqOpvNVq5+KSkpLq4EAC5NhBHAxd58802Hx4sXL1ZSUlKJ9g4dOmj+/PkqLi6u1PE/+uijSj0eAFQ2wgjgYnfddZfD482bNyspKalEu6t4eHhUyTimnD59Wh4eHnJz411noLriXy9wCfnrmpE/rymYPXu2rrzyStWtW1f9+/fXgQMHZFmWpk2bphYtWqhOnToaPHiwjhw54nDMv64ZSU1Nlc1m0zvvvKNnn31WLVq0kJeXl66//nplZGSUqOncuHXq1FHv3r21cePGcq9DsdlsGjdunJYsWaL27dvLy8tLoaGh+vTTT0v0/fnnn/WPf/xDvr6+8vT0VKdOnbRgwQKHPudqT0xM1JNPPqnmzZurbt26ysvLK7OG4uJizZgxQ506dZKXl5d8fX1133336ejRow79goKCdPPNN+ujjz5St27d5OXlpY4dO2rlypUljvnjjz8qJiZGjRo1Ut26ddW3b1998MEHJfqdPn1aTz/9tNq1aycvLy/5+/vrtttu0w8//FCi77x589S6dWt5enqqV69e+uKLL8o8J6Cm4coIUA0sWbJEZ86c0YMPPqgjR47o+eef1x133KHrrrtOqampeuyxx5SRkaFZs2bpkUceKfFHvDTx8fFyc3PTI488otzcXD3//PMaPny4tmzZYu8zZ84cjRs3Ttdcc40efvhh7d+/X0OGDFHDhg3VokWLctW+YcMGLVu2TOPHj5enp6deffVV3Xjjjdq6das6d+4sScrJyVHfvn3t4aVp06b68MMPNXr0aOXl5WnChAkOx5w2bZo8PDz0yCOPqKCg4LxXf+677z4lJCRo1KhRGj9+vPbt26dXXnlFO3fu1Oeff67atWvb++7du1dDhw7V/fffrxEjRmjhwoWKiYnRunXrdMMNN9hr7devn06ePKnx48ercePGWrRokW655Ra9++67uvXWWyVJRUVFuvnmm5WcnKy///3veuihh3T8+HElJSVp165dat26tX3cpUuX6vjx47rvvvtks9n0/PPP67bbbtOPP/7oUB9QY1kAqtTYsWOtsv7pjRgxwmrVqpX98b59+yxJVtOmTa1jx47Z2ydPnmxJskJCQqzCwkJ7+7BhwywPDw/r9OnT9rbw8HArPDzc/jglJcWSZHXo0MEqKCiwt8+cOdOSZH399deWZVlWQUGB1bhxY6tXr14OYyQkJFiSHI5ZFkmWJGvbtm32tszMTMvLy8u69dZb7W2jR4+2/P39rcOHDzvs//e//93y8fGxTp486VD7lVdeaW87n40bN1qSrCVLlji0r1u3rkR7q1atLEnWihUr7G25ubmWv7+/1b17d3vbhAkTLEnWxo0b7W3Hjx+3goODraCgIKuoqMiyLMtasGCBJcl66aWXStRVXFxsWdYfP9/GjRtbR44csT+/Zs0aS5L1v//974LnCNQEvE0DVAMxMTHy8fGxP+7Tp4+ks+tRatWq5dB+5swZ/fzzzxc85qhRoxyuKFxzzTWSzr4FIUnbtm3Tb7/9pjFjxjiMMXz4cDVs2LDctYeFhSk0NNT+uGXLlho8eLDWr1+voqIiWZalFStWaNCgQbIsS4cPH7Zv0dHRys3N1Y4dOxyOOWLECNWpU+eCYy9fvlw+Pj664YYbHI4bGhoqb2/vEp9gCggIsF/ZkKT69esrNjZWO3fuVHZ2tiRp7dq16t27t/72t7/Z+3l7e+vee+/V/v379c0330iSVqxYoSZNmujBBx8sUddfP2E1dOhQhzn9688CqOl4mwaoBlq2bOnw+FwwCQwMLLX9r+shynPMc38Mz+2bmZkpSWrTpo1Dv1q1ajl1L5S2bduWaGvXrp1OnjypX3/9VW5ubjp27JjmzZunefPmlXqMQ4cOOTwODg4u19h79+5Vbm6umjVrVq7jtmnTpkRQaNeunaSz63f8/PyUmZlpD4N/1qFDB0ln561z58764Ycf1L59e4cgV5YL/SyAmo4wAlQD7u7uTrVbllXhY5Zn38p07qPMd911l0aMGFFqn65duzo8Ls9VkXPHbtasmZYsWVLq802bNnWiUte5VH4WgCmEEQClatWqlSQpIyNDkZGR9vbff/9d+/fvLxEQyrJ3794Sbd9//73q1q1rDwP16tVTUVGRoqKiKqHyP7Ru3Voff/yxrr766nIFmIyMDFmW5XB15Pvvv5ck+9WgVq1aac+ePSX2/e677+zPnxt7y5YtKiwsZBEqcAGsGQFQqp49e6px48aaP3++fv/9d3v7kiVLnHr7IC0tzWHNx4EDB7RmzRr1799f7u7ucnd31+23364VK1Zo165dJfb/9ddfK3wOd9xxh4qKijRt2rQSz/3+++86duyYQ9svv/yiVatW2R/n5eVp8eLF6tatm/z8/CRJN910k7Zu3aq0tDR7v/z8fM2bN09BQUHq2LGjJOn222/X4cOH9corr5QYmysegCOujAAolYeHh55++mk9+OCDuu6663THHXdo//79SkhIUOvWrct9m/vOnTsrOjra4aO9kjR16lR7n/j4eKWkpKhPnz4aM2aMOnbsqCNHjmjHjh36+OOPS9w7pbzCw8N13333KS4uTunp6erfv79q166tvXv3avny5Zo5c6b+7//+z96/Xbt2Gj16tL744gv5+vpqwYIFysnJ0cKFC+19Hn/8cb399tsaMGCAxo8fr0aNGmnRokXat2+fVqxYYb/5WmxsrBYvXqyJEydq69atuuaaa5Sfn6+PP/5Y/+///T8NHjy4QucE1ESEEQBlGjdunCzL0vTp0/XII48oJCRE7733nsaPHy8vL69yHSM8PFxhYWGaOnWqsrKy1LFjRyUkJDi8zePr66utW7fqmWee0cqVK/Xqq6+qcePG6tSpk5577rmLOoe5c+cqNDRUr732mp544gn7Aty77rpLV199tUPftm3batasWZo0aZL27Nmj4OBgLVu2TNHR0Q61btq0SY899phmzZql06dPq2vXrvrf//6ngQMH2vu5u7tr7dq1evbZZ7V06VKtWLFCjRs31t/+9jd16dLlos4JqGlsFtcLATihuLhYTZs21W233ab58+eft6/NZtPYsWNLfaviUhMUFKTOnTvr/fffN10KcNlhzQiAMp0+fbrE+obFixfryJEj5bodPACUB2/TACjT5s2b9fDDDysmJkaNGzfWjh079MYbb6hz586KiYkxXR6AGoIwAqBMQUFBCgwM1H//+18dOXJEjRo1UmxsrOLj42v8twEDqDqsGQEAAEaxZgQAABhFGAEAAEZVizUjxcXF+uWXX1SvXr1y32gJAACYZVmWjh8/roCAAPsNAUtTLcLIL7/8UuLbSQEAQPVw4MABtWjRosznq0UYqVevnqSzJ1O/fn3D1QAAgPLIy8tTYGCg/e94WapFGDn31kz9+vUJIwAAVDMXWmLBAlYAAGAUYQQAABhFGAEAAEZVizUj5VFcXKwzZ86YLuOyUrt2bbm7u5suAwBQzdWIMHLmzBnt27dPxcXFpku57DRo0EB+fn7c/wUAUGHVPoxYlqWDBw/K3d1dgYGB572pCiqPZVk6efKkDh06JEny9/c3XBEAoLqq9mHk999/18mTJxUQEKC6deuaLueyUqdOHUnSoUOH1KxZM96yAQBUSLW/jFBUVCRJfJ25IecCYGFhoeFKAADVVbUPI+ewZsEM5h0AcLFqTBgBAADVk1NhZM6cOeratav9tuxhYWH68MMPz7vP8uXLddVVV8nLy0tdunTR2rVrL6pglJ/NZtPq1aslSfv375fNZlN6erokKTU1VTabTceOHTNWHwAAkpMLWFu0aKH4+Hi1bdtWlmVp0aJFGjx4sHbu3KlOnTqV6L9p0yYNGzZMcXFxuvnmm7V06VINGTJEO3bsUOfOnSvtJEoT9PgHLj3+X+2PH1juvoMGDVJhYaHWrVtX4rmNGzfq2muv1ZdffqmuXbteVE0HDx5Uw4YNL+oYAAC4mlNXRgYNGqSbbrpJbdu2Vbt27fTss8/K29tbmzdvLrX/zJkzdeONN2rSpEnq0KGDpk2bph49euiVV16plOKrq9GjRyspKUk//fRTiecWLlyonj17XnQQkSQ/Pz95enpe9HEAAHClCq8ZKSoqUmJiovLz8xUWFlZqn7S0NEVFRTm0RUdHKy0traLD1gg333yzmjZtqoSEBIf2EydOaPny5RoyZIiGDRum5s2bq27duurSpYvefvtth74REREaP368Hn30UTVq1Eh+fn56+umnHfr8+W2aC/ntt98uOCYAAK7gdBj5+uuv5e3tLU9PT91///1atWqVOnbsWGrf7Oxs+fr6OrT5+voqOzv7vGMUFBQoLy/PYatJatWqpdjYWCUkJMiyLHv78uXLVVRUpLvuukuhoaH64IMPtGvXLt177726++67tXXrVofjLFq0SFdccYW2bNmi559/Xs8884ySkpIqVNPp06fLNSYAAJXN6ZuetW/fXunp6crNzdW7776rESNGaMOGDWUGkoqIi4vT1KlTK+14l6J//OMfeuGFF7RhwwZFRERIOvsWze23365WrVrpkUcesfd98MEHtX79er3zzjvq3bu3vb1r16566qmnJElt27bVK6+8ouTkZN1www1O19O8efNyjQkAl72nfZzom+u6OmoQp6+MeHh4qE2bNgoNDVVcXJxCQkI0c+bMUvv6+fkpJyfHoS0nJ0d+fn7nHWPy5MnKzc21bwcOHHC2zEveVVddpX79+mnBggWSpIyMDG3cuFGjR49WUVGRpk2bpi5duqhRo0by9vbW+vXrlZWV5XCMv64r8ff3t9+e3VnlHRMAgMp20fcZKS4uVkFBQanPhYWFKTk52aEtKSmpzDUm53h6eto/Pnxuq4lGjx6tFStW6Pjx41q4cKFat26t8PBwvfDCC5o5c6Yee+wxpaSkKD09XdHR0SW+lbh27doOj202W4W/LLC8YwIAUNmceptm8uTJGjBggFq2bKnjx49r6dKlSk1N1fr16yVJsbGxat68ueLi4iRJDz30kMLDwzV9+nQNHDhQiYmJ2rZtm+bNm1f5Z1IN3XHHHXrooYe0dOlSLV68WA888IBsNps+//xzDR48WHfddZeks4Hv+++/r9S3wv7KxJgAAEhOXhk5dOiQYmNj1b59e11//fX64osvtH79evsahaysLB08eNDev1+/flq6dKnmzZunkJAQvfvuu1q9erXL7zFSXXh7e2vo0KGaPHmyDh48qJEjR0o6u/4jKSlJmzZt0rfffqv77ruvxNtdlc3EmAAASE5eGXnjjTfO+3xqamqJtpiYGMXExDhV1OVk9OjReuONN3TTTTcpICBAkvTkk0/qxx9/VHR0tOrWrat7771XQ4YMUW6u6xZCmRgTAABJsll//mzpJSovL08+Pj7Kzc0tsX7k9OnT2rdvn4KDg+Xl5WWowssX8w/gssOnacrtfH+//4wvygMAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRTn03TbXizO16K2U85275O3fuXE2a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owgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAop8PIp59+qkGDBikgIEA2m02rV68+b//U1FTZbLYSW3Z2dkVrBgAANYjTYSQ/P18hISGaPXu2U/vt2bNHBw8etG/NmjVzdmgAAFAD1XJ2hwEDBmjAgAFOD9SsWTM1aNDA6f0AAEDNVmVrRrp16yZ/f3/dcMMN+vzzz6tqWAAAcIlz+sqIs/z9/TV37lz17NlTBQUFev311xUREaEtW7aoR48epe5TUFCggoIC++O8vDxXlwkAAAxxeRhp37692rdvb3/cr18//fDDD3r55Zf15ptvlrpPXFycpk6d6urSAADAJcDIR3t79+6tjIyMMp+fPHmycnNz7duBAweqsDoAAFCVXH5lpDTp6eny9/cv83lPT095enpWYUUAAMAUp8PIiRMnHK5q7Nu3T+np6WrUqJFatmypyZMn6+eff9bixYslSTNmzFBwcLA6deqk06dP6/XXX9cnn3yijz76qPLOAgAAVFtOh5Ft27YpMjLS/njixImSpBEjRighIUEHDx5UVlaW/fkzZ87on//8p37++WfVrVtXXbt21ccff+xwDAAAcPlyOoxERETIsqwyn09ISHB4/Oijj+rRRx91ujAAAHB54LtpAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARjkdRj799FMNGjRIAQEBstlsWr169QX3SU1NVY8ePeTp6ak2bdooISGhAqUCAICayOkwkp+fr5CQEM2ePbtc/fft26eBAwcqMjJS6enpmjBhgu655x6tX7/e6WIBAEDNU8vZHQYMGKABAwaUu//cuXMVHBys6dOnS5I6dOigzz77TC+//LKio6OdHR4AANQwLl8zkpaWpqioKIe26OhopaWllblPQUGB8vLyHDYAAFAzOX1lxFnZ2dny9fV1aPP19VVeXp5OnTqlOnXqlNgnLi5OU6dOdXVpLhX0+Acl2vbHD6z2YwEAnPC0Tzn75ZZ//7L6lpcrjnmRLslP00yePFm5ubn27cCBA6ZLAgAALuLyKyN+fn7KyclxaMvJyVH9+vVLvSoiSZ6envL09HR1aQAA4BLg8isjYWFhSk5OdmhLSkpSWFiYq4cGAADVgNNh5MSJE0pPT1d6erqksx/dTU9PV1ZWlqSzb7HExsba+99///368ccf9eijj+q7777Tq6++qnfeeUcPP/xw5ZwBAACo1pwOI9u2bVP37t3VvXt3SdLEiRPVvXt3TZkyRZJ08OBBezCRpODgYH3wwQdKSkpSSEiIpk+frtdff52P9QIAAEkVWDMSEREhy7LKfL60u6tGRERo586dzg4FAAAuA5fkp2kAAMDlgzACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAqAqFkdmzZysoKEheXl7q06ePtm7dWmbfhIQE2Ww2h83Ly6vCBQMAgJrF6TCybNkyTZw4UU899ZR27NihkJAQRUdH69ChQ2XuU79+fR08eNC+ZWZmXlTRAACg5nA6jLz00ksaM2aMRo0apY4dO2ru3LmqW7euFixYUOY+NptNfn5+9s3X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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(timing_history[\"vanilla_epoch\"], label='Vanilla')\n", - "plt.hist(timing_history['wav_epoch'], label='Wav')\n", - "plt.title(\"Timing per epoch\")\n", - "plt.xlabel(\"Time(s)\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "3978161e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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rMXKq8ad/n509OhRTZw4UX369KmFSl3nbm++vr7Kzc11bN99910tVVx17vRWWlqqhx9+WEePHtX777+vAwcOaNGiRWrVqlUtVl417vS3du1ap5/b/v375enpqSFDhtRi5dfnTm8rVqzQ5MmTNW3aNH311VdavHixVq1apT/+8Y+1WPn1udPblClT9MYbb+jPf/6z/vGPf+jpp5/Wo48+qqysLNdObqHOnTp1ypJkbd26tUrz27Zta82dO7dmi6pGrvZnWZZ15coVq3HjxtayZctqsLIb505vlmVZ99xzjzVlypQaqqr6VLW/K1euWL169bLeeusta+TIkdbgwYNrp8AbUJXeli5davn5+dVeUdWkKr0tXLjQateunVVaWlqLlVUPd/5/N3fuXKtx48ZWUVFRDVZ246rS27hx46yHHnrIaSwxMdF64IEHarq8G1KV3oKCgqy//OUvTmP/9m//Zg0fPtylc3Hl5iZQUFAgSdX+xWE3C3f6u3Dhgi5fvnzT/5m42ptlWUpPT9eBAwf04IMP1mRp1aKq/c2YMUMtW7bU6NGja6OsalHV3oqKitS2bVuFhIRo8ODB+vLLL2ujvBtSld7++te/KjIyUuPGjVNAQIDuvvtuvfTSSyorK6utMt3mzu+UxYsXa9iwYWrUqFFNlVUtqtJbr169tHfvXsdb999++602bNigX/ziF7VSo7uq0ltJSUmFt359fHy0fft2107mTvpC9SkrK7MGDhzoUuK+la7cuNOfZVnW2LFjrXbt2lkXL16socpunCu9nTt3zmrUqJHVoEEDy263W4sXL66FCm9MVfv75JNPrFatWlmnT5+2LMu6Ja7cVLW3HTt2WMuWLbOysrKsjIwM65e//KXl6+trHTt2rJYqdV1Ve+vUqZNlt9ut3/72t9aePXuslStXWv7+/tb06dNrqVL3uPM7ZdeuXZYka9euXTVY2Y1zpbf58+dbt912m9WgQQNLkvX000/XQoXuq2pv8fHxVpcuXaxvvvnGKisrszZt2mT5+PhYXl5eLp2PcFPHnn76aatt27Yu/bK8lcKNO/0lJydbTZs2tT777LMarOzGudJbWVmZdfDgQSsrK8t69dVXLT8/P2vLli01X+QNqEp/hYWFVmhoqLVhwwbH2K0Qbtz599KyLKu0tNRq3779Tf2WYlV769ixoxUSEmJduXLFMfbaa69ZgYGBNV3iDXHnZ/fUU09ZXbt2rcGqqkdVe9uyZYsVEBBgLVq0yPr888+ttWvXWiEhIdaMGTNqqVLXVbW3U6dOWYMHD7Y8PDwsT09P64477rB+97vfWd7e3i6dj3BTh8aNG2e1bt3a+vbbb1067lYJN+7098orr1h+fn7Wp59+WoOV3Th3f3Y/Gj16tNWvX79qrqr6VLW/rKwsS5Ll6enp2Gw2m2Wz2SxPT0/r0KFDtVRx1d3oz+7Xv/61NWzYsGquqnq40tuDDz5o/fznP3ca27BhgyXJKikpqakSb4g7P7uioiLL19fXmjdvXg1WduNc6a13797WxIkTncbefvtty8fHxyorK6upEt3mzs/t4sWL1vHjx63y8nJr0qRJVpcuXVw6J/fc1AHLsjR+/Hh98MEH+vjjjxUWFlbXJVUrd/ubPXu2Zs6cqbS0NPXs2bOGq3RPdf3sysvLVVJSUs3V3ThX++vcubO++OILZWdnO7ZHHnlE0dHRys7OVkhISC1Vfn3V8bMrKyvTF198oaCgoBqo0H3u9PbAAw/o0KFDKi8vd4x98803CgoKkpeXV02W67Ib+dmtXr1aJSUlevzxx2uwQve509uFCxecvqBakjw9PR3r3Sxu5Ofm7e2tVq1a6cqVK1qzZo0GDx7s8slRy8aOHWv5+flZGRkZVm5urmO7cOGCY84TTzxhTZ482fG6pKTEysrKsrKysqygoCBr4sSJVlZWlnXw4MG6aOGa3Olv1qxZlpeXl/X+++87HXP+/Pm6aOGq3OntpZdesjZt2mQdPnzY+sc//mG9+uqrVoMGDaxFixbVRQvX5E5/P3Wzvi3lTm8vvPCCtXHjRuvw4cPW3r17rWHDhlne3t7Wl19+WRctXJU7veXk5FiNGze2xo8fbx04cMD66KOPrJYtW1ovvvhiXbRwTTfy72Xv3r2toUOH1ma5LnGnt2nTplmNGze23n33Xevbb7+1Nm3aZLVv39567LHH6qKFq3Knt507d1pr1qyxDh8+bG3bts166KGHrLCwMOvs2bMunZtwUwckVbotXbrUMadv377WyJEjHa+PHDlS6TF9+/at9fqvx53+2rZtW+kx06ZNq/X6r8Wd3v70pz9ZHTp0sLy9va2mTZtakZGR1sqVK2u/+Cpwp7+fulnDjTu9TZgwwWrTpo3l5eVlBQQEWL/4xS+sffv21X7x1+Huz23Hjh1WRESEZbfbrXbt2ln/+Z//6XQPzs3C3f6+/vprS5K1adOm2i3YBe70dvnyZWv69OlW+/btLW9vbyskJMT63e9+53IAqGnu9JaRkWHdeeedlt1ut5o1a2Y98cQT1okTJ1w+t+3/FwAAAGAE7rkBAABGIdwAAACjEG4AAIBRCDcAAMAohBsAAGAUwg0AADAK4QYAABiFcAMAAIxCuAEAAEYh3AAAAKMQbgAAgFEINwAAwCj/D9GdwSq61Q+xAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(timing_history[\"vanilla_10_epoch\"], label='Vanilla')\n", - "plt.hist(timing_history['wav_10_epoch'], label='Wav')\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "5c31406d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "203530\n", - "20746\n" - ] - } - ], - "source": [ - "vanilla_model = VanillaMLP(**{\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"tail\": True,\n", - " })\n", - "total_vanilla_params = sum(p.numel() for p in vanilla_model.parameters() if p.requires_grad)\n", - "\n", - "wav_model = WavMLP(**{\n", - " \"in_channels\": 28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\": 10,\n", - " \"level\": 2,\n", - " \"tail\": True,\n", - " })\n", - "total_wav_params = sum(p.numel() for p in wav_model.parameters() if p.requires_grad)\n", - "\n", - "print(total_vanilla_params)\n", - "print(total_wav_params)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "bd86038c", - "metadata": {}, - "source": [ - "## Voting wavNN \n", - "\n", - "This is just a whole bunch of the single level wavNN's stacked onto each other and voting on the outcome. \n", - "It can be used the same way as any other voting classifier." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f81caa9f", - "metadata": {}, - "outputs": [], - "source": [ - "tied_model_params = {\n", - " \"in_channels\":28,\n", - " \"hidden_sizes\":[32, 64, 128, 256],\n", - " \"out_channels\":10, \n", - " \"voting_method\":\"soft\", \n", - " \"tail\":True\n", - "\n", - "}\n", - "\n", - "tied_wavNN_history = {}\n", - "num_tests = 5\n", - "\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=VotingMultiWavMLP,\n", - " model_params=tied_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params, \n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " tied_model=True\n", - " )\n", - " training()\n", - " tied_wavNN_history[iteration] = training.history\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "3def7bed", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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sKBVAU1j0PThhx+2aRToYmg0Gq655hr++te/cujQIZ588km+/PJL1q9fD5z7Z6Dx+9jcz1FWVlazBSnPZe7cuRw9epSdO3eybNkyRowYwaBBg9pwN0J0HgmAhOiCGkd7HnnkEfbu3XvW6M/111/Pjh072LZtm++5mpoaXnjhBVJSUnzTJ0FBQQDNBgdtFRcXx+DBg3nttdearFTasGEDBw4caPF1rrjiCtxuN0uWLKFv375ERkb6Xhs/fjzV1dX8+9//RqPRNAmOtFrtWaNR77zzzllLt8E7nTZt2jTefvttVqxYgcFgYObMmRfs23cDmpYWEGwMmhpXXXWGioqKs54bPnw4AA6HAzj3z8CoUaOIiori+eef950L8Nlnn3H48GFuuOGGFvfjuuuuIyIigqeffpoNGzbI6I+4JOj83QEhxNlSU1MZP348H374IcBZAdDvf/973nzzTa677jp+8YtfEBYWxquvvsqpU6d47733fFMVvXv3JiQkhOeffx6LxUJQUBBjx44lNTX1ovr31FNPcdNNNzFhwgR++MMfcubMGZ599lkGDx7couXb8O2ozrZt25g3b16T1/r160dERATbtm1jyJAhvmRfgB/84Ac88cQT/PCHP2T8+PEcOHCAZcuW0atXr2bfZ9asWdx99938+9//Ztq0aU2udT4PPvggf/vb39i3b58viDgfq9XKgw8+2KnTYE888QQbN27khhtuIDk5mZKSEv7973+TkJDg+/c938/A008/zQ9/+EOuvPJKZs+eTXFxMf/4xz9ISUnhl7/8ZYv7odfrufPOO3n22WfRarXMnj27o25ZiHYjI0BCdFGNQc+YMWPOSi6Ojo5m69atXHvttfzf//0fCxcuxGAw8PHHH3PzzTf7ztPr9bz66qtotVp++tOfMnv2bDZs2HDRfbvxxht58803cTqd/P73v+f9999n6dKl9O/fv8V1X3r16kVcXBxAkxGeRo3PfX/7iz/84Q/8+te/Zs2aNTz44IPs3r2bTz75hMTExGbfZ8aMGQQEBFBVVXXO1V/NCQkJYcGCBS0+H7yjQFartVVtLsaMGTNISkri5ZdfJj09nX/9619MmjSJL7/80teP8/0MzJs3j7feegun08lDDz3Ef/7zH26++WY2b97c4kCx0dy5cwG45ppriI2Nbdf7FKIjKGp7ZjYKIXq04cOHExkZ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABuzElEQVR4nO3deXxU9aH//9c5s2WyBwIhrGEVURDLJri2YqlarUtb9IeK1OptKxZL26u2VtTeiq1Wba9Wa1uliwvqV62tVq7iiqIoyCYCIkvYshGyZ7ZzPr8/hoxEghCcZMjwfj4e82DmM2dmPicTc95+VssYYxARERFJE3aqKyAiIiKSTAo3IiIiklYUbkRERCStKNyIiIhIWlG4ERERkbSicCMiIiJpReFGRERE0orCjYiIiKQVhRsRERFJKwo3Imno8ssvp6SkJNXVkHa4+eabsSwr1dUQSQsKNyKd4NxzzyUzM5P6+vr9HjNt2jT8fj+7du06qPfcsWMHN998M8uXL09SLb+4s846i4KCAj67q8sHH3yAZVkMGDBgn9e88sorWJbFgw8+mPT6vPbaa1iWhWVZLF26dJ/nL7/8crKzs1uVnXbaaViWxTnnnLPP8Zs3b8ayLO68884DfrZlWcycObPN5+bNm4dlWbz//vsHeSZtOxx/B0QOBwo3Ip1g2rRpNDc388wzz7T5fFNTE//85z/52te+Rvfu3Q/qPXfs2MEtt9zS5oXtT3/6E+vWrfsiVT4kJ510EjU1NaxevbpV+VtvvYXX66W0tJRt27bt81zLazvSzTff3K7j//3vf7cZiDrKjTfeSHNzc7te83m/AyJHMoUbkU5w7rnnkpOTw6OPPtrm8//85z9pbGxk2rRpSfk8n89HIBBIynu1R0tAWbRoUavyt956i7POOovs7Ox9nlu0aBHdu3fn6KOP7rB6jR49mn//+98sW7bsoI7v378/BQUF3HLLLR1Wp8/yer1kZGR02ud9nsbGxlRXQeQLUbgR6QTBYJALLriAhQsXUlFRsc/zjz76KDk5OZx77rkAbNy4kW9961t069aNzMxMTjjhBJ5//vnE8a+99hrjxo0DYMaMGYmul3nz5gH7jrnZuzvlwQcfZPDgwQQCAcaNG8d77723T32efPJJRowYQUZGBsceeyzPPPPMQY3jGT9+PH6/P9Ea0+Ktt97ilFNOYfz48a2ec12Xd955h0mTJmFZFtXV1fzkJz9h5MiRZGdnk5uby5lnnsmKFSsSrykvL8fr9bYZPNatW4dlWdx7772tyq+55hoKCgoOuvUmJyeHH/3oR/zrX/866ED0RbU15uall17ipJNOIj8/n+zsbI466ih+9rOfAQf+HYD49zhmzBiCwSCFhYVccsklbN++vdVntHTNffLJJ5x11lnk5OQwbdo05syZg8/no7Kycp+6XnXVVeTn5xMKhZL8UxBJDoUbkU4ybdo0YrEYTzzxRKvy6upqFixYwPnnn08wGKS8vJxJkyaxYMECfvCDH/CrX/2KUCjEueeem+jWOvroo7n11luB+IXm73//O3//+9855ZRTPrcOjz76KHfccQf/9V//xf/8z/+wefNmLrjgAqLRaOKY559/nqlTp+Lz+Zg7dy4XXHABV1xxxUF10WRkZDBmzJhWrTNbt25l69atTJo0iUmTJrUKN6tWraKuri7R4rNx40aeffZZvv71r3PXXXfx05/+lFWrVnHqqaeyY8cOAIqKijj11FP3+TkCzJ8/H4/Hw7e+9a1W5bm5ue0OK7NmzWpXIGpLKBSiqqpqn1tDQ8MBX/vhhx/y9a9/nXA4zK233spvf/tbzj333MTP70C/A/PmzePb3/42Ho+HuXPncuWVV/L0008nug73FovFmDJlCj179uTOO+/kwgsv5NJLLyUWizF//vxWx0YiEZ566ikuvPDCw6alSWQfRkQ6RSwWM8XFxWbixImtyh944AEDmAULFhhjjLn22msNYN58883EMfX19WbgwIGmpKTEOI5jjDHmvffeM4B5+OGH9/ms6dOnmwEDBiQeb9q0yQCme/fuprq6OlH+z3/+0wDmX//6V6Js5MiRpm/fvqa+vj5R9tprrxmg1Xvuz09/+lMDmG3bthljjHnsscdMRkaGCYfD5oUXXjAej8fU1dUZY4y59957DWDeeustY4wxoVAocX571z0QCJhbb701UfbHP/7RAGbVqlWtjh0xYoT5yle+knj86quvGsA8+eSTpqamxhQUFJhzzz231c8pKyur1Xuceuqp5phjjjHGGHPLLbcYwCxdurTVz/GOO+444M8BOODtvffeSxw/Z84cs/ef5LvvvtsAprKycr+fsb/fgUgkYnr27GmOPfZY09zcnCj/97//bQBz0003tfoZAOb666/f5/0nTpxoJkyY0Krs6aefNoB59dVXD/gzEEkVtdyIdBKPx8NFF13E4sWL2bx5c6L80UcfpaioiNNPPx2AF154gfHjx7caYJudnc1VV13F5s2bWbNmzSHXYerUqRQUFCQen3zyyUC8xQTiA1RXrVrFZZdd1moW0amnnsrIkSMP6jNa6v3mm28C8S6pMWPG4Pf7mThxYqIrquW5jIwMxo4dC0AgEMC243+WHMdh165die6YvVtcLrjgArxeb6tWhdWrV7NmzRqmTp3aZr3y8vK49tpree655/jggw8O6lxaWm8OdezNN77xDV566aV9bj/96U8P+Nr8/HwgPh7Ldd12fe77779PRUUFP/jBD1q1rpx99tkMHz68VRdni+9///v7lF122WW8++67fPLJJ4myRx55hH79+nHqqae2q04inUnhRqQTtQwYbhlYvG3bNt58800uuugiPB4PAFu2bOGoo47a57UtA263bNlyyJ/fv3//Vo9bgs7u3btbvfeQIUP2eW1bZW058cQTsSwr0X3y1ltvceKJJwLxC/aIESNaPTdu3Dj8fj8QH4Nz9913M3ToUAKBAIWFhfTo0YOVK1dSW1ub+IzCwkJOP/30Vl1T8+fPx+v1csEFF+y3brNmzSI/P/+gu5oOJRDtrW/fvkyePHmf24gRIw742qlTp3LiiSfy3e9+l6KiIi666CKeeOKJgwo6Ld9jW79Hw4cP3+d3yOv10rdv3zbrEAgEeOSRRwCora3l3//+N9OmTdOaPHJYU7gR6URjxoxh+PDhPPbYYwA89thjGGOSNkvqQFoC1GeZz6xL80V0796d4cOHs2jRIhoaGli5ciWTJk1KPD9p0iQWLVrEtm3bKC0tbdVCddtttzF79mxOOeUU/vGPf7BgwQJeeukljjnmmH0u6hdddBHr169PTIN+4oknOP300yksLNxv3Q619SY/P79TZ05BfBD6G2+8wcsvv8yll17KypUrmTp1KmeccQaO4yT1s/ZuMdtbQUEBX//61xPh5qmnniIcDnPJJZck9fNFkk3hRqSTTZs2jdWrV7Ny5UoeffRRhg4dmpj1AjBgwIA216hZu3Zt4nmgQ/7PueW9N2zYsM9zbZXtz0knncSqVav4v//7PxzH2SfcvPvuu7z22muJY1s89dRTfPnLX+Yvf/kLF110EV/96leZPHnyPgNgAc477zz8fj/z589n+fLlrF+/nosuuuiAdbv22mvbFVZaAtE///nPQ2q9+SJs2+b000/nrrvuYs2aNfzqV7/ilVde4dVXXwX2/zvQ8j229Xu0bt26NhdT3J/LLruM9evX89577/HII49w/PHHc8wxxxzC2Yh0HoUbkU7W0kpz0003sXz58n1abc466yyWLFnC4sWLE2WNjY08+OCDlJSUJLo0srKyANq88B+q3r17c+yxx/K3v/2t1Yye119/nVWrVh30+5x00kk4jsOdd97J0KFD6dGjR+K5SZMm0dDQwB/+8Ads224VfDwezz6tSE8++eQ+05ch3sU1ZcoUnnjiCR5//HH8fj/nnXfeAeu2d1g52MXvWgJRy+ykzlBdXb1P2ejRowEIh8PA/n8Hxo4dS8+ePXnggQcSxwL85z//4aOPPuLss88+6HqceeaZFBYW8utf/5rXX39drTbSJXhTXQGRI83AgQOZNGkS//znPwH2CTfXX389jz32GGeeeSY//OEP6datG3/961/ZtGkT/+///b9E98HgwYPJz8/ngQceICcnh6ysLCZMmMDAgQO/UP1uu+02vvGNb3DiiScyY8YMdu/ezb333suxxx57UFOY4dPWmMWLF3P55Ze3em7YsGEUFhayePFiRo4cmRg4C/D1r3+dW2+9lRkzZjBp0iRWrVrFI488wqBBg9r8nKlTp3LJJZfwhz/8gSlTprR6r88za9Ys7r77blasWJEICJ8nLy+PWbNmdWrX1K233sobb7zB2WefzYABA6ioqOAPf/gDffv2Tfx8P+934Ne//jUzZszg1FNP5eKLL6a8vJzf/e53lJSU8KMf/eig6+Hz+bjooou499578Xg8XHzxxR11yiJJo5YbkRRoCTTjx4/fZ6BuUVERb7/9NmeccQb/+7//yw033IDf7+df//oX559/fuI4n8/HX//6VzweD9/73ve4+OKLef31179w3c455xwee+wxIpEI119/PU8//TTz5s3jqKOOOuh1TQYNGkTv3r0BWrXMtGgp++yWCz/72c/48Y9/zIIFC5g1axbLli3j+eefp1+/fm1+zrnnnkswGKS+vn6/s6Takp+fz7XXXnvQx0O89SYvL69dr/kizj33XPr3789DDz3E1VdfzX333ccpp5zCK6+8kqjH5/0OXH755cyfP59IJMJ1113HH//4R84//3wWLVp00CGw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cV1dHf369eusKot0aR0ZVjry4ny4vHcyQkyXpTEtkkIpCzeFhYV4PB7Ky8tblZeXl9OrV682X1NcXIzP58Pj8STKjj76aMrKyohEIvj9/n1eEwgECAQCya28SBpKqwvrkaw9oSIZQUNhRQ5DKfvr5ff7GTNmDAsXLkyUua7LwoULmThxYpuvOfHEE9mwYUOrlXTXr19PcXFxm8FGJN20ZxxDh46FkC8mGWNJOnI8yv7eW2NgpItIabfU7NmzmT59OmPHjmX8+PHcc889NDY2JmZPXXbZZfTp04e5c+cC8P3vf597772XWbNmcc011/Dxxx9z22238cMf/jCVp9G2/UxVFOkIadXqcrh3Z3Rky8jhfu4iXURKw83UqVOprKzkpptuoqysjNGjR/Piiy8mBhmXlpZi25/+ke7Xrx8LFizgRz/6EaNGjaJPnz7MmjWL6667LlWnkDZOO+00Ro8ezT333APEp9hfe+21XHvttft9jWVZPPPMM5x33nlf6LOT9T5d1WEz0LM9F+dklHdkl4i6W0SOaCkfUDxz5kxmzpzZ5nOvvfbaPmUTJ07knXfe6eBadS3nnHMO0WiUF198cZ/n3nzzTU455RRWrFjBqFGjDvo933vvPbKyspJZTW6++WaeffZZli9f3qp8586dFBQUJPWzDkeHTevKkXzRVsuIyBEh5eFGvrgrrriCCy+8kG3bttG3b99Wzz388MOMHTu2XcEGoEePHsms4ufa3wDyriopISYZF2FdsEXkCNWFO+alxde//nV69OjBvHnzWpU3NDTw5JNPct5553HxxRfTp08fMjMzGTlyJI899tjnvmdJSUmiiwrg448/5pRTTiEjI4MRI0bw0ksv7fOa6667jmHDhpGZmcmgQYP4xS9+QTQaBWDevHnccsstrFixAsuysCwrUV/Lsnj22WcT77Nq1Sq+8pWvEAwG6d69O1dddRUNDQ2J5y+//HLOO+887rzzToqLi+nevTtXX3114rM6y34H5rZ3MObhPrhURKSLUcvNgRgDziFcNJ0IuM6n9w+FxweWdcDDvF4vl112GfPmzePnP/851p7XPPnkkziOwyWXXMKTTz7JddddR25uLs8//zyXXnopgwcPZvz48Qd8f9d1ueCCCygqKuLdd9+ltra2zbE4OTk5zJs3j969e7Nq1SquvPJKcnJy+O///m+mTp3K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MmlDk49gjz/+uAkEAmbevHlmzZo15qqrrjL5+fmmrKws1VU7ZPX19eaDDz4wH3zwgQHMXXfdZT744AOzZcsWY0x8Kl9+fr755z//aVauXGm+8Y1vdKlpmd///vdNXl6eee2111pNzWxqakoc873vfc/079/fvPLKK+b99983EydONBMnTkxhrdvn+uuvN6+//rrZtGmTWblypbn++uuNZVnm//7v/4wxXf/89mfv2VLGpMd5/vjHPzavvfaa2bRpk3nrrbfM5MmTTWFhoamoqDDGdP1zXLJkifF6veZXv/qV+fjjj80jjzxiMjMzzT/+8Y/EMV39b04Lx3FM//79zXXXXbfPc139ezTGmOnTp5s+ffokpoI//fTTprCw0Pz3f/934pjO+C4VbpLkf//3f03//v2N3+8348ePN++8806qq/SFvPrqqwbY5zZ9+nRjTHw63y9+8QtTVFRkAoGAOf300826detSW+l2aOvcAPPwww8njmlubjY/+MEPTEFBgcnMzDTnn3++2blzZ+oq3U7f+c53zIABA4zf7zc9evQwp59+eiLYGNP1z29/Phtu0uE8p06daoqLi43f7zd9+vQxU6dObbUGTDqc47/+9S9z7LHHmkAgYIYPH24efPDBVs939b85LRYsWGCANuueDt9jXV2dmTVrlunfv7/JyMgwgwYNMj//+c9NOBxOHNMZ36VlzF7LBoqIiIh0cRpzIyIiImlF4UZERETSisKNiIiIpBWFGxEREUkrCjciIiKSVhRuREREJK0o3IiIiEhaUbgRkSOeZVk8++yzqa6GiCSJwo2IpNTll1+OZVn73L72ta+lumoi0kV5U10BEZGvfe1rPPzww63KAoFAimojIl2dWm5EJOUCgQC9evVqdSsoKADiXUb3338/Z555JsFgkEGDBvHUU0+1ev2qVav4yle+QjAYpHv37lx11VU0NDS0Ouahhx7imGOOIRAIUFxczMyZM1s9X1VVxfnnn09mZiZDhw7lueee69iTFpEOo3AjIoe9X/ziF1x44YWsWLGCadOmcdFFF/HRRx8B0NjYyJQpUygoKOC9997jySef5OWXX24VXu6//36uvvpqrrrqKlatWsVzzz3HkCFDWn3GLbfcwre//W1WrlzJWWedxbRp06iuru7U8xSRJEnqNpwiIu00ffp04/F4TFZWVqvbr371K2NMfAf3733ve61eM2HCBPP973/fGGPMgw8+aAoKCkxDQ0Pi+eeff97Ytm3KysqMMcb07t3b/PznP99vHQBz4403Jh43NDQYwPznP/9J2nmKSOfRmBsRSbkvf/nL3H///a3KunXrlrg/ceLEVs9NnDiR5cuXA/DRRx9x3HHHkZWVlXj+xBNPxHVd1q1bh2VZ7Nixg9NPP/1z6zBq1KjE/aysLHJzc6moqDjUUxKRFFK4EZGUy8rK2qebKFmCweBBHefz+Vo9tiwL13U7okoi0sE05kZEDnvvvPPOPo+PPvpoAI4++mhWrFhBY2Nj4vm33noL27Y56qijyMnJoaSkhIULF3ZqnUUkddRyIyIpFw6HKSsra1Xm9XopLCwE4Mknn2Ts2LGcdNJJPPLIIyxZsoS//OUvAEybNo05c+Ywffp0br75ZiorK7nmmmu49NJLKSoqAuDmm2/me9/7Hj179uTMM8+kvr6et956i2uuuaZzT1REOoXCjYik3IsvvkhxcXGrsqOOOoq1a9cC8ZlMjz/+OD/4wQ8oLi7mscceY8SIEQBkZmayYMECZs2axbhx48jMzOTCCy/krrvuSrzX9OnTCYVC3H333fzkJz+hsLCQb37zm513giLSqSxjjEl1JURE9seyLJ555hnOO++8VFdFRLoIjbkRERGRtKJwIyIiImlFY25E5LCmnnMRaS+13IiIiEhaUbgRERGRtKJwIyIiImlF4UZERETSisKNiIiIpBWFGxEREUkrCjciIiKSVhRuREREJK0o3IiIiEha+f8BV0d8HpoM1V4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_experiment_history(tied_wavNN_history, \"Voting WavNN History\")\n", - "\n", - "# So are these just harder to train? \n", - "# Makes sense, they're larger models, but it may be that my training scheme is not well suited for them \n", - "# More traditional ensemble methods may do it well. \n", - "\n", - "# Could be we need a more complicated dataset \n", - "# I can't be sure we're not memorizing." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "08ce5367", - "metadata": {}, - "outputs": [], - "source": [ - "tied_model_params = {\n", - " \"in_channels\":28,\n", - " \"hidden_sizes\":[32, 64, 128, 256],\n", - " \"out_channels\":10, \n", - " \"voting_method\":\"soft\", \n", - " \"tail\":True\n", - "\n", - "}\n", - "\n", - "multi_size_tied_wavNN_history = {}\n", - "num_tests = 3\n", - "\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=VotingMultiWavMLP,\n", - " model_params=tied_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params, \n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " tied_model=True\n", - " )\n", - " training()\n", - " multi_size_tied_wavNN_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "50ed0c0d", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAHHCAYAAABEEKc/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACDTElEQVR4nOzdd3xUVfr48c+dlplJm/TeqCGEJk1EBAXFLgJWVHAtW2AVdXdd1u9aV1HXn7vruovrFrEhioogKogICApSJEAooaf3MpM+ycz9/XFlJCGBECak8Lxfr3kxc+fee87NJOHJuc95jqKqqooQQgghhPDQdXYHhBBCCCG6GgmQhBBCCCGakQBJCCGEEKIZCZCEEEIIIZqRAEkIIYQQohkJkIQQQgghmpEASQghhBCiGQmQhBBCCCGakQBJCCGEEKIZCZCEOENPPvkkiqK0ad+FCxeiKArHjh0763aPHTuGoigsXLjwrM91JmbNmkViYuI5bbMrUxSFOXPmnLP21q1bh6IorFu3rs37fvjhhx3fsTZYuXIlQ4cOxWw2oygKFRUVnd2lVsn3uWhOAiTRoxwPSBRFYePGjSe9r6oqcXFxKIrCtdde67V2n3vuOT755BOvnU9ATU0NTz75ZJsCg/PNokWL+Otf/9rZ3Til0tJSbr75ZiwWC//4xz94++238fX17dSflby8PJ588knS0tI6pX3RvUiAJHoks9nMokWLTtq+fv16cnJy8PHx8Wp7rf3Sv/POO6mtrSUhIeGs20hISKC2tpY777zzrM/VHdTU1PDUU0+d9wHSJZdcQm1tLZdccolnW3cIkLZu3UplZSXPPPMM99xzD3fccQdGo7HTA6SnnnqqxQDp3//+NxkZGee+U6LLkgBJ9EhXX301S5YsobGxscn2RYsWMXz4cCIjI89JP/R6vef2wtlSFAWz2Yxer/dCz8SZUFWV2traTmlbp9NhNpvR6brXr+uioiIAbDZb53akjYxGo9f/cBLdW/f6iROijW677TZKS0tZvXq1Z5vT6eTDDz/k9ttvP2n/1vI82pL3oygK1dXVvPnmm57be7NmzQLOLAdp9erVXHzxxdhsNvz8/Ojfvz9/+MMfWu3L8T639GieS/HFF18wbtw4fH198ff355prrmHPnj0n9eGTTz4hNTUVs9lMamoqS5cuPW2/j0tMTOTaa69l48aNjBo1CrPZTK9evXjrrbdO2reiooK5c+cSFxeHj48Pffr04YUXXsDtdnuuNSwsDICnnnrKc11PPvkky5cvR1EUdu3a5TnfRx99hKIoTJ06tUk7AwYM4JZbbvG8bmxs5JlnnqF37974+PiQmJjIH/7wB+rr61u8llWrVjFixAgsFgv/+te/Wr32P/3pT+h0Ov7+97+3us/UqVO54IILmmy77rrrUBSF5cuXe7Z9//33KIrCF198AZz8vTlhwgQ+++wzMjMzW/283W43zz77LLGxsZjNZiZOnMihQ4da7dtxlZWVzJ07l8TERHx8fAgPD+fyyy/nhx9+aLLfkiVLGD58OBaLhdDQUO644w5yc3M970+YMIGZM2cCMHLkSM/PxKl+VporLCzEYDDw1FNPnfReRkYGiqLw6quverYdOXKEm266ieDgYKxWKxdeeCGfffaZ5/1169YxcuRIAO6++25P+8d/nprnIB3/eXvppZd4/fXXPd8zI0eOZOvWrSf1acmSJaSkpDT52ZG8pu7N0NkdEKIjJCYmMmbMGN577z2uuuoqQAsS7HY7t956K6+88orX2nr77be59957GTVqFPfffz8AvXv3PqNz7Nmzh2uvvZbBgwfz9NNP4+Pjw6FDh/j2229bPWbAgAG8/fbbTbZVVFTw8MMPEx4e3qR/M2fOZPLkybzwwgvU1NSwYMECLr74Ynbs2OH5Bf7ll18ybdo0UlJSmD9/PqWlpdx9993Exsa2+ToOHTrE9OnTueeee5g5cyb/+9//mDVrFsOHD2fgwIGAduts/Pjx5Obm8vOf/5z4+Hi+++475s2bR35+Pn/9618JCwtjwYIF/PKXv+TGG2/0BD6DBw8mNjYWRVH45ptvGDx4MAAbNmxAp9M1yTsrLi5m//79TRKq7733Xt58802mT5/OI488wvfff8/8+fPZt2/fScFgRkYGt912Gz//+c+577776N+/f4vX/H//938899xz/Otf/+K+++5r9Wszbtw4li1bhsPhICAgAFVV+fbbb9HpdGzYsIHrr7++ybWMHTu2xfM89thj2O12cnJy+Mtf/gKAn59fk32ef/55dDodv/nNb7Db7bz44ovMmDGD77//vtX+AfziF7/gww8/ZM6cOaSkpFBaWsrGjRvZt2+fJ7hbuHAhd999NyNHjmT+/PkUFhbyt7/9jW+//ZYdO3Zgs9l47LHH6N+/P6+//jpPP/00SUlJ9O7dm0mTJrX5ZyUiIoLx48fzwQcf8MQTTzR57/3330ev13PTTTcBWjB10UUXUVNTwwMPPEBISAhvvvkm119/PR9++CE33ngjAwYM4Omnn+bxxx/n/vvvZ9y4cQBcdNFFp/yaLFq0iMrKSn7+85+jKAovvvgiU6dO5ciRIxiNRgA+++wzbrnlFgYNGsT8+fMpLy/nnnvuISYm5pTnFl2cKkQP8sYbb6iAunXrVvXVV19V/f391ZqaGlVVVfWmm25SL730UlVVVTUhIUG95pprPMetXbtWBdS1a9c2Od/Ro0dVQH3jjTc825544gm1+Y+Or6+vOnPmzFb7c/To0VP2+y9/+YsKqMXFxa3u01JfTuR2u9Vrr71W9fPzU/fs2aOqqqpWVlaqNptNve+++5rsW1BQoAYGBjbZPnToUDUqKkqtqKjwbPvyyy9VQE1ISDhl/1VV+5oC6jfffOPZVlRUpPr4+KiPPPKIZ9szzzyj+vr6qgcOHGhy/O9//3tVr9erWVlZqqqqanFxsQqoTzzxxEltDRw4UL355ps9ry+44AL1pptuUgF13759qqqq6scff6wC6s6dO1VVVdW0tDQVUO+9994m5/rNb36jAurXX3990rWsXLnypLYBdfbs2aqqquojjzyi6nQ6deHChaf9+mzdulUF1M8//1xVVVXdtWuXCqg33XSTOnr0aM9+119/vTps2DDP65a+N6+55poWP5Pj+w4YMECtr6/3bP/b3/6mAuru3btP2cfAwEDPtbXE6XSq4eHhampqqlpbW+vZvmLFChVQH3/8cc+2E38WT9Taz0pL/vWvf7XY75SUFPWyyy7zvJ47d64KqBs2bPBsq6ysVJOSktTExETV5XKpqvrTZ9DSz9DMmTObfE2P/7yFhISoZWVlnu3Lli1TAfXTTz/1bBs0aJAaGxurVlZWeratW7euzT87omuSW2yix7r55pupra1lxYoVVFZWsmLFihZvr3UFx/M0li1b5rnNdKaeeeYZVqxYwcKFC0lJSQG023YVFRXcdtttlJSUeB56vZ7Ro0ezdu1aAPLz80lLS2PmzJkEBgZ6znn55Zd7ztUWKSkpnr/MAcLCwujfvz9HjhzxbFuyZAnjxo0jKCioSZ8mTZqEy+Xim2++OW0748aNY8OGDYB2W2jnzp3cf//9hIaGerZv2LABm81GamoqAJ9//jkADz/8cJNzPfLIIwBNbscAJCUlMXny5BbbV1WVOXPm8Le//Y133nnHczvpVIYNG4afn5/n+jZs2EBsbCx33XUXP/zwAzU1NaiqysaNG5t8Ddvj7rvvxmQyeV4fP9+Jn0NLbDYb33//PXl5eS2+v23bNoqKivjVr36F2Wz2bL/mmmtITk4+6Wt4tqZOnYrBYOD999/3bEtPT2fv3r1Nbp1+/vnnjBo1iosvvtizzc/Pj/vvv59jx46xd+/edvfhlltuISgoyPO6+dcyLy+P3bt3c9dddzUZyRs/fjyDBg1qd7ui80mAJHqssLAwJk2axKJFi/j4449xuVxMnz69U/tkt9spKCjwPMrKygDtl/DYsWO59957iYiI4NZbb+WDDz5oc7C0cuVKnnrqKebNm8e0adM82w8ePAjAZZddRlhYWJPHl19+6UmkzczMBKBv374nnbu1W0stiY+PP2lbUFAQ5eXlTfq0cuXKk/ozadIk4Kfk3lMZN24c+fn5HDp0iO+++w5FURgzZkyTwGnDhg2MHTvWk9ycmZmJTqejT58+Tc4VGRmJzWbzfA2OS0pKarX9t956i3/84x/8/e9/57bbbjttf0FL2B8zZkyT/o0bN46LL74Yl8vF5s2b2bt3L2VlZWcdIDX/HI7/B3/i59CSF198kfT0dOLi4hg1ahRPPvlkk6Dq+Neope+J5OTkk76GZys0NJSJEyfywQcfeLa9//77GAyGJvlmmZmZLfZpwIABTfrdHqf7Wh4/d/Pvq9a2ie5DcpBEj3b77bdz3333UVBQwFVXXdXqjJrWZpm5XC6v9ufBBx/kzTff9LweP34869atw2Kx8M0337B27Vo+++wzVq5cyfvvv89ll13Gl19+ecqZa0ePHmXGjBlcfvnl/OlPf2ry3vEA6+23325x5p7B4N1fAa31U1XVJn26/PLL+d3vftfivv369TttO8dHCr755huOHDnCBRdcgK+vL+PGjeOVV16hqqqKHTt28Oyzz550bFtnFFosllbfGzt2LGlpabz66qvcfPPNBAcHt+mcF198Mc8++yx1dXVs2LCBxx57zDPKtWHDBiIiIgDOOkBqy+fQkptvvplx48axdOlSvvzyS/785z/zwgsv8PHHH3ty+c61W2+9lbvvvpu0tDSGDh3KBx98wMSJEwkNDT0n7bf3aym6PwmQRI9244038vOf/5zNmzc3GaZv7vhfhc0r/bb1L8+2/qf7u9/9jjvuuOOkdkGbzj1x4kQmTpzIyy+/zHPPPcdjjz3G2rVrPaMrzdXW1jJ16lRsNhvvvffeSVPBjyfAhoeHt3oOwFOn6fiI04m8XRumd+/eVFVVnbI/cOqvaXx8PPHx8WzYsIEjR454AopLLrmEhx9+mCVLluByuZrUDkpISMDtdnPw4EHPyAJoCb4VFRVnVKuqT58+vPjii0yYMIErr7ySNWvW4O/vf9rjxo0bh9Pp5L333iM3N7dJv48HSP369fMESq3xRtmI1kRFRfGrX/2KX/3qVxQVFXHBBRfw7LPPctVVV3m+RhkZGVx22WVNjsvIyGjT1/BM+z5lyhR+/vOfe35+Dxw4wLx585rsk5CQ0OL36f79+z3vt6fttjh+7pZmCbZl5qDouuQWm+jR/Pz8WLBgAU8++STXXXddq/slJCSg1+tPyn/55z//2aZ2fH1927SMQkpKCpMmTfI8hg8fDuC51XaioUOHApw0Bf1Ev/jFLzhw4ABLly5tEmwdN3nyZAICAnjuuedoaGg46f3i4mJA+09x6NChvPnmm9jtds/7q1evPqv8jZbcfPPNbNq0iVWrVp30XkVFhad2ldVq9Wxrybhx4/j666/ZsmWLJ9AYOnQo/v7+PP/881gsFs/XF7TaWMBJBRZffvllQMujORODBw/m888/Z9++fVx33XVtqpM0evRojEYjL7zwAsHBwZ6ZfePGjWPz5s2sX7++TaNHvr6+TT4nb3C5XCedMzw8nOjoaM/34IgRIwgPD+e1115r8n35xRdfsG/fvjZ9Ddv6s3KczWZj8uTJfPDBByxevBiTycSUKVOa7HP11VezZcsWNm3a5NlWXV3N66+/TmJioiePztfXF2j9e6o9oqOjSU1N5a233qKqqsqzff369ezevdtr7YhzT0aQRI/XlgTawMBAbrrpJv7+97+jKAq9e/dmxYoVbcqHARg+fDhfffUVL7/8MtHR0SQlJTF69Og29/Hpp5/mm2++4ZprriEhIYGioiL++c9/Ehsb2yTx9ESfffYZb731FtOmTWPXrl1N6gL5+fkxZcoUAgICWLBgAXfeeScXXHABt956K2FhYWRlZfHZZ58xduxYTy2Z+fPnc80113DxxRfzs5/9jLKyMv7+978zcODAJr/4z9Zvf/tbli9fzrXXXuspAVBdXc3u3bv58MMPOXbsGKGhoVgsFlJSUnj//ffp168fwcHBpKamepKux40bx7vvvouiKJ6vkV6v56KLLmLVqlVMmDChSaLykCFDmDlzJq+//joVFRWMHz+eLVu28OabbzJlyhQuvfTSM76WCy+8kGXLlnH11Vczffp0PvnkE8/U75ZYrVaGDx/O5s2bPTWQQBtBqq6uprq6uk0B0vDhw3n//fd5+OGHGTlyJH5+fqf8A6AtKisriY2NZfr06QwZMgQ/Pz+++uortm7dyv/7f/8PwBPc3X333YwfP57bbrvNM80/MTGRhx56qE19P9OflVtuuYU77riDf/7zn0yePPmkW+W///3vPSU9HnjgAYKDg3nzzTc5evQoH330kWdktXfv3thsNl577TX8/f3x9fVl9OjRp8w3a4vnnnuOG264gbFjx3L33XdTXl7Oq6++Smpqqld/dsQ51qlz6ITwstamFjfXfJq/qmrTyqdNm6ZarVY1KChI/fnPf66mp6e3aZr//v371UsuuUS1WCwq4JnG3NZp/mvWrFFvuOEGNTo6WjWZTGp0dLR62223NZkK33ya//Fzt/RoPrV47dq16uTJk9XAwEDVbDarvXv3VmfNmqVu27atyX4fffSROmDAANXHx0dNSUlRP/7445OmP5/J11RVVXX8+PHq+PHjm2yrrKxU582bp/bp00c1mUxqaGioetFFF6kvvfSS6nQ6Pft999136vDhw1WTyXTSlP89e/Z4prSf6E9/+pMKqH/84x9P6ktDQ4P61FNPqUlJSarRaFTj4uLUefPmqXV1dW26FlVtOs3/uGXLlqkGg0G95ZZbPFPKW/Pb3/5WBdQXXnihyfY+ffqogHr48OEm21ua5l9VVaXefvvtqs1ma/J5H993yZIlTc5xuhIRqqqq9fX16m9/+1t1yJAhqr+/v+rr66sOGTJE/ec//3nSvu+//746bNgw1cfHRw0ODlZnzJih5uTkNNmntZ/F1n5WTsXhcHj2f+edd1rc5/Dhw+r06dNVm82mms1mddSoUeqKFStO2m/ZsmVqSkqKajAYmnxNWpvm/+c///mkczT/XlRVVV28eLGanJys+vj4qKmpqery5cvVadOmqcnJyae9PtE1KaoqmWZCCCGEtw0dOpSwsLAmFf1F9yE5SEII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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#plot_experiment_history(multi_size_tied_wavNN_history, \"Voting WavNN with different network sizes History\")\n", - "from torch import tensor\n", - "\n", - "train_loss = tensor([multi_size_tied_wavNN_history[i]['train_loss'] for i in multi_size_tied_wavNN_history]).detach().numpy()\n", - "train_loss = np.array(train_loss)\n", - "train_loss_mean = np.mean(train_loss, axis=0)\n", - "train_loss_std = np.std(train_loss, axis=0)\n", - "\n", - "val_loss = tensor([multi_size_tied_wavNN_history[i]['val_loss'] for i in multi_size_tied_wavNN_history]).detach().numpy()\n", - "val_loss = np.array(val_loss)\n", - "val_std = np.std(val_loss, axis=0)\n", - "val_mean = np.mean(val_loss, axis=0)\n", - "\n", - "plt.errorbar(range(len(train_loss_mean)), train_loss_mean, yerr=train_loss_std, label=\"Train\", alpha=.5)\n", - "plt.errorbar(range(len(train_loss_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - "plt.title(\"Multi-sized network with soft voting\")\n", - "plt.ylabel(\"Loss\")\n", - "plt.xlabel(\"Epoch\")\n", - "plt.legend()\n", - "plt.show()\n", - "\n", - "# Worse. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "af6d6dba", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/maggiev-local/repo/wavNN/wavNN/models/wavelet_layer.py:13: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/torch/csrc/utils/tensor_new.cpp:233.)\n", - " \"pywt\": lambda x: torch.Tensor(pywt.wavedec2(x, \"db1\")[level]),\n", - "/Users/maggiev-local/repo/wavNN/wavNN/utils/voting.py:12: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n", - " votes = torch.tensor(torch.argmax(probabilities, dim=1).float(), requires_grad=True)\n" - ] - } - ], - "source": [ - "tied_model_params = {\n", - " \"in_channels\":28,\n", - " \"hidden_sizes\":[256, 256, 256, 256],\n", - " \"out_channels\":10, \n", - " \"voting_method\":\"hard\", \n", - " \"tail\":True\n", - "\n", - "}\n", - "\n", - "hard_vote_tied_wavNN_history = {}\n", - "num_tests = 3\n", - "\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=VotingMultiWavMLP,\n", - " model_params=tied_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params, \n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " tied_model=True\n", - " )\n", - " training()\n", - " hard_vote_tied_wavNN_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "02f3bc3b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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pk2Fj/KIiKjha6SjQLB3K1mP83C0AIAC7/RoBT0dyHqcV1uMjIw01t+fEon4fQexYMECODs7w0BfhaFDBqGomrd5l/1+LKNQKKTfp08CrYao4OBgrF27Flu3boWJiYk0Z8nMzEz6uzYjR45E06ZNER0dDaB03pGbmxtatWqFwsJC7NixA6tWrUJMTAyA0gsYGhqKqKgotG7dGk5OTpg6dSrs7e3h7+8PAEhJScGRI0fQrVs3WFhY4Ny5c5g6dSpatWoFDw8PAMBrr72GGTNmYPTo0fjwww+RlpaGzz77DJ9++uljPktERFRXKBSK0hdl6vwbbnSV9wQdlC+/p0xHqQBQur+eTgV1K2ujrPwRvjX9YMoRBAYEYNCgQQCA/Jt5uHj56iM7XkOh1RBVFnzun8sUGxuLwMBAAMDly5ehVP43YaygoABjx47F1atXYWBggLZt22L16tUYNmyYVGfSpEkoKChAUFAQcnJy0K1bN8TFxUFfXx9A6d/L2bRpE6ZPn46CggLY2dnBz88PU6ZMkR7HmZmZYdeuXQgODoarqyusrKwwbdo0viODiIganNYtnbBp82b0HzAACoUCU6dOeaLuKMml9cd51dm7d6/GelRUFKKioqrcR6FQIDIyEpGRkRVuf/rpp7Fnz55qj92pUyccOHCg2npERET12cLZEXhz/Efo2rUrrKys8OGkScj7529td6vOqxMTy4mIiKj2BQYGInDUm9K6t1dXiNzrgIm5Rr0Wjg7Yk7BbYw5W8MghGnUuXryo8WoBoS4p92qBnMunS1858ISoUy/bJCIiIqoveCeKiIjoEdPTUWKCT2vNT+FRvcc7UUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwFccEBERPWolRcDeOQAUgNdEQIe/fhsC3okiIiIiDd49X0DoR9Ok9RYtWmDRokVV7qMws8eW7T899LEVZvbYsmXLQ7fzODBEERERNSD9BwyA3+DXKtx24OcUKMzscfz48Qdq88iRIwgKCqqN7kkiohfApfOz5coz/khF3759a/VYjwpDFBERUQMy+s03EZ+4H1evXS+3LXbNerh1fgadOnV6oDabNGkCQ0PD2upilWxtrKFSqR7LsR4WQxQREVED8tJLL6GJVWMsX/utRnl+fj42btkO/35+ePW119C0aVMYGhnj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1faRiIiInjx16j1RRERERPUFQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyaDVERUdHo0uXLjAxMYG1tTX8/f2Rnp5e5T6bNm2Cm5sbzM3NYWRkBBcXF6xatUqjjhAC06ZNg52dHQwMDODj44MzZ85o1Llx4wZGjBgBU1NTmJubY/To0cjPz5e2X7x4EQqFotxy6NCh2jsBREREVG9pNUTt27cPwcHBOHToEOLj41FcXIw+ffqgoKCg0n0sLS0RHh6O5ORkHD9+HKNGjcKoUaOwc+dOqc68efOwePFiLF26FCkpKTAyMoKvry/u3Lkj1RkxYgROnjyJ+Ph4bN++Hfv370dQUFC54+3evRsZGRnS4urqWrsngYiIiOolXW0ePC4uTmN9+fLlsLa2xtGjR9G9e/cK9/H29tZYHz9+PFasWIGkpCT4+vpCCIFFixZhypQpGDhwIABg5cqVsLGxwZYtWzB8+HCcOnUKcXFxOHLkCNzc3AAAS5YswYsvvogFCxbA3t5ear9x48awtbWtxVETERFRQ1Cn5kTl5uYCKL3bVBNCCCQkJCA9PV0KXRcuXEBmZiZ8fHykemZmZnB3d0dycjIAIDk5Gebm5lKAAgAfHx8olUqkpKRoHGPAgAGwtrZGt27dsG3btocaHxERETUcWr0TdS+1Wo3Q0FB4enqiY8eOVdbNzc1F06ZNUVhYCB0dHXzxxRfo3bs3ACAzMxMAYGNjo7GPjY2NtC0zMxPW1tYa23V1dWFpaSnVMTY2xieffAJPT08olUp8//338Pf3x5YtWzBgwIAK+1VYWIjCwkJpPS8v7wHOABEREdUndSZEBQcHIy0tDUlJSdXWNTExQWpqKvLz85GQkICwsDC0bNmy3KO+h2FlZYWwsDBpvUuXLrh+/Trm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4yO1b2JiAltb29ocNhERETUAdWpOVG5uLgDA0tKyxvvcunULxcXF0j6FhYUAAH19famOUqmESqVCUlKSVEehUEClUkl19PX1oVQqpTpl5syZg8aNG6Nz586YP38+7t69K29wRERE1KDUmRClVqsRGhoKT09PdOzYscb7ffjhh7C3t5fuHrVt2xbNmzfH5MmT8c8//6CoqAhz587F1atXkZGRAQB4/vnnYWRkhA8//BC3bt1CQUEB3n//fZSUlEh1AOC9997D+vXrkZiYiLfffhuzZ8/GpEmTKu1LYWEh8vLyNBYiIiJqmOpMiAoODkZaWhrWr19f433mzJmD9evXY/PmzdKdp0aNGmHTpk34448/YGlpCUNDQyQmJqJv375QKkuH26RJE2zcuBE//PADjI2NYWZmhpycHDz77LNSHQAICwuDt7c3OnXqhHfeeQeffPIJlixZIt3tul90dDTMzMykxcHB4SHOCBEREdVldSJEhYSEYPv27UhMTESzZs1qtM+CBQswZ84c7Nq1C506ddLY5urqitTUVOTk5CAjIwNxcXH4+++/0bJlS6lOnz59cO7cOWRnZ+Ovv/7CqlWrcO3aNY0693N3d8fdu3dx8eLFCrdPnjwZubm50nLlypUajYWIiIjqH61OLBdCYNy4cdi8eTP27t0LJyenGu03b948zJo1Czt37oSbm1ul9czMzAAAZ86cwS+//IKZM2eWq2NlZQUA2LNnD7KzszFgwIBK20tNTYVSqYS1tXWF21UqlcY8KyIiImq4tBqigoODsXbtWmzduhUmJibIzMwEUBp+DAwMAAAjR45E06ZNER0dDQCYO3cupk2bhrVr16JFixbSPsbGxjA2NgYAbNy4EU2aNEHz5s1x4sQJjB8/Hv7+/ujTp4907NjYWLRr1w5NmjRBcnIyxo8fjwkTJqBNmzYAgOTkZKSkpKBnz54wMTFBcnIyJkyYgNdffx0WFhaP7RwRERFR3aTVEBUTEwMA8Pb21iiPjY1FYGAgAODy5csa85RiYmJQVFSEoUOHauwzffp0REREAAAyMjIQFhaGrKws2NnZYeTIkZg6dapG/fT0dEyePBk3btxAixYtEB4ejgkTJkjbVSoV1q9fj4iICBQWFsLJyQkTJkxAWFhYLY2eiIiI6jOtP86rzt69ezXWK5uPdK/33nsP7733XpV15syZU+Xb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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from torch import tensor\n", - "\n", - "train_loss = tensor([hard_vote_tied_wavNN_history[i]['train_loss'] for i in hard_vote_tied_wavNN_history]).detach().numpy()\n", - "train_loss = np.array(train_loss)\n", - "train_loss_mean = np.mean(train_loss, axis=0)\n", - "train_loss_std = np.std(train_loss, axis=0)\n", - "\n", - "val_loss = tensor([hard_vote_tied_wavNN_history[i]['val_loss'] for i in hard_vote_tied_wavNN_history]).detach().numpy()\n", - "val_loss = np.array(val_loss)\n", - "val_std = np.std(val_loss, axis=0)\n", - "val_mean = np.mean(val_loss, axis=0)\n", - "\n", - "plt.errorbar(range(len(train_loss_mean)), train_loss_mean, yerr=train_loss_std, label=\"Train\", alpha=.5)\n", - "plt.errorbar(range(len(train_loss_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - "plt.title(\"Multi-sized network with hard voting\")\n", - "plt.ylabel(\"Loss\")\n", - "plt.xlabel(\"Epoch\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "17b46319", - "metadata": {}, - "outputs": [], - "source": [ - "## Do the same for the wavepool \n", - "from wavNN.models.wavpool import WavPool\n", - "\n", - "tied_model_params = {\n", - " \"in_channels\":28,\n", - " \"hidden_size\": 256,\n", - " \"out_channels\":10,\n", - " \"pooling_size\":3, \n", - " \"pooling_mode\":\"average\"\n", - "\n", - "}\n", - "\n", - "wavepool_history = {}\n", - "num_tests = 3\n", - "\n", - "\n", - "data_params = {\"sample_size\": [4000, 2000, 2000], \"split\": True}\n", - "optimizer_config = {\n", - " \"lr\": 0.1, \n", - " \"momentum\":False\n", - "}\n", - "\n", - "for iteration in range(num_tests): \n", - "\n", - " training = TrainingLoop(\n", - " model_class=WavPool,\n", - " model_params=tied_model_params,\n", - " data_class=NMISTGenerator,\n", - " data_params=data_params, \n", - " loss=torch.nn.CrossEntropyLoss,\n", - " epochs=80,\n", - " optimizer_class=torch.optim.SGD, \n", - " optimizer_config=optimizer_config,\n", - " )\n", - " training()\n", - " wavepool_history[iteration] = training.history" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "49a52522", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABpDklEQVR4nO3deXxU5d3//9c5s2dlCVkJCfuiLBqEgrticamtrbXYn61IW20rtCraKrVurUq1irbVr9ZW9L67gXqrtXWr4lJFFEVBUPZ9yUISsieznev3x8BoBJSEkEkm7+fjMQ9nzpw58zkZzLxzXde5LssYYxARERFJEnaiCxARERHpSAo3IiIiklQUbkRERCSpKNyIiIhIUlG4ERERkaSicCMiIiJJReFGREREkorCjYiIiCQVhRsRERFJKgo3IiJHWHFxMZdcckmiyxDpMRRuRKRNHnvsMSzL4qmnntrvubFjx2JZFq+++up+zw0YMIDJkyd3Roki0sMp3IhIm5xwwgkAvPnmm62219XVsWrVKtxuN4sXL2713Pbt29m+fXv8tSIiR5LCjYi0SX5+PgMHDtwv3CxZsgRjDBdccMF+z+17rHAjIp1B4UZE2uyEE07ggw8+oLm5Ob5t8eLFHHXUUZx11lm8/fbbOI7T6jnLsjj++ON55JFHOO2008jOzsbn8zFq1CgeeOCBVsf/yle+wqBBgw743pMmTWL8+PGttv31r3+lpKSEQCBAnz59uPDCC9m+fXurfU455RSOPvpoli1bxuTJkwkEAgwcOJAHH3xwv/eoqKjg+9//Pjk5Ofj9fsaOHcv//M//7LdfY2MjV199NYWFhfh8PoYPH85dd92FMeaLf4gicsQo3IhIm51wwgmEw2Heeeed+LbFixczefJkJk+eTG1tLatWrWr13IgRI+jbty8PPPAARUVF/OIXv+Duu++msLCQyy+/nPvvvz++/7Rp09i8eTPvvvtuq/fdunUrb7/9NhdeeGF822233cbFF1/M0KFDmTdvHldeeSWLFi3ipJNOoqamptXr9+zZw9lnn01JSQl33nkn/fv358c//jHz58+P79Pc3Mwpp5zCX/7yFy666CJ++9vfkpmZySWXXMLvfve7+H7GGL761a9yzz33cOaZZzJv3jyGDx/Oz372M2bPnn3YP2MROQxGRKSNPvroIwOYX//618YYY8LhsElNTTX/8z//Y4wxJicnx9x///3GGGPq6uqMy+Uyl156qTHGmKampv2ON3XqVDNo0KD449raWuPz+czVV1/dar8777zTWJZltm7daowxZsuWLcblcpnbbrut1X4rV640bre71faTTz7ZAObuu++ObwsGg2bcuHEmOzvbhEIhY4wx9957rwHMX//61/h+oVDITJo0yaSlpZm6ujpjjDFPP/20Acytt97a6r2/+c1vGsuyzIYNG+LbioqKzPTp0w/68xSRjqWWGxFps5EjR9K3b9/4WJoVK1bQ2NgYvxpq8uTJ8UHFS5YsIRqNxsfbBAKB+HFqa2uprKzk5JNPZtOmTdTW1gKQkZHBWWedxWOPPdaqi2fhwoV86UtfYsCAAQA8+eSTOI7Dt771LSorK+O33Nxchg4dut9VW263mx/+8Ifxx16vlx/+8IdUVFSwbNkyAJ577jlyc3P59re/Hd/P4/Hw05/+lIaGBl5//fX4fi6Xi5/+9Ket3uPqq6/GGMPzzz/f3h+viBwmhRsRaTPLspg8eXJ8bM3ixYvJzs5myJAhQOtws++/+8LN4sWLmTJlCqmpqfTq1Yt+/frxi1/8AiAebiDWNbV9+3aWLFkCwMaNG1m2bBnTpk2L77N+/XqMMQwdOpR+/fq1uq1evZqKiopWdefn55Oamtpq27BhwwDYsmULEOv6Gjp0KLbd+tfjyJEj48/v+29+fj7p6emfu5+IdD53ogsQke7phBNO4F//+hcrV66Mj7fZZ/LkyfzsZz9j586dvPnmm+Tn5zNo0CA2btzI6aefzogRI5g3bx6FhYV4vV6ee+457rnnnlaDkM8991xSUlJ47LHHmDx5Mo899hi2bXPBBRfE93EcB8uyeP7553G5XPvVmJaWdmR/CCLSJSnciEi7fHq+m8WLF3PllVfGnyspKcHn8/Haa6/xzjvvcPbZZwPwr3/9i2AwyDPPPBPvWgIOOOlfamoqX/nKV3j88ceZN28eCxcu5MQTTyQ/Pz++z+DBgzHGMHDgwHgLzOfZtWsXjY2NrVpv1q1bB8RmEQYoKiriww8/xHGcVq03a9asiT+/778vv/wy9fX1rVpvPrufiHQ+dUuJSLuMHz8ev9/P3/72N3bu3Nmq5cbn83Hsscdy//3309jYGA9C+1pXPj2Opra2lkceeeSA7zFt2jR27drFn//8Z1asWNGqSwrgG9/4Bi6Xi1tuuWW/y6+NMVRVVbXaFolE+OMf/xh/HAqF+OMf/0i/fv0oKSkB4Oyzz6asrIyFCxe2et0f/vAH0tLSOPnkk+P7RaNR7rvvvlbvcc8992BZFmedddbn/PRE5EhSy42ItIvX6+W4447jjTfewOfzxcPBPpMnT+buu+8GPmnl+fKXv4zX6+Xcc8/lhz/8IQ0NDfzpT38iOzub0tLS/d7j7LPPJj09nWuuuQaXy8X555/f6vnBgwdz6623MmfOHLZs2cJ5551Heno6mzdv5qmnnuKyyy7jmmuuie+fn5/PHXfcwZYtWxg2bBgLFy5k+fLlPPTQQ3g8HgAuu+wy/vjHP3LJJZewbNkyiouLeeKJJ1i8eDH33ntvvJXm3HPP5dRTT+X6669ny5YtjB07lv/85z/885//5Morr2Tw4MEd98MWkbZJ4JVaItLNzZkzxwBm8uTJ+z335JNPGsCkp6ebSCQS3/7MM8+YMWPGGL/fb4qLi80dd9xh5s+fbwCzefPm/Y5z0UUXGcBMmTLloHX83//9nznhhBNMamqqSU1NNSNGjDAzZ840a9euje9z8sknm6OOOsq89957ZtKkScbv95uioiJz33337Xe88vJyM2PGDJOVlWW8Xq8ZPXq0eeSRR/bbr76+3lx11VUmPz/feDweM3ToUPPb3/7WOI7Taj9dCi7SuSxjNJWmiCS/U045hcrKylaTC4pIctKYGxEREUkqCjciIiKSVBRuREREJKlozI2IiIgkFbXciIiISFJRuBEREZGk0uMm8XMch127dpGeno5lWYkuR0RERA6BMYb6+nry8/P3W9j2s3pcuNm1axeFhYWJLkNERETaYfv27fTv3/9z9+lx4Wbf1Onbt28nIyMjwdWIiIjIoairq6OwsLDVQrUH0+PCzb6uqIyMDIUbERGRbuZQhpRoQLGIiIgkFYUbERERSSoKNyIiIpJUetyYm0MVjUYJh8OJLkM6gMfjweVyJboMERHpJAo3n2GMoaysjJqamkSXIh2oV69e5Obmam4jEZEeQOHmM/YFm+zsbFJSUvRl2M0ZY2hqaqKiogKAvLy8BFckIiJHmsLNp0Sj0Xiw6du3b6LLkQ4SCAQAqKioIDs7W11UIiJJTgOKP2XfGJuUlJQEVyIdbd9nqnFUIiLJT+HmANQVlXz0mYqI9BzqljpCQhGH+1/dAMDMU4fgdStHioiIdAZ948pBFRcXc++99ya6DBERkTZRuEkClmV97u3mm29u13HfffddLrvsso4tVkRE5AhTt1QSKC0tjd9fuHAhN954I2vXro1vS0tLi983xhCNRnG7v/ij79evX8cWKiIi0gnUcpMEcnNz47fMzEwsy4o/XrNmDenp6Tz//POUlJTg8/l488032bhxI1/72tfIyckhLS2N4447jpdffrnVcT/bLWVZFn/+85/5+te/TkpKCkOHDuWZZ57p5LMVERH5fAo3X8AYQyjitOsWdQxRp/2vN8Z02Hlcd911/OY3v2H16tWMGTOGhoYGzj77bBYtWsQHH3zAmWeeybnnnsu2bds+9zi33HIL3/rWt/jwww85++yzueiii6iuru6wOkVEpI0iIXh1buwWCX3x9rYcp63Hbut7HiHqlvoC4aiJX/XUFlHH8O6WT770XXbbL0WOXWXVMZcw/+pXv+KMM86IP+7Tpw9jx46NP/71r3/NU089xTPPPMOsWbMOepxLLrmEb3/72wDcfvvt/P73v2fp0qWceeaZHVKniEiXFAnBG3fH7p94Nbi9B97WUcdo6/bDPZcko3DTQ4wfP77V44aGBm6++WaeffZZSktLiUQiNDc3f2HLzZgxY+L3U1NTycjIiC9tICLSoTrii78nhAdjwIlANALNNeD27K0jDOGW2P2WOvD4wLIJBoO8s74SYwxHD9+JmyhOqIlQUy0bVq7DAEXpL2FZNsFgC1uWr8MYyDePAxCNhAmHWij/+GMwDtl77sftsrEwmGiYqvUf4Lj8nDTZwZuglKFw8wU8LouZpw5p8+tCESd+/0cnD27XPDceV8dNPJeamtrq8TXXXMNLL73EXXfdxZAhQwgEAnzzm98kFPr8ZkSPx9PqsWVZOI5zkL1FpMdKRKjoIkJRh2WbqgAomezgtg2hqEN9Y5B319ZhMIweUYvb4yEcbGHVmj0YA8MKtwGGcDhES1M9m5ZXgHEYYP0HD1GIhnCCjez+aDUuJ0JO1T24TQjCjdRsXYUBelXchW3HlphxnCg12z/GGIv00jtwsIg6hnAkSnPFZgDWPvsHLDv2/WQch4a6GgC2f7AIy7YxjkOkMbatZuOyVvvaoQYAglXbCX1qezgcJmJaf1d0NoWbL2BZVru7hvZ1RXnddpebxG/x4sVccsklfP3rXwdiLTlbtmxJbFEi0jV0RMtIF/HZoLGvJaE5HGXphj2Ejc1Ro5vAbiEaCdPU2MCqj2rAiVKc9g52pBnT0kCksZrdH30MGPpW/z9slwsnEmX3ho8ByNr9O2zAMhGcSIj6ii0YA+/+/WYwYOFgnCiuyk0A7Pj33Hh4cFfFgkblq/+vVXjIaNwCQHT9KzifDhXBegzQuKc8foyGqAfHsjFB2DchuzFQ7/gBgxU2xP5e/tRYTguibj/Gk4rj8hO2PFRVNYJl4e43Fo/XC8ahvqYZyzL0HnwSXl8Ae+/VttVvP4UF9Br/TVweHw424UiE8v/+A1eCZ4VXuOmhhg4dypNPPsm5556LZVnccMMNaoER+ZSDzTLelu0dcQyAULCFZX/9JQAl37kVr89/wG0H27fNxzhIIDjQ9kPd1+MyBCMONXXNvLemhqgDwwZWYLu9RByL5lCYj1cFsXAYlrMNj20RCTaw+cMqXDgMTnkLj+VgR4M4oSZ2vb8OC4f86EJslxvHGCKRCLs+XAvGIbfuIWwTIRpqoqliEzYOHy64CQebqOMQjTo0VWzCwrD5qV+1ChWpNbGw0bL8qVbbXeFYS0W0ehvO3lDhicS2ObWlmE/ta6JRAKxIKH4M2wK35WABPreN7bIxDoTsKAaLQCCAyxvA9ngxlouWml1g2fQqHoPtSwW3n4ixqG54Dsd2kzfhIjyBTMLYbH/pEYxlUzBlFh6vD4BwKMjOZ+/DxjDsnCtJS0nB57IgGuTjx27BtqDk/7sx/rm3Dqrf/iS8puwdrnDi2a2C7pimpbH7o8e33r5n75W3rsT9Ua9w00PNmzeP733ve0yePJmsrCyuvfZa6urqEl2WSJt0WHhoy3Ip0RBf2vbQ3vu3gtt/8O1t2ffztndBxhgiUYfmUJTGqJuwA1vLq4iEgjQ31NFYV8WW6jCWE6H2n49ih5vwRBpwRxrwVK3HA+x5aV6r8JBTGwsV0cX/Lx4eetXHtjV/+Awtnw4PzTUYoHbzB627SlpqY/tXbPqkWyVqAItQKPxJ0DAOtnGwLIPbZeF22Xtb223CLgdjuUnLHoA7pReWPwPcAWqa/o1lQdaE8/F4vETDIepf/1ts+o3J38bjT8Gy3USiDmtffAjLhqFfuZK01DS8HhcuE4W3/gCWDcdfCR5/bJzMm/fEmlsO2kr2/7XafnRoZez+UaPjAWTMqL0LPhdktg4aI/f+G+qX9qntFscPyYrdT2AAOZIUbpLMJZdcwiWXXBJ/fMoppxzwkvLi4mJeeeWVVttmzpzZ6vFnu6kOdJyampp21ypyIJ0eQA62vQsFDWMMjgEHi5ZwlDARWloiNETdRIzFjj3NOHaYlrBDQ1Mzq5p6EzUWjeurcHk8YCAUDrGhoS8RLEpXlhHFRXNLkI01BUSMzYeLN+G3oridIK5QPburvLiJUPbi87htC5wIJhqmcncQl4lS9X9/wmNCuCLNNO/ejIcwu1+8Ox4eXI5DdjD2F396re+TUIEhYkdxYUj3u3G5XNgWGONgu0JgQe90H7bbTwSbSPVWopaLtNxBWJ4UHJePsLFpqm3CWDa9h5yMx+PBwsKJRqisbwLLJm/c1/CmpOPgovLVv2BZNgVTZ5GaEsDjtrGiIT7+v7nYFoz71vV4/Wlgu2MDc+Oh4vJWQWFky/LY/aOOi4eKIdX/jW0bPrbVvsWjsmP3++W2DiyuvffdPnB5Yn1Hh9uF4/bCqXOOzPaOOnYnU7gRkSOuLV02B9UNAkjEWISNTXVjCFqgoamZnaEUwsbGvaMWx2okHDU0trSwpiGLqLHZ9WEZlssdmxMrFGZzbR5RY7NyyTawXYSjhnBLI9VV/fCYMOtfeh0fEaxII/VVLbiIEHxlAW4LLBMbdJpevxGbKGbZIxgLbBPFFw1T1LAOgIwVtfFWjT4tG7Fx6LVxa6sWkN6hWItJenmk1XZfZEdse5M/fgyHIC4MKV4XnkAabn8qlidAtL4M23Yx5Etnk5rZD19qJo7Lx/tP/BaDxfALbsbr8QKGUEsTH/z9JhzLZuB5N+L1B2KBIh40LmsVEsZ7tuzdflar7cc6q2L3j5kUDyCjKvrGtuW3DhpfGpoXu+//VKtGV+md7+LhoatTuDlCvG6bq84YlugyRA5PR13x0hFdNgkQcmwaHDebK5sIE6QpFKW2sYlV9f0IGZv17+0kik0w4tDUEmRndREA7y/dgcvlJhqNUFof+wt+5/oqXK7Yr9xoNEJpMA2Mwa6oxk8Ij9OMK1xPRrAcP0HydrxAwDThizTgijRRH94bNiqrsWwbyzjUO1uwMfQO+fF63LhtC9ttqLXLsC1D35QCXLYLLHCiDlW767Ex5PRx4fW4wXGoqq7GsiAn/yhstxfH7SeCi+31m3EsF4VHHYvL68eyXUQcw+a3KsCyGXbyNwikZWIsDyv/9Xscy82ob92EN7B3uZdIiGH+vV3dI09qHSoG713axe2GvT8Try/AxCE5e7e7jvAn20GOZMuIHBaFGxGJacNVL20ZcNrVGWOobQpRHvTQGHVTv3ILjSGHqrpGtlZn4SLKrnffx2eFcUdbsCNNpDbvJB2HtG2LWl12mxFdg20ccmts/G4LlwlT57yH24qQ19SCz2XFBsU6IapZgseKkBMqx+V2Y1vguKJUuj/AAvJ69cLtceOy/BjHQ2l9A8ZyM2D0KNyBdCKWh/X/3Ymx3Aw78at4fCmxlp6Iw0c1FRjLJv+E7+L1p4DtJhSJUrHnDqJY9D3lx3i9fkKhFjaVxSYbLTr5SrypvcCyCAVbaNoSa6HJKPlmq0HJkRVvARAoGh8flBx27R3vYSf4Az+S3SoKId1KN/jVIyKJ0h3DymcZY2gJR2lubKCxupSGpiYikQgrXn2ccFMd4aYa7GAtger1BIC0Dx4i3bbJcRwKw5txWw5ZtdX4vG48LhuXZai11+GyHHJT+8RbTCzjULHrI2wgPysv3nKzy7sdgPyM5k+13Dh43I0A9Ev34fKngSeViO2lettHRG0vKaO+jCcjG/yZhCwv5TvrASg85jtYPj8m2ELtu7GgYfpPgL0BxARbaPb2iZ18n4Hx7QRbiLgCsfspfcHnx+sLcdzQgtg2f2p87IfXZTNp0N6unE8NOD3Q9oPte1BHcryHyF7d8FeViByOtl7+25UZY2KtLVEPH+2qo8VppKmxgWDVFioqQ3icFuoX3kOK04DLCcXGh9SWYgPh7bGrbLwAxsFvR/FaUfJ6B0gN+PG6bKrrV2JbUDB0IO5ABrj9hC03TRWbMdhkjjwFjyfWwhUOh2jYuA5jWeQOOhWXLyXWFbR+M1gWOUedj2tvK0o0EqVsUxnGcpFz/FW49nblOMEWqj+MjRkxBSWtgsmhaksw6RAKINIFdYNfXyLSLl18crW2MMbQEIywO+yjLuqlbm0ldS0RqivLqaoOkGqasJc8QUa4ipRILQHHwRWOtZikhdKw7Nhlvo43jZA7FWN7yR92Ipl9c8jo1Rd/ShrLn7wbg0X+uTfEu1vKdu4BIK/ke61aRmrfeTN2f8DkVtvr/M/F7heMh72tK5+0ogw6cCvKp7pyOr3FRF0zkqQUbkSSVHdriYk6hrrmMJW1TWxsSacx6qZ0ZRnNoQjhmlJcTRUE99SSYprxLPsTBU4TBU6UhsgmvLZDtgF/wI3XHYBAL3Y2lOK4fYw842LS++bjSulNKBKNt1oN/9JZrcaSGKvz5vvokFYUBRCRg+riv+5E5FAcrKupqwk5NhX1QZpqwuyubeD9hiwaHTcfvrWNUDiEL1SLN1RFU10t6aaBzJWPkufEZoA1jkOLsx2fHSU/NYf0QCpej4vdjUGito+BE6bi6VMEGfmEHIvtu2I/j5S8EbjiM7BGj9i5dfp4FBE5KIWbIyWJugSk62jz3DAJEoxa7KyqpaGpnNr6Wmqqq9lQ6QXHYdcrz+K1oliRZjIat9CPELmba/CZFlxWbMHYZtbhsR3yM/uR4kvHl5qJO60vG97ZRdj2U3DKDLwZOYTwULHzBgCKP9VF1JYxKm3VpsCisCKSEAo3AsRmMh43bhz33nsvEJvB+Morr+TKK6886Gssy+Kpp57ivPPOO6z37qjj9AhdaA4YE40QDofY8fESQs0NtNTvoaWukury7dgmTOmzd8TGugB9HIeRe+dp6dMQJuDz4LWhwbUVrxWlf3YhKf7eePxpRH0ZbKjfQtj202/yd/H2KQRvKqFgC7UrVsTePLMwFmQ6KsS4vLw94DIASvbOIOv1+Zn0/bv231eBRaTLU7hJAueeey7hcJgXXnhhv+feeOMNTjrpJFasWMGYMWMO+ZjvvvsuqampHVkmN998M08//TTLly9vtb20tJTevXt36Ht1d12thSbsWJSWl9FctZOmyi2Edm+moWIrBih771+tZrB1OyEgtjBgSkoAfyAVj89PVcMWvDYMOe4EPIF0wo7Fmj07iVpuUr50Cd7MPPD4cYIt7Pnwo9gb9y4G75EPcJp0UyS5KNwkge9///ucf/757Nixg/79+7d67pFHHmH8+PFtCjYA/fr168gSP1dubm6nvVe3kcAWmqixKKtppraulJqda9i1uxZ/tAH3i79vFWKMBc1WCqm9BxLIzMKX3gdfII2WxQvxu2H0tBvxBtLjk8Jt37GDJsAMOyt+JVGD7/nYm6bHgs2RdtDWGBFJKl2iw/7++++nuLgYv9/PxIkTWbp06UH3PeWUU7Asa7/bOeec04kVdy1f+cpX6NevH48++mir7Q0NDTz++OOcd955fPvb36agoICUlBRGjx7NP/7xj889ZnFxcbyLCmD9+vWcdNJJ+P1+Ro0axUsvvbTfa6699lqGDRtGSkoKgwYN4oYbbiAcDgPw6KOPcsstt7BixYr4Z7avXsuyePrpp+PHWblyJaeddhqBQIC+ffty2WWX0dDQEH/+kksu4bzzzuOuu+4iLy+Pvn37MnPmzPh7dTehYAtLHr6GJQ9fQ+gIjhU5mKhj2LGniXfWbuPjaofNFXVsevYuGv57P671L9ErUonftOBxu/D3LSRz2AnkTP423qxBZGfnMeHcSyk549sc/aWpFI0oIeDzYrm8sQUCD3dBwHbaF2Imff+uLju4WkSOnIS33CxcuJDZs2fz4IMPMnHiRO69916mTp3K2rVryc7O3m//J598klAoFH9cVVXF2LFjueCCC45MgcZAtB1fmtEQONFP7reHy3NIXw5ut5uLL76YRx99lOuvvx5r72sef/xxotEo3/nOd3j88ce59tprycjI4Nlnn+W73/0ugwcPZsKECV94fMdx+MY3vkFOTg7vvPMOtbW1BxyLk56ezqOPPkp+fj4rV67k0ksvJT09nZ///OdMmzaNVatW8cILL/Dyyy8DkJmZud8xGhsbmTp1KpMmTeLdd9+loqKCH/zgB8yaNatVeHv11VfJy8vj1VdfZcOGDUybNo1x48Zx6aWXfuH5CDRFXZSGU6hatoZQxXrS6zeR2lJO/2BsXEwqaaSmpuDKyCXSVI3H62PstBvwpmQAsUBW8fbCRJ4CcAQnphORbi3h4WbevHlceumlzJgxA4AHH3yQZ599lvnz53Pdddftt3+fPn1aPV6wYAEpKSlHLtxEw59c9dQWThS2xaZG503AbsdCcG24yup73/sev/3tb3n99dc55ZRTgFiX1Pnnn09RURHXXHNNfN+f/OQnvPjiizz22GOHFG5efvll1qxZw4svvkh+fj4At99+O2eddVar/X75y1/G7xcXF3PNNdewYMECfv7znxMIBEhLS8Ptdn9uN9Tf//53Wlpa+N///d/4mJ/77ruPc889lzvuuIOcnNjCer179+a+++7D5XIxYsQIzjnnHBYtWtSlw02ix9E0BiOsL9vD1vUfU1oVJNvZSZ+P/hfLtvG4LNLTfLjqXLi8KYw+54f4sgYRikSoLo0FHlwJvuLvAIN+NYhXRA4koeEmFAqxbNky5sz55JeTbdtMmTKFJUuWHNIxHn74YS688MIOH/za3YwYMYLJkyczf/58TjnlFDZs2MAbb7zBr371K6LRKLfffjuPPfYYO3fuJBQKEQwGSUlJOaRjr169msLCwniwAZg0adJ++y1cuJDf//73bNy4kYaGBiKRCBkZGW06j9WrVzN27NhWn+fxxx+P4zisXbs2Hm6OOuooXK5PAmNeXh4rV65s03v1BKGoxZ6WKItf+Rfh6m2kBcvpF43gj24lxY7Qv08xmQXDySg8inBGEcsem4sDWL0GxFZrjkQSfQpxGvQrIocqoeGmsrKSaDQa/8LaJycnhzVr1nzh65cuXcqqVat4+OGHD7pPMBgkGAzGH9fV1bWtSJcn1oLSVtFQrMUG4IQr2/dXr8vTpt2///3v85Of/IT777+fRx55hMGDB3PyySdzxx138Lvf/Y57772X0aNHk5qaypVXXtmqe+9wLVmyhIsuuohbbrmFqVOnkpmZyYIFC7j77na0eh0Cj6f1z8ayLBzHOSLv1VYHbaHppEHC1Y0hdm7fQ9X6t2navYOAacG3A/y2TZrPTUZGP2qadoC3F7lTr8abtvdKtQSM9zkQDfoVkcOV8G6pw/Hwww8zevToz+1amTt3Lrfcckv738Sy2j8B376uKJe3Uybx+9a3vsUVV1zB3//+d/73f/+XH//4x1iWxeLFi/na177Gd77zHSA2hmbdunWMGjXqkI47cuRItm/fTmlpKXl5eQC8/fbbrfZ56623KCoq4vrrr49v27p1a6t9vF4v0ejnzxA7cuRIHn30URobG+OtN4sXL8a2bYYPH35I9fZE1Y0hPmzszZ4Q7HrxcXKaN5AWDWJMCy7bok/xaAoGHUV63hBCdoBdf4tNfIcnkLCaFWJE5EhJ6Ai8rKwsXC4X5eXlrbaXl5d/4eXBjY2NLFiwgO9///ufu9+cOXOora2N37Zv337YdXdVaWlpTJs2jTlz5lBaWsoll1wCwNChQ3nppZd46623WL16NT/84Q/3+5l/nilTpjBs2DCmT5/OihUreOONN1qFmH3vsW3bNhYsWMDGjRv5/e9/z1NPPdVqn+LiYjZv3szy5cuprKxs1aK2z0UXXYTf72f69OmsWrWKV199lZ/85Cd897vf3a+Fr6czxrCtqomn39/Os6+/RUrDVo4Jvkd+40f09UNBQQG9evUhLbuYQSd9m/TBEyClzxG9gmnfAN9Jg/ri/fTCj7p6SUQ6UULDjdfrpaSkhEWLFsW3OY7DokWLDjim49Mef/xxgsFgvDXiYHw+HxkZGa1uyez73/8+e/bsYerUqfExMr/85S859thjmTp1Kqeccgq5ubltmg3Ytm2eeuopmpubmTBhAj/4wQ+47bbbWu3z1a9+lauuuopZs2Yxbtw43nrrLW644YZW+5x//vmceeaZnHrqqfTr1++Al6OnpKTw4osvUl1dzXHHHcc3v/lNTj/9dO677762/zCSVNRYbG5J4/8Wr+LdV/6P3h/+iZGV/2GwtYv+nkaOGXsMI8+8lLzTLscJ9O7UBSHjA3xPnaMlR0QkYRLeLTV79mymT5/O+PHjmTBhAvfeey+NjY3xq6cuvvhiCgoKmDt3bqvXPfzww5x33nn07ds3EWV3WZMmTcIY02pbnz59Ws0jcyCvvfZaq8dbtmxp9XjYsGG88cYbrbZ99n3uvPNO7rzzzlbbPn3JuM/n44knntjvvT97nNGjR/PKK68ctNbPzucDtJqTp7N09tiacNRhxaZdfFhl0Te6hcJN/8DtdtEvzUdWrxx2BHfS4C3CHnNBxy5NcAC6BFtEurKEh5tp06axe/dubrzxRsrKyhg3bhwvvPBCvAti27Zt2HbrX55r167lzTff5D//+U8iShbpVOHGPWz68CPKNn6Ip2Eng8Ob8FgOhX37kzNwNN7+4wil9adm200d/t4HDTG6BFtEurCEhxuAWbNmMWvWrAM+99kWBYDhw4fv99d+l6Nf/snvSF79FAkSaKmguamRj5++i4ix8AFel4XbbxEIpJMz5Uq8GVmx/bvIlU4iIl1Blwg3Il1dp03AF2wgvPUtyj5+k6qaWiLGJs2BaEZ/CoaOI3/gSJb/329pBPCldehbH7CVRiFdRLohhRuRLsAdbSYlWEHZy7+joq6FUDhKHWmUe/KZdNJMjh5ShMu2ErL2lIhId6NwcwBdvstL2qzLfqb15TjrXsG9ZyOlET+1/kYaAvnU9BtDJLiY0f5GRhbl4rI77vJtjaMRkWSncPMp+2a9bWpqIhBI3ORm0vGampqA/Wc2TpjGCsy6d6neupLNuxuoigSosPrhHvB1xowew4m9vSz/uwbMi4i0h8LNp7hcLnr16kVFRQUQm3PFOoITnsmRZ4yhqamJiooKevXq1Wo9qjbpoMHDnmgTGcFSQu/MZ2NNkJqmCLv9xXzk7c3A1BDnnTQefyBwZLuf1EIjIklO4eYz9s2MvC/gSHLo1avXF856DUdw4LDjYG17i34Na6gM+1i5s56q1CGU5pcwfGB/Tmi+B7dlsDuj+0lEJMkp3HyGZVnk5eWRnZ1NOBxOdDnSATweT/tbbDpCsAFW/4vabR+zsTmdnVYO9TlfJ7//QC4Y3o8Ul8OyxUdgTJBaaESkh1K4OQiXy5XYL0RJDnu20LzmebaWVrC7Kcr7rqOpdffj/ztmJCMK+mBZHXMFlFppREQ+oXAj8mkdNTGfMaS1lFL25l8orQvS4O7DupxTyWx6hYmBnQzul6rxXCIiR4jCjUhHa6rGX7eZypYI9b5mKjKOIjroNL4+uC+by//vyLynuqBEROIUbkQ6iuNgtr9DxfsvUNFkiFg+KnKnMPa4Exiek044FGRzomsUEekBFG6kR+rwq6IaK3A2LmLrlg2U1jRTafelPtCfi049mfS01A6oOMbr8zPp+3d12PFERJKRwo3I4TAOGcEyzHv/w5rKJqqDFpv6nITT8iFjAnX4PBqULiLS2RRupGfqiIHD4Wb6Na7HCjfx0a58Sr3F7Ox/IieO7E/Ni28eXn0uL28PuAyAEpf38I4lItLDKNyItEfzHuwVfycSamFLqDelGacQzRrJeccU0MsLyw7z8F63zVVnDOuQUkVEehqFG5G2qi/DrH2GXaVlrA1l8b57LENyRnLB+CLSfG6t3C0ikmAKN5L0OnLwsD9cS3T5P9hYUceOUCrvuEvI80f4xjF5pPr0v5OISFeg38Yihyg1tBtv4y5WbcugytefDbmnMbrpKYp9DXgOZ1Zgja8REelQCjcih2LHuzh15WwLp9HkH0xd0VTOH9GPLTsbDvvQGl8jItKxFG4k+R3mlVFm+1K2v/cc5eEAm13FFIw4hwvHFEI0xJa2HEgtNCIinUIr7Il8DrPjPba88wzldUE2uYpJS8/ky6OyD3/SPxEROWL0G1rkYHZ9wNa3n6astoWdGWPITM9gcKBBC16KiHRxCjciB5ASrGTHu89QWtvCrvQxDDnuLAYGGhNdloiIHAKNuZGk0VGXfAeCVYTrKyjz9KEscwzDJn2V4dn+Q5+Y7yBjazRwWESkc6jlRuRTzJ6tROrLqQr7KEsbyZBJX2N0Ya9ElyUiIm2gcCOyT0sdpW8/TlXYR6mdS+Fx5zKmsHeiqxIRkTZSuBEBiEbYufjv7NpdTb2Vhp2ezVi12IiIdEsacyPJ4zDms9m17F9s37KBiO2lIa2Y4SkaPCwi0l0p3EiPV77+PXatWozBwoz4CsNWP31Yx9PAYRGRxFK3lPRojcEw25c+g2PAFB3PxGNLOORpbPZeFfX2gMtAMw6LiHQZCjfSYzWEoaWmHKIR7KwhTDjlXGxbE/SJiHR3CjfSI4UjUepqqvA4QdxpvRn35e/gdrsSXZaIiHQAjbmRbqcjJuv7aOnLpEVqsG0Yfup38AXSOrpMERFJELXcSI+zbfNawhv/C4A7rR+B3nkJrkhERDqSWm6k+zmMS76bGuvZuXgBljHgz8Cfkn5oLzzAkgq6KkpEpGtSuJEewziG9f99DIL12Kl9SAUO/dIoERHpLtQtJT1GQ2Md4d0bwXZRdMKFuGz98xcRSUb67S49QjjUAo2VAGSOPpu+Of0TXJGIiBwpCjeS9JxgI6GaMowBp98IRhxzYqJLEhGRI0hjbiS5GcO2d/5JNBqlxQ5QcsI3sF02RNp2GA0eFhHpPtRyI0mtYdtyqreuwlgWTno+Gemaz0ZEJNmp5UaSV3MN25f+E8fAbk9/BgcO4TUHuORbRES6F4Ub6bIOayZiY6hc9iQ1dQ00+LLJyqjBstrYFyUiIt1Swrul7r//foqLi/H7/UycOJGlS5d+7v41NTXMnDmTvLw8fD4fw4YN47nnnuukaqVT7Z2s70vbHoJoqE0vdbYvZcemNUQtD96jz6WXR8FGRKSnSGi4WbhwIbNnz+amm27i/fffZ+zYsUydOpWKiooD7h8KhTjjjDPYsmULTzzxBGvXruVPf/oTBQUFnVy5dGXuaDPlH75Mc9ihInsy44cPTHRJIiLSiRLaLTVv3jwuvfRSZsyYAcCDDz7Is88+y/z587nuuuv223/+/PlUV1fz1ltv4fF4ACguLu7MkqWrMw5pjdsotX3sSSlmVMlJ7VpYU0REuq+E/dYPhUIsW7aMKVOmfFKMbTNlyhSWLFlywNc888wzTJo0iZkzZ5KTk8PRRx/N7bffTjQaPej7BINB6urqWt0keWUGS9nTYgjafloGTWV4bkabXr/vku+rzhimUCQi0k0l7Ld3ZWUl0WiUnJycVttzcnIoKys74Gs2bdrEE088QTQa5bnnnuOGG27g7rvv5tZbbz3o+8ydO5fMzMz4rbCwsEPPQ7qQ2h3QVEV91MPm3idw0tHFWFo7SkSkx+lWf5o6jkN2djYPPfQQJSUlTJs2jeuvv54HH3zwoK+ZM2cOtbW18dv27ds7sWLpNJEQrH2O8lCAXXYeA4aNJSvNl+iqREQkARI25iYrKwuXy0V5eXmr7eXl5eTm5h7wNXl5eXg8HlwuV3zbyJEjKSsrIxQK4fXuPy+Jz+fD59OXXNLb+Arl5eXUkcIWzyAuKO6d6IpERCRBEtZy4/V6KSkpYdGiRfFtjuOwaNEiJk2adMDXHH/88WzYsAHHceLb1q1bR15e3gGDjfQQVRsJbV/GztoWVrlGMjK1/ovHy+ydrO/tAZeBJusTEUkqCe2Wmj17Nn/605/4n//5H1avXs2Pf/xjGhsb41dPXXzxxcyZMye+/49//GOqq6u54oorWLduHc8++yy33347M2fOTNQpSKKFm2Htc2yvbmJnyiiMN5UB3sZEVyUiIgmU0EvBp02bxu7du7nxxhspKytj3LhxvPDCC/FBxtu2bcO2P8lfhYWFvPjii1x11VWMGTOGgoICrrjiCq699tpEnYIkmLVxEY11NWxrCbA16zjG1S5EY4hFRHq2hC+/MGvWLGbNmnXA51577bX9tk2aNIm33377CFcl3UEgXI1V8TGbq1tY3+dshub1om9p8JBeq1W+RUSSV7e6WkpkH9sJ0bt5G3uawqz2HE0oJYfJg/okuiwREekCEt5yIwLELuV+4+7Y/ROvBvfnD/Lt3bwNy4mypjGVnVnHMKGoN+l+/XMWERG13EgXEYo6LNlUxZJNVYSizufvXL2JQKSWymiAleknkBbwMb5IrTYiIhKjcCPdixPF3vQqEWPxfnQITZ4+HD8kS0sliIhInL4RpHvZ9QFWczU7IxmstweSk+5jRG56oqsSEZEuROFGuo9QE2x5g+ZQlHedEUQsDycN7av1o0REpBWNwJTuY8ubEG5hU3MKO+0+5HubyMv0f/Hr9s5GDFCi2YhFRJKeWm6ke2jcDbs+oDEU4R3XsRjLZlRgT6KrEhGRLkjhRro+Y7A3vQbGYXUkl1p/Pv29jfRyhxNdmYiIdEHqlpIuzx+pxarZQoPjYqk1DgsYFag55NdrNmIRkZ5FLTfStRmHXi07AFhuhhD0ZDI8N40MtdqIiMhBKNxIl5YW2o3bCVIb8fA+o7AtiwlFvRNdloiIdGEKN9J1hZvJCJYC8K49mqjt5aj8DHqleBJcmIiIdGUKN9JlWTuWYpso1aSzMlqEy7aYoMUxRUTkCyjcSNfUXIO1axkYWBI9Giyb0f0zyfCr1UZERD6frpaSrmnzf7GcKOVWX9Y7eRTaFscVf0GrjSbrExERFG6kk4UiDve/ugGAmacOOfCClw3lUP4RxhgWO0eDZTGmIIM0n/65iojIF9O3hXSuaIgvbXto7/1bwf2Z5ROMwd78OgC7U4awzanGZRmOHdCrc+sUEZFuS2NupEvxR+qwaraC7eIt5ygABvrqSfG6ElyZiIh0Fwo30nUYQ2bLTgB2Zx7N5kYPNoZh/toEFyYiIt2Jwo10GSnhKjxOM8bt461IbLmEIl8DKa5ogisTEZHuRGNupGuIhsls2QVAVZ8SNpU72BYMDxx6q43WkBIREVDLjXQRVvkqXCZMxPbyVksRAMNy0khzRRJcmYiIdDcKN5J4xmCVfgBAqauAjdUhLAvG6wopERFpB3VLSeLVbMNqqsJYNssigwEYmp1On1Qvmw+0vybrExGRz6GWG0m8Xe8DUOnKZks4E4DjBmrlbxERaR+FG0msYD3sXgfAsugQAAZlpZCd7v+8V4mIiByUuqUksXYtB+PQFMhlbTgIaKyNiIgcHrXcSOI4UShdDsDH1hAMkO1pJjdTrTYiItJ+CjeSMFbVegg2EHGn8G5jNgBD/XUJrkpERLo7hRtJGGtvq81W7xBaohZprjC5nubEFiUiIt2ewo0khDvajFW7HWNZvBOMTdo3xF+PZSW4MBER6fY0oFiOjEgI3rg7dv/Eq8Hdej6atNBuIJdK3wDKG7x4XQ5F3vpDOrSWWRARkc+jlhs5IkJRhyWbqliyqYpQ1Gn1nGWipIarAFjuDAJgZF4aHtt0ep0iIpJ8FG6k06WGqrCMQ6M7k1WNscn6xhRkJrgqERFJFuqWks5lDKmh3QCstoaAZTEwK5XeKZ7999UyCyIi0g5quZHOVbcDj9NCBJv3WgoAOEaT9omISAdSuJFOZZV9CMAWCmg2HvqkehnQJyXBVYmISDJRt5R0nnAzVuVaMLDMia3+Pa6wF5au/xYRkQ6klhvpPGWrsJwolWRS6vTB57YZmZeR6KpERCTJKNxI5zAmvo7USmcgWBaj8tLxuvVPUEREOpa+WaRz1O6AxkqCjs1HzgAAxhSo1UZERDpelwg3999/P8XFxfj9fiZOnMjSpUsPuu+jjz6KZVmtbn6/VpHu8va22mxzFxGxPPTztJAZOMDl3yIiIocp4eFm4cKFzJ49m5tuuon333+fsWPHMnXqVCoqKg76moyMDEpLS+O3rVu3dmLF0mbhZqhYA8AqZyAA/b2NiaxIRESSWMLDzbx587j00kuZMWMGo0aN4sEHHyQlJYX58+cf9DWWZZGbmxu/5eTkdGLF0lZWxcfgRGj09GFLuBcWBwg3eyfse3vAZaAJ+0RE5DAkNNyEQiGWLVvGlClT4tts22bKlCksWbLkoK9raGigqKiIwsJCvva1r/HRRx8ddN9gMEhdXV2rm3QiY+Jz22z0DAXLItvTjM92vuCFnyyQedUZwzTwWEREDllCvzEqKyuJRqP7tbzk5ORQVlZ2wNcMHz6c+fPn889//pO//vWvOI7D5MmT2bFjxwH3nzt3LpmZmfFbYWFhh5+HHJw32ojVVImx3awIxWYkHuBrSHBVIiKSzLrdn8OTJk3i4osvZty4cZx88sk8+eST9OvXjz/+8Y8H3H/OnDnU1tbGb9u3b+/kinu21FAlALUZQ6hssXDbFvmepgRXJSIiySyhMxRnZWXhcrkoLy9vtb28vJzc3NxDOobH4+GYY45hw4YNB3ze5/Ph8/kOu1ZpO9uJkBKuBmCdPQSAor4peLabRJYlIiJJLqEtN16vl5KSEhYtWhTf5jgOixYtYtKkSYd0jGg0ysqVK8nLyztSZUo7pYSrsTA4KVmsrEsFYHh2aoKrEhGRZJfwtaVmz57N9OnTGT9+PBMmTODee++lsbGRGTNmAHDxxRdTUFDA3LlzAfjVr37Fl770JYYMGUJNTQ2//e1v2bp1Kz/4wQ8SeRo9WijYwrK//hKAku/citcXm3coJVwFQGX6COrKInjdNkV9U/gwYZWKiEhPkPBwM23aNHbv3s2NN95IWVkZ48aN44UXXogPMt62bRu2/UkD0549e7j00kspKyujd+/elJSU8NZbbzFq1KhEnYIcSEst3mhsbM3H0dhA4sH9UvG4ut0wLxER6WYSHm4AZs2axaxZsw743Guvvdbq8T333MM999zTCVXJ4bAq1wHQ4kpnXbUBLIblpCe2KBER6RH0Z7QcEVZVLNzssrJpDEXxe1wU9dV4GxEROfLa1XLz6quvcuqpp3Z0LZIsgvVYdbsAWO30B2Bodhou2yJ6kJfsm7BPRETkcLWr5ebMM89k8ODB3HrrrZo3Rva3O9ZqE3SlsjXcB4DhueqSEhGRztGucLNz505mzZrFE088waBBg5g6dSqPPfYYoVCoo+uT7qhyLQA7yCVkbFK9Lgp6BWLPaQ0pERE5wtoVbrKysrjqqqtYvnw577zzDsOGDePyyy8nPz+fn/70p6xYsaKj65TuItQINdsAWOPErpIamp2GbVuJrEpERHqQwx5QfOyxxzJnzhxmzZpFQ0MD8+fPp6SkhBNPPPFzF7SU5GRVbwRjiKT0Y3MkC4ChmrhPREQ6UbvDTTgc5oknnuDss8+mqKiIF198kfvuu4/y8nI2bNhAUVERF1xwQUfWKt3AvkvASz1FRIxFih0hN0PLX4iISOdp19VSP/nJT/jHP/6BMYbvfve73HnnnRx99NHx51NTU7nrrrvIz8/vsEKl67OdCNRsBdvm43AesJFCXyOWpS4pERHpPO0KNx9//DF/+MMf+MY3vnHQRSmzsrJ49dVXD6s46V78kVos05dwoB/r6mL/Lgq9jQmuSkREepp2hZtPL3R50AO73Zx88sntObx0U4HwHgB2ugcQcQzprjCZLl1BJyIinatdY27mzp3L/Pnz99s+f/587rjjjsMuSrofy0TxR+oAWB2OrdBe6G1EPVIiItLZ2hVu/vjHPzJixIj9th911FE8+OCDh12UdD/+cC0WhpAng3UNsTlt+vvUJSUiIp2vXeGmrKyMvLy8/bb369eP0tLSwy5Kup9ApAaAHe4BOEC/NC8ZrnBCaxIRkZ6pXeGmsLCQxYsX77d98eLFukIqiYWCLSx5+BqWPHwNoWDLJ09EwwQitQB8HImF3qHZaYkoUUREpH0Dii+99FKuvPJKwuEwp512GhAbZPzzn/+cq6++ukMLlG6gZguWcWixfGxoSsd2w7DsVNYfYFctkCkiIkdau8LNz372M6qqqrj88svj60n5/X6uvfZa5syZ06EFStdnVawGYCv5GMsiL9NPRsCT4KpERKSnale4sSyLO+64gxtuuIHVq1cTCAQYOnToQee8kSQWCWJVbwDg4+gAAIblpscXyAQo0QKZIiLSidoVbvZJS0vjuOOO66hapDuqXIflRGm0Utga7Us+MCwnPdFViYhID9bucPPee+/x2GOPsW3btnjX1D5PPvnkYRcm3UR5bHHUzRSAZVHQy0+az00o4iS4MBER6anadbXUggULmDx5MqtXr+app54iHA7z0Ucf8corr5CZmdnRNUpXFWyAPVsAWOUUAbpKSkREEq9d4eb222/nnnvu4V//+hder5ff/e53rFmzhm9961sMGDCgo2uUrmr3GjCGRl82ZdFMLGBIv9REVyUiIj1cu8LNxo0bOeeccwDwer00NsZWfr7qqqt46KGHOrRA6cLKVwGwyY612mR7mgl4XYmsSEREpH3hpnfv3tTX1wNQUFDAqlWxL7mamhqampo6rjrpupqqoa4UY1msCMYm7hvga0hwUSIiIu0cUHzSSSfx0ksvMXr0aC644AKuuOIKXnnlFV566SVOP/30jq5RuiCrcg0Adf7+7K7xYFuGfI+CrYiIJF67ws19991HS0ts+v3rr78ej8fDW2+9xfnnn88vf/nLDi1QuiBjsCo+BmCjHRtjledpwmObRFYlIiICtCPcRCIR/v3vfzN16lQAbNvmuuuu6/DCJHFCEYf7X41NzDfz1CF43a17Lz1OE1bzHozHz/LmbMBhgFYAFxGRLqLNY27cbjc/+tGP4i03koSiIb607SG+tO0hiIb2ezolVA1AdaCI2pCN12WT62nu7CpFREQOqF0DiidMmMDy5cs7uBTpFowhJbwHgHWmEIDB/VJxWeqSEhGRrqFdY24uv/xyZs+ezfbt2ykpKSE1tfXcJmPGjOmQ4qTr8UXrcZkwjsvHh819ARiek8ruBNclIiKyT7vCzYUXXgjAT3/60/g2y7IwxmBZFtFotGOqky4nJRzrkqrwF9PUACleF/17BRRuRESky2hXuNm8eXNH1yHdgRMhEK4BYLXzyQrgtm3tt6vXbXPVGcM6szoRERGgneGmqKioo+uQ7qB6I7aJErK8fNSYCRYM1wrgIiLSxbQr3Pzv//7v5z5/8cUXt6sY6drsitUA7LByCTuG3mke8jL9hEPBBFcmIiLyiXaFmyuuuKLV43A4TFNTE16vl5SUFIWbZBRugT2bAPh47wrgI3LTsSwLXF7eHnAZACUub8JKFBERgXZeCr5nz55Wt4aGBtauXcsJJ5zAP/7xj46uUbqCyrVYTpQWK8CmcBYAw3PVJSUiIl1Pu8LNgQwdOpTf/OY3+7XqSJIojy23sIV8HMumb6qXrDRfgosSERHZX4eFG4jNXrxr166OPKR0BcF6qNkKwCoT65IalpP6ea8QERFJmHaNuXnmmWdaPTbGUFpayn333cfxxx/fIYVJF1KxBoyhOZDLjkhs8PCw7LQEFyUiInJg7Qo35513XqvHlmXRr18/TjvtNO6+++6OqEu6koqPANhsFwHr6OsOkhnwJLYmERGRg2hXuHEcp6PrkESIhOCNvWH0xKvBfYArnZqqoa4ULJsVLbnAOgb4Gjq1TBERkbbo0DE30r2Eog5LNlWxZFMVoeiBA6tVuQaAukABZUE3NoZCb2NnlikiItIm7Qo3559/Pnfcccd+2++8804uuOCCwy5KughjsPZO3Lee2HILed5mvLZa7kREpOtqV7j573//y9lnn73f9rPOOov//ve/bT7e/fffT3FxMX6/n4kTJ7J06dJDet2CBQuwLGu/MUDSMTxOE1ZzNY7lYnlzNoC6pEREpMtrV7hpaGjA691/fIbH46Gurq5Nx1q4cCGzZ8/mpptu4v3332fs2LFMnTqVioqKz33dli1buOaaazjxxBPb9H5y6FJCsRXAq/wDqAvb+N02eZ6mBFclIiLy+doVbkaPHs3ChQv3275gwQJGjRrVpmPNmzePSy+9lBkzZjBq1CgefPBBUlJSmD9//kFfE41Gueiii7jlllsYNGhQm+uXQ2AMKeE9AKxxCgEYmpPGARYAFxER6VLadbXUDTfcwDe+8Q02btzIaaedBsCiRYv4xz/+weOPP37IxwmFQixbtow5c+bEt9m2zZQpU1iyZMlBX/erX/2K7Oxsvv/97/PGG2987nsEg0GCwU8Wdmxry1JP5YvW4zJhIraXD5v7ADAiJw1N0SgiIl1du8LNueeey9NPP83tt9/OE088QSAQYMyYMbz88sucfPLJh3ycyspKotEoOTk5rbbn5OSwZs2aA77mzTff5OGHH2b58uWH9B5z587llltuOeSaJGZfq80uzwBCLS56pXjIzfAdMNx43TZXnTGscwsUERE5iHaFG4BzzjmHc845pyNr+UL19fV897vf5U9/+hNZWVmH9Jo5c+Ywe/bs+OO6ujoKCwuPVInJIRoisDfcfBSJ/axG5mXEVgAXERHp4toVbt59910cx2HixImttr/zzju4XC7Gjx9/SMfJysrC5XJRXl7eant5eTm5ubn77b9x40a2bNnCueeeG9+2b0JBt9vN2rVrGTx4cKvX+Hw+fD4t8NgW1u41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MIF7772XxsZGZsyYAcDFF19MQUEBc+fOBWKDkD/++OP4/Z07d7J8+XLS0tIYMmRIws5DREREuo6Ehptp06axe/dubrzxRsrKyhg3bhwvvPBCfJDxtm3bsO1PGpd27drFMcccE3981113cdddd3HyySfz2muvdXb5IiIi0gVZxhiT6CI6U11dHZmZmdTW1pKRkZHockREROQQtOX7O+mvlhIREZGeJaHdUomwr6FKk/mJiIh0H/u+tw+lw6nHhZv6+noATeYnIiLSDdXX15OZmfm5+/S4MTeO47Br1y7S09OxLKtDj11XV0dhYSHbt29P2vE8OsfkoHNMDjrH5KBzPDTGGOrr68nPz291sdGB9LiWG9u26d+//xF9j4yMjKT9B7qPzjE56ByTg84xOegcv9gXtdjsowHFIiIiklQUbkRERCSpKNx0IJ/Px0033ZTUa1npHJODzjE56ByTg86x4/W4AcUiIiKS3NRyIyIiIklF4UZERESSisKNiIiIJBWFGxEREUkqCjcd5P7776e4uBi/38/EiRNZunRpoks6LP/9738599xzyc/Px7Isnn766VbPG2O48cYbycvLIxAIMGXKFNavX5+YYtth7ty5HHfccaSnp5Odnc15553H2rVrW+3T0tLCzJkz6du3L2lpaZx//vmUl5cnqOK2e+CBBxgzZkx80qxJkybx/PPPx5/v7ud3IL/5zW+wLIsrr7wyvi0ZzvPmm2/GsqxWtxEjRsSfT4Zz3LlzJ9/5znfo27cvgUCA0aNH895778Wf7+6/cwCKi4v3+xwty2LmzJlAcnyO0WiUG264gYEDBxIIBBg8eDC//vWvW60H1SmfpZHDtmDBAuP1es38+fPNRx99ZC699FLTq1cvU15enujS2u25554z119/vXnyyScNYJ566qlWz//mN78xmZmZ5umnnzYrVqwwX/3qV83AgQNNc3NzYgpuo6lTp5pHHnnErFq1yixfvtycffbZZsCAAaahoSG+z49+9CNTWFhoFi1aZN577z3zpS99yUyePDmBVbfNM888Y5599lmzbt06s3btWvOLX/zCeDwes2rVKmNM9z+/z1q6dKkpLi42Y8aMMVdccUV8ezKc50033WSOOuooU1paGr/t3r07/nx3P8fq6mpTVFRkLrnkEvPOO++YTZs2mRdffNFs2LAhvk93/51jjDEVFRWt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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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NAcPHmz+9a9/7fJ8b/+9Y5qm+dZbb5nAMeMOh8/R6/WaDzzwgJmdnW1GRESYffv2NX/84x+bbW1tnW3OxudomOantg0UERER6eVUcyMiIiJhRcmNiIiIhBUlNyIiIhJWlNyIiIhIWFFyIyIiImFFyY2IiIiEFSU3IiIiElaU3IiIAIZhsGzZslCHISLdQMmNiITc3LlzMQzjqNuVV14Z6tBEpBeyhToAERGAK6+8kqeeeqrLY06nM0TRiEhvppEbEekRnE4naWlpXW7x8fFAcMroiSeeYMaMGbhcLvr27cuLL77Y5fXbt2/nkksuweVykZiYyH333UdjY2OXNk8++STDhg3D6XSSnp7O/fff3+X56upqbrjhBiIjIxkwYACvvPLKme20iJwRSm5EpFf46U9/yk033cTWrVuZPXs2t912G7t27QKgqamJ6dOnEx8fz/r161myZAlvv/12l+TliSeeYN68edx3331s376dV155hf79+3d5j4cffphbb72Vbdu2cdVVVzF79mxqa2vPaj9FpBt06zGcIiKnYc6cOabVajWjoqK63H71q1+Zphk8xf1rX/tal9dMnDjR/PrXv26apmn+9a9/NePj483GxsbO5//973+bFovFLC8vN03TNDMyMswf//jHx40BMH/yk5903m9sbDQB84033ui2forI2aGaGxHpEaZNm8YTTzzR5bGEhITOnydNmtTluUmTJrFlyxYAdu3axahRo4iKiup8fsqUKQQCAfbs2YNhGJSWlnLppZd+bgwjR47s/DkqKoqYmBgqKytPt0siEiJKbkSkR4iKijpqmqi7uFyuk2pnt9u73DcMg0AgcCZCEpEzSDU3ItIrrFmz5qj7Q4YMAWDIkCFs3bqVpqamzudXrVqFxWJh0KBBuN1ucnNzWbFixVmNWURCQyM3ItIjtLW1UV5e3uUxm81GUlISAEuWLGH8+PFccMEFPPvss6xbt47/+7//A2D27Nn8/Oc/Z86cOfziF7+gqqqKb37zm9x5552kpqYC8Itf/IKvfe1rpKSkMGPGDBoaGli1ahXf/OY3z25HReSMU3IjIj3Cm2++SXp6epfHBg0axO7du4HgSqbFixfzjW98g/T0dJ577jmGDh0KQGRkJG+99RYPPPAAEyZMIDIykptuuolHHnmk81pz5syhtbWVRx99lO9+97skJSVx8803n70OishZY5imaYY6CBGRz2MYBkuXLuX6668PdSgi0guo5kZERETCipIbERERCSuquRGRHk+z5yJyKjRyIyIiImFFyY2IiIiEFSU3IiIiElaU3IiIiEhYUXIjIiIiYUXJjYiIiIQVJTciIiISVpTciIiISFhRciMiIiJh5f8HtGxKTMja2XQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from torch import tensor\n", - "for metric in [\"accuracy\", \"loss\"]: \n", - " train_loss = tensor([wavepool_history[i][f'train_{metric}'] for i in wavepool_history]).detach().numpy()\n", - " train_loss = np.array(train_loss)\n", - " train_loss_mean = np.mean(train_loss, axis=0)\n", - " train_loss_std = np.std(train_loss, axis=0)\n", - "\n", - " val_loss = tensor([wavepool_history[i][f'val_{metric}'] for i in wavepool_history]).detach().numpy()\n", - " val_loss = np.array(val_loss)\n", - " val_std = np.std(val_loss, axis=0)\n", - " val_mean = np.mean(val_loss, axis=0)\n", - "\n", - " plt.errorbar(range(len(train_loss_mean)), train_loss_mean, yerr=train_loss_std, label=\"Train\", alpha=.5)\n", - " plt.errorbar(range(len(train_loss_mean)), val_mean, yerr=val_std, label=\"Validation\", alpha=.5)\n", - "\n", - " plt.title(\"Wavepool\")\n", - " plt.ylabel(metric)\n", - " plt.xlabel(\"Epoch\")\n", - " plt.legend()\n", - " plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f303b98e", - "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.5" - }, - "vscode": { - "interpreter": { - "hash": "e6819b24f866a1aa258d04ed020a776a62b2936ca77337fe434989dfb9c603cb" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/wavpool_inference.ipynb b/notebooks/wavpool_inference.ipynb index 8b526f1..31df040 100644 --- a/notebooks/wavpool_inference.ipynb +++ b/notebooks/wavpool_inference.ipynb @@ -8,13 +8,13 @@ "source": [ "## Training the optimized wavpool via the param, with a different split of the dataset, and run that sucker. \n", "\n", - "from wavNN.training.train_model import TrainingLoop\n", - "from wavNN.models.wavpool import WavPool\n", + "from WavPool.training.train_model import TrainingLoop\n", + "from WavPool.models.wavpool import WavPool\n", "from sklearn.metrics import confusion_matrix as confusion \n", "\n", - "from wavNN.data_generators.cifar_generator import CIFARGenerator\n", - "from wavNN.data_generators.mnist_generator import MNISTGenerator\n", - "from wavNN.data_generators.fashion_mnist_generator import FashionMNISTGenerator\n", + "from WavPool.data_generators.cifar_generator import CIFARGenerator\n", + "from WavPool.data_generators.mnist_generator import MNISTGenerator\n", + "from WavPool.data_generators.fashion_mnist_generator import FashionMNISTGenerator\n", "\n", "import json \n", "import os \n", @@ -96,7 +96,7 @@ " c = confusion(\n", " labels.ravel(), predicted_class.ravel(), labels=num_classes\n", " )\n", - " return c\n" + " return c" ] }, { @@ -236,32 +236,6 @@ "mnist_pred, mnist_label = predict(mnist_model, test_data)" ] }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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GMMwDMPtdhuZmZmG0+k05s2bZyQnJxvR0dFeq5E9//zzRufOnQ232+3ZVlpaaoSFhRnbt283DMMw2rRpY6xYscLzfnl5udG2bVvPeQzDe9W8/Px8Q5KRmZl53oyVqyV+//33nm3nzp0zmjRpYuzZs8dr3+nTpxuTJk0yDMMwUlNTjYSEBK/377vvviqfBSBwcc0eqKYtW7aoWbNmKi8vl9vt1u23367FixcrJSVFPXr08LpO/9FHH+nw4cMKDw/3+oxz587piy++UFFRkY4fP64BAwZ43mvUqJH69+9fZSi/Ul5enoKDgzV48OBqZz58+LDOnj2rYcOGeW0vKytTnz59JEmffPKJVw5JSkxMrPY5APg/ij1QTUOHDlV6erpCQkIUGxurRo3+879P06ZNvfY9c+aM+vXrpw0bNlT5nNatW9fq/GFhYTU+5syZM5Kkv/3tb7rkkku83nM6nbXKASDwUOyBamratKkuvfTSau3bt29fvfTSS4qKilJERMR592nTpo327dunQYMGSZIqKiqUm5urvn37nnf/Hj16yO12KysrS0lJSVXerxxZcLlcnm0JCQlyOp06evToBUcEunbtqjfffNNr2969ey/+RQIIGEzQA+rB5MmT9Ytf/EJjxozR+++/ryNHjmjnzp2699579a9//UuSNGvWLC1fvlybN2/Wp59+qt/85jc/e498+/btlZycrGnTpmnz5s2ez3z55ZclSe3atZPD4dCWLVv0zTff6MyZMwoPD9e8efM0Z84crV+/Xl988YUOHDigp556SuvXr5ck/frXv9bnn3+u+fPnKz8/XxkZGVq3bl19f4sANCCKPVAPmjRpol27dik+Pl7jxo1T165dNX36dJ07d87T0//tb3+rO++8U8nJyUpMTFR4eLhuvvnmn/3c9PR03XLLLfrNb36jLl266O6771ZJSYkk6ZJLLtGSJUu0YMECRUdHa+bMmZKkpUuX6sEHH1RaWpq6du2qG264QX/729/UoUMHSVJ8fLxee+01bd68Wb169dLq1au1bNmyevzuAGhoDuNCs4EAAIAl0LMHAMDiKPYAAFgcxR4AAIuj2AMAYHEUewAALI5iDwCAxVHsAQCwOIo9AAAWR7EHAMDiKPYAAFgcxR4AAIuj2AMAYHH/H5f2R3SBHTLQAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "confusion_matrix(mnist_pred, mnist_label)\n", - "plt.colorbar()\n", - "plt.title(\"MNIST\")\n", - "plt.yticks(ticks=[i for i in range(10)], labels=[i for i in range(10)])\n", - "plt.xticks(ticks=[i for i in range(10)], labels=[i for i in range(10)])\n", - "\n", - "plt.show()" - ] - }, { "cell_type": "code", "execution_count": 32, @@ -383,33 +357,6 @@ "fmnist_pred, fmnist_label = predict(fmnist_model, test_data)" ] }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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8d+vXr0q8Plzf6F6/4H/888/k7m5OS1ZskT8PFJSUqhLly60fPlyatiwIU2ePLnA1yxKffv2pTp16oiv5Qnu2rVrqWrVqkX6BUBTcMLDPmjNmjVUqVIl+v7778Ubc1ZWFvn6+lLNmjVp27ZtKn1If07ub9Zv374lopxv6T4+PlS2bFkaNGgQEeXcJKVSKQUGBtIPP/wg7lvUNm7cSL169SKinNICeVsVOXlp2MmTJ+nevXsqu256ejr16dOHJkyYQEQ5JQdXrlyhoKAgCgkJoVevXtH169dp+PDhVKtWrUJtJHz79m2Kioqi1NRUatiwIX333XdERPTo0SMyNzenqlWriqU/RW3NmjXUtGlT6tKli1jSI/993rZtG9WrV48ePHhARES7d+8mX19fqlKlisrbgu3fv59mzJghvr548SI1a9aM7O3t6f79+0RERVoVmx83b94kqVRK8fHx9M0339COHTvIwcGBvv/+ezHWu3fv0rfffkunTp0iooK3Ucud7Cxfvpy6detGPXr0EMenISKaPn06WVtbU7t27Wjw4MHk5eVFnp6eRJTzZahFixbFehybv//+m1xcXGjLli0K63fv3k1OTk709OlTNUVWenHCwz5qzZo15OnpSQMGDBAH98rKyqJ27dqRo6NjkfUYkN+09u7dS61ataIjR46QVCql6OhoatSoEbm4uNChQ4eIKOdb8JQpU8jW1rZIGk+/H6NcSEgINW/enB4/fkwODg40ePBg8Sa+c+dOGjVqVKElY7169aLGjRvT/fv3qX///tS8eXOqU6cOlS1bVkzCbt68qdJGrx96sMgffidPnqRq1aqJpSMXL16kFi1aUJ8+fYq8B13u5OF///sftWnThrp27arQQ2b+/Pnk4uIifj5BQUE0Z84clSceMpmMli9fToIg0MyZM8X1Fy9eJB8fH6pQoYKYdKmrJPX993zjxg0qX748xcbG0r///ktNmzYlLS0t6t27t8J+48aNowYNGij9OybvjTV58mQaN24cOTk5Uf/+/cXtGzZsoNGjR1OrVq1o6NChYtLauXNnGjVqVLHo0Sb/23j69CnFxMSI7eUSExOpU6dO5OfnJza0zszMpEmTJlG9evVU3q6OccLD6L/i4ps3b9LZs2cVitpXrVqVJ+nJzMzM85AobPLGkaGhoeI3XyKiy5cvU61atahatWrk5uZG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "confusion_matrix(fmnist_pred, fmnist_label)\n", - "plt.colorbar()\n", - "plt.title(\"Fashion MNIST\")\n", - "labels =['T-shirt', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']\n", - "plt.yticks(ticks=[i for i in range(10)], labels=labels)\n", - "plt.xticks(ticks=[i for i in range(10)], labels=labels, rotation=45)\n", - "\n", - "plt.show()" - ] - }, { "cell_type": "code", "execution_count": 37, @@ -478,54 +425,6 @@ "cifar_pred, cifar_label = predict(cifarmodel, test_data)" ] }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cifar_label.unique()" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "confusion_matrix(cifar_pred, cifar_label)\n", - "plt.colorbar()\n", - "plt.title(\"CIFAR-10\")\n", - "\n", - "labels =['Airplane', 'Automobile', 'Bird', 'Cat', 'Deer', 'Dog', 'Frog', 'Horse', 'Ship', 'Truck']\n", - "plt.yticks(ticks=[i for i in range(10)], labels=labels)\n", - "plt.xticks(ticks=[i for i in range(10)], labels=labels, rotation=45)\n", - "\n", - "plt.show()" - ] - }, { "cell_type": "code", "execution_count": 66, @@ -591,18 +490,6 @@ "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.5" - }, "orig_nbformat": 4 }, "nbformat": 4, diff --git a/readme.mkd b/readme.mkd new file mode 100644 index 0000000..a339941 --- /dev/null +++ b/readme.mkd @@ -0,0 +1,64 @@ +# WavPool + +A network block with built in spacial and scale decomposition. + +``` + Modern deep neural networks comprise many operational layers, such as dense or convolutional layers, which are often collected into blocks. In this work, we introduce a new, wavelet-transform-based network architecture that we call the multi-resolution perceptron: by adding a pooling layer, we create a new network block, the WavPool. The first step of the multi-resolution perceptron is transforming the data into its multi-resolution decomposition form by convolving the input data with filters of fixed coefficients but increasing size. Following image processing techniques, we are able to make scale and spatial information simultaneously accessible to the network without increasing the size of the data vector. WavPool outperforms a similar multilayer perceptron while using fewer parameters, and outperforms a comparable convolutional neural network by over 10% on accuracy on CIFAR-10. + +``` + +This codebase contains the experimental work supporting the paper. It is to be used additional material for replication. + +## Installation + +This project is build with python `poetry`. And is our perfered method to install from source. + +Commands are as follows: + +``` +pip install poetry +poetry shell +poetry init +poetry install +``` + +To install all the dependencies required for this project. + + +We also supply distribution files (found in \dist), or you may use the provided pyproject.toml to install with your method of choice. + +## Contents + +### Data Generators +The pytorch data generator objects for the experiments done in this paper. +Wrapped to work with the training framework, but functionally unmodified. +We include CIFAR-10 (`cifar_generator.py`), Fashion MNIST (`fashion_mnist_generator.py`), and MNIST (`mnist_generator.py`). + +### Training +Training loops used in the experiments. + +`finetune_networks.py` generates a set of parameters optimial for a network/task combination. + +`train_model.py` Executes the training loop for a network/task/parameter combination. + +### Models + +`wavpool.py` Our implimentation of the novel WavPool block + +`vanillaCNN.py` Standard two layer CNN containing 2D Convolutions, batch norms, and a dense output + +`vanillaMLP.py` Standard two hidden layer MLP + +`wavelet_layer.py` The `MicroWav` MLR analysis layer + +`wavMLP.py` Single `MicroWav` layer network with an additional dense layer and output. Not included in the paper. + + +### Notebooks + +Visualizations of experiments with plotting code for plots included in the paper, and code to produce weights. + +### `run_experiments.py` + +Takes a configuration and trains an model. +Current execution shows the optimization and subsquentical training and testing for a WavPool over CIFAR-10, Fashion MNIST and MNIST. \ No newline at end of file diff --git a/tests/test_generator.py b/tests/test_generator.py index feb1134..b902160 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -1,4 +1,4 @@ -from wavNN.data_generators.mnist_generator import NMISTGenerator +from WavPool.data_generators.mnist_generator import NMISTGenerator import pytest diff --git a/tests/test_voting_wavnn.py b/tests/test_voting_wavnn.py index 0492999..6063cb0 100644 --- a/tests/test_voting_wavnn.py +++ b/tests/test_voting_wavnn.py @@ -1,6 +1,6 @@ import pytest import numpy as np -from wavNN.models import voting_wavMLP +from WavPool.models import voting_wavMLP import torch diff --git a/tests/test_wav_cnn.py b/tests/test_wav_cnn.py index 820d606..19472a7 100644 --- a/tests/test_wav_cnn.py +++ b/tests/test_wav_cnn.py @@ -1,7 +1,7 @@ import pytest import numpy as np import torch -from wavNN.models.wavCNN import WavCNN +from WavPool.models.wavCNN import WavCNN def test_input_layer(): diff --git a/tests/test_wav_mlp.py b/tests/test_wav_mlp.py index 078ef3e..f4834a3 100644 --- a/tests/test_wav_mlp.py +++ b/tests/test_wav_mlp.py @@ -1,7 +1,7 @@ import pytest import numpy as np import torch -from wavNN.models.wavMLP import WavMLP +from WavPool.models.wavMLP import WavMLP def test_mlp_out_size():