From 5e5511caf820eb5ca66d8bacb1bdd6e0ebae434e Mon Sep 17 00:00:00 2001 From: steffen-illium Date: Sun, 23 May 2021 15:49:48 +0200 Subject: [PATCH] journal_robustness.py redone, now is sensitive to seeds and plots --- journal_robustness.py | 9 +++++---- visualization.py | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/journal_robustness.py b/journal_robustness.py index c4e9ac1..b9f44e2 100644 --- a/journal_robustness.py +++ b/journal_robustness.py @@ -9,10 +9,7 @@ import numpy as np from pathlib import Path from tqdm import tqdm from tabulate import tabulate -from sklearn.metrics import mean_absolute_error as MAE -from sklearn.metrics import mean_squared_error as MSE -from journal_basins import mean_invariate_manhattan_distance as MIM from functionalities_test import is_identity_function, is_zero_fixpoint, test_for_fixpoints, is_divergent from network import Net from torch.nn import functional as F @@ -153,7 +150,11 @@ class RobustnessComparisonExperiment: # sns.set(rc={'figure.figsize': (10, 50)}) bx = sns.catplot(data=df[df['absolute_loss'] < 1], y='absolute_loss', x='application_step', kind='box', col='noise_level', col_wrap=3, showfliers=False) - plt.show() + directory = Path('output') / 'robustness' + filename = f"absolute_loss_perapplication_boxplot_grid.png" + filepath = directory / filename + + plt.savefig(str(filepath)) if print_it: col_headers = [str(f"10e-{d}") for d in range(noise_levels)] diff --git a/visualization.py b/visualization.py index ebb88f8..45080b7 100644 --- a/visualization.py +++ b/visualization.py @@ -131,10 +131,10 @@ def plot_3d(matrices_weights_history, directory: Union[str, Path], population_si for j in range(start_log_time, len(weight_matrix_pca)): xdata.append(weight_matrix_pca[j][0]) ydata.append(weight_matrix_pca[j][1]) - zdata = np.arange(start_time, len(ydata)*batch_size+start_time, batch_size).tolist() + zdata = np.arange(start_time, len(ydata)*batch_size+start_time, batch_size) ax.plot3D(xdata, ydata, zdata, label=f"net {i}") - ax.scatter(np.array(xdata), np.array(ydata), np.array(zdata), s=7) + ax.scatter(np.asarray(xdata), np.asarray(ydata), zdata, s=7) steps = mpatches.Patch(color="white", label=f"{z_axis_legend}: {len(matrices_weights_history)} steps") population_size = mpatches.Patch(color="white", label=f"Population: {population_size} networks") @@ -181,7 +181,8 @@ def plot_3d_self_train(nets_array: List, exp_name: str, directory: Union[str, Pa z_axis_legend = "epochs" - return plot_3d(matrices_weights_history, directory, len(nets_array), z_axis_legend, exp_name, "", batch_size, plot_pca_together=plot_pca_together) + return plot_3d(matrices_weights_history, directory, len(nets_array), z_axis_legend, exp_name, "", batch_size, + plot_pca_together=plot_pca_together) def plot_3d_self_application(nets_array: List, exp_name: str, directory_name: Union[str, Path], batch_size: int) -> None: @@ -212,7 +213,7 @@ def plot_3d_soup(nets_list, exp_name, directory: Union[str, Path]): # will send forward the number "1" for batch size with the variable . irrelevant_batch_size = 1 - plot_3d_self_train(nets_list, exp_name, directory, irrelevant_batch_size) + plot_3d_self_train(nets_list, exp_name, directory, irrelevant_batch_size, False) def line_chart_fixpoints(fixpoint_counters_history: list, epochs: int, ST_steps_between_SA: int,