summaryrefslogtreecommitdiff
path: root/results/ep_bias/c1
diff options
context:
space:
mode:
Diffstat (limited to 'results/ep_bias/c1')
-rw-r--r--results/ep_bias/c1/launch-s1989.json24
-rw-r--r--results/ep_bias/c1/launch-s1990.json24
-rw-r--r--results/ep_bias/c1/launch-s1991.json24
-rw-r--r--results/ep_bias/c1/launch-s1992.json24
-rw-r--r--results/ep_bias/c1/launch-s1993.json24
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-clean.json89
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-constant.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-innovation.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-noise.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-oracle.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1989-raw.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-clean.json89
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-constant.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-innovation.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-noise.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-oracle.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1990-raw.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-clean.json89
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-constant.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-innovation.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-noise.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-oracle.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1991-raw.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-clean.json89
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-constant.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-innovation.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-noise.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-oracle.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1992-raw.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-clean.json89
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-constant.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-innovation.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-noise.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-oracle.json121
-rw-r--r--results/ep_bias/c1/rain-ep-c1-s1993-raw.json121
35 files changed, 3590 insertions, 0 deletions
diff --git a/results/ep_bias/c1/launch-s1989.json b/results/ep_bias/c1/launch-s1989.json
new file mode 100644
index 0000000..3f188be
--- /dev/null
+++ b/results/ep_bias/c1/launch-s1989.json
@@ -0,0 +1,24 @@
+{
+ "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb",
+ "conditions": [
+ "clean",
+ "raw",
+ "same_rms_noise",
+ "constant",
+ "innovation",
+ "oracle"
+ ],
+ "cuda_visible_devices": "5",
+ "outputs": [
+ "results/ep_bias/c1/rain-ep-c1-s1989-clean.json",
+ "results/ep_bias/c1/rain-ep-c1-s1989-raw.json",
+ "results/ep_bias/c1/rain-ep-c1-s1989-noise.json",
+ "results/ep_bias/c1/rain-ep-c1-s1989-constant.json",
+ "results/ep_bias/c1/rain-ep-c1-s1989-innovation.json",
+ "results/ep_bias/c1/rain-ep-c1-s1989-oracle.json"
+ ],
+ "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815",
+ "seed": 1989,
+ "stage": "rain_ep_bias_c1",
+ "wall_seconds": 226.93412446975708
+}
diff --git a/results/ep_bias/c1/launch-s1990.json b/results/ep_bias/c1/launch-s1990.json
new file mode 100644
index 0000000..18a83fa
--- /dev/null
+++ b/results/ep_bias/c1/launch-s1990.json
@@ -0,0 +1,24 @@
+{
+ "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb",
+ "conditions": [
+ "clean",
+ "raw",
+ "same_rms_noise",
+ "constant",
+ "innovation",
+ "oracle"
+ ],
+ "cuda_visible_devices": "7",
+ "outputs": [
+ "results/ep_bias/c1/rain-ep-c1-s1990-clean.json",
+ "results/ep_bias/c1/rain-ep-c1-s1990-raw.json",
+ "results/ep_bias/c1/rain-ep-c1-s1990-noise.json",
+ "results/ep_bias/c1/rain-ep-c1-s1990-constant.json",
+ "results/ep_bias/c1/rain-ep-c1-s1990-innovation.json",
+ "results/ep_bias/c1/rain-ep-c1-s1990-oracle.json"
+ ],
+ "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815",
+ "seed": 1990,
+ "stage": "rain_ep_bias_c1",
+ "wall_seconds": 226.81082963943481
+}
diff --git a/results/ep_bias/c1/launch-s1991.json b/results/ep_bias/c1/launch-s1991.json
new file mode 100644
index 0000000..4efa76b
--- /dev/null
+++ b/results/ep_bias/c1/launch-s1991.json
@@ -0,0 +1,24 @@
+{
+ "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb",
+ "conditions": [
+ "clean",
+ "raw",
+ "same_rms_noise",
+ "constant",
+ "innovation",
+ "oracle"
+ ],
+ "cuda_visible_devices": "5",
+ "outputs": [
+ "results/ep_bias/c1/rain-ep-c1-s1991-clean.json",
+ "results/ep_bias/c1/rain-ep-c1-s1991-raw.json",
+ "results/ep_bias/c1/rain-ep-c1-s1991-noise.json",
+ "results/ep_bias/c1/rain-ep-c1-s1991-constant.json",
+ "results/ep_bias/c1/rain-ep-c1-s1991-innovation.json",
+ "results/ep_bias/c1/rain-ep-c1-s1991-oracle.json"
+ ],
+ "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815",
+ "seed": 1991,
+ "stage": "rain_ep_bias_c1",
+ "wall_seconds": 230.86860918998718
+}
diff --git a/results/ep_bias/c1/launch-s1992.json b/results/ep_bias/c1/launch-s1992.json
new file mode 100644
index 0000000..12a4efa
--- /dev/null
+++ b/results/ep_bias/c1/launch-s1992.json
@@ -0,0 +1,24 @@
+{
+ "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb",
+ "conditions": [
+ "clean",
+ "raw",
+ "same_rms_noise",
+ "constant",
+ "innovation",
+ "oracle"
+ ],
+ "cuda_visible_devices": "7",
+ "outputs": [
+ "results/ep_bias/c1/rain-ep-c1-s1992-clean.json",
+ "results/ep_bias/c1/rain-ep-c1-s1992-raw.json",
+ "results/ep_bias/c1/rain-ep-c1-s1992-noise.json",
+ "results/ep_bias/c1/rain-ep-c1-s1992-constant.json",
+ "results/ep_bias/c1/rain-ep-c1-s1992-innovation.json",
+ "results/ep_bias/c1/rain-ep-c1-s1992-oracle.json"
+ ],
+ "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815",
+ "seed": 1992,
+ "stage": "rain_ep_bias_c1",
+ "wall_seconds": 226.50743961334229
+}
diff --git a/results/ep_bias/c1/launch-s1993.json b/results/ep_bias/c1/launch-s1993.json
new file mode 100644
index 0000000..52b7311
--- /dev/null
+++ b/results/ep_bias/c1/launch-s1993.json
@@ -0,0 +1,24 @@
+{
+ "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb",
+ "conditions": [
+ "clean",
+ "raw",
+ "same_rms_noise",
+ "constant",
+ "innovation",
+ "oracle"
+ ],
+ "cuda_visible_devices": "5",
+ "outputs": [
+ "results/ep_bias/c1/rain-ep-c1-s1993-clean.json",
+ "results/ep_bias/c1/rain-ep-c1-s1993-raw.json",
+ "results/ep_bias/c1/rain-ep-c1-s1993-noise.json",
+ "results/ep_bias/c1/rain-ep-c1-s1993-constant.json",
+ "results/ep_bias/c1/rain-ep-c1-s1993-innovation.json",
+ "results/ep_bias/c1/rain-ep-c1-s1993-oracle.json"
+ ],
+ "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815",
+ "seed": 1993,
+ "stage": "rain_ep_bias_c1",
+ "wall_seconds": 229.66089177131653
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-clean.json b/results/ep_bias/c1/rain-ep-c1-s1989-clean.json
new file mode 100644
index 0000000..abea4e1
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-clean.json
@@ -0,0 +1,89 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "clean",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6011,
+ "train_cost": 0.3022894215583801,
+ "test_accuracy": 0.7545,
+ "test_cost": 0.21480901718139647,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 11.132749795913696
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7858,
+ "train_cost": 0.1894368099451065,
+ "test_accuracy": 0.7985,
+ "test_cost": 0.1832209153175354,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 21.85284399986267
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.823,
+ "train_cost": 0.16825321094989776,
+ "test_accuracy": 0.7705,
+ "test_cost": 0.22080597877502442,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.49429488182068
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.823,
+ "train_cost": 0.16825321094989776,
+ "test_accuracy": 0.7705,
+ "test_cost": 0.22080597877502442,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.49429488182068
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-constant.json b/results/ep_bias/c1/rain-ep-c1-s1989-constant.json
new file mode 100644
index 0000000..da41128
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-constant.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "constant",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5553,
+ "train_cost": 0.3266469940185547,
+ "test_accuracy": 0.6585,
+ "test_cost": 0.27255614757537844,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0026502849865602716,
+ "bias_state_difference_rms": 6.597840815104088e-05,
+ "residual_state_difference_rms": 6.63382732544915e-05,
+ "bias_to_clean_state_difference_rms": 0.0248948352670074,
+ "residual_to_clean_state_difference_rms": 0.02503061881680507,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.414257526397705
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7128,
+ "train_cost": 0.24951929726600647,
+ "test_accuracy": 0.7085,
+ "test_cost": 0.26604074382781984,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0022326491427416568,
+ "bias_state_difference_rms": 6.530270542461897e-05,
+ "residual_state_difference_rms": 7.004920600982192e-05,
+ "bias_to_clean_state_difference_rms": 0.029248977895572213,
+ "residual_to_clean_state_difference_rms": 0.031374927958363684,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.033861875534058
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.6942,
+ "train_cost": 0.2630636814117432,
+ "test_accuracy": 0.681,
+ "test_cost": 0.26452357196807863,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00238359278809533,
+ "bias_state_difference_rms": 7.094849044473985e-05,
+ "residual_state_difference_rms": 6.888688589975997e-05,
+ "bias_to_clean_state_difference_rms": 0.029765357068995427,
+ "residual_to_clean_state_difference_rms": 0.028900442325471953,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.970885038375854
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.6942,
+ "train_cost": 0.2630636814117432,
+ "test_accuracy": 0.681,
+ "test_cost": 0.26452357196807863,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00238359278809533,
+ "bias_state_difference_rms": 7.094849044473985e-05,
+ "residual_state_difference_rms": 6.888688589975997e-05,
+ "bias_to_clean_state_difference_rms": 0.029765357068995427,
+ "residual_to_clean_state_difference_rms": 0.028900442325471953,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.970885038375854
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json
new file mode 100644
index 0000000..37127bb
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "innovation",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5915,
+ "train_cost": 0.309255326461792,
+ "test_accuracy": 0.7545,
+ "test_cost": 0.2258686990737915,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002857925972761342,
+ "bias_state_difference_rms": 6.838680302328663e-05,
+ "residual_state_difference_rms": 1.710082041081434e-05,
+ "bias_to_clean_state_difference_rms": 0.023928822396057713,
+ "residual_to_clean_state_difference_rms": 0.005983647083164804,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.530439376831055
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7674,
+ "train_cost": 0.20665442609786988,
+ "test_accuracy": 0.783,
+ "test_cost": 0.1913930902481079,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0022606185726693454,
+ "bias_state_difference_rms": 6.800653175633376e-05,
+ "residual_state_difference_rms": 1.7386926461635754e-05,
+ "bias_to_clean_state_difference_rms": 0.030083151832213533,
+ "residual_to_clean_state_difference_rms": 0.007691225168120784,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.41246509552002
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7971,
+ "train_cost": 0.18733456535339355,
+ "test_accuracy": 0.75,
+ "test_cost": 0.22606964588165282,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0035759885538431554,
+ "bias_state_difference_rms": 6.749654427279662e-05,
+ "residual_state_difference_rms": 1.7722733219605922e-05,
+ "bias_to_clean_state_difference_rms": 0.018874932974899297,
+ "residual_to_clean_state_difference_rms": 0.004956037457267333,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.14427208900452
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7971,
+ "train_cost": 0.18733456535339355,
+ "test_accuracy": 0.75,
+ "test_cost": 0.22606964588165282,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0035759885538431554,
+ "bias_state_difference_rms": 6.749654427279662e-05,
+ "residual_state_difference_rms": 1.7722733219605922e-05,
+ "bias_to_clean_state_difference_rms": 0.018874932974899297,
+ "residual_to_clean_state_difference_rms": 0.004956037457267333,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.14427208900452
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-noise.json b/results/ep_bias/c1/rain-ep-c1-s1989-noise.json
new file mode 100644
index 0000000..e4928ec
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-noise.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "same_rms_noise",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6017,
+ "train_cost": 0.30215022211074827,
+ "test_accuracy": 0.761,
+ "test_cost": 0.2138809404373169,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002920974688811938,
+ "bias_state_difference_rms": 6.663539274315504e-05,
+ "residual_state_difference_rms": 6.636989063542658e-05,
+ "bias_to_clean_state_difference_rms": 0.022812725149035092,
+ "residual_to_clean_state_difference_rms": 0.02272183011021623,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.205537796020508
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7882,
+ "train_cost": 0.188776060628891,
+ "test_accuracy": 0.8015,
+ "test_cost": 0.1777397050857544,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0032720191567634283,
+ "bias_state_difference_rms": 6.637821262985081e-05,
+ "residual_state_difference_rms": 6.59492970724865e-05,
+ "bias_to_clean_state_difference_rms": 0.020286621028071827,
+ "residual_to_clean_state_difference_rms": 0.020155535133761667,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.835002899169922
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.822,
+ "train_cost": 0.16819184494018555,
+ "test_accuracy": 0.7965,
+ "test_cost": 0.18230166244506835,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0061238763125476565,
+ "bias_state_difference_rms": 6.725749249790725e-05,
+ "residual_state_difference_rms": 6.796068294087145e-05,
+ "bias_to_clean_state_difference_rms": 0.010982830002640399,
+ "residual_to_clean_state_difference_rms": 0.011097657671762877,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.36355447769165
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.822,
+ "train_cost": 0.16819184494018555,
+ "test_accuracy": 0.7965,
+ "test_cost": 0.18230166244506835,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0061238763125476565,
+ "bias_state_difference_rms": 6.725749249790725e-05,
+ "residual_state_difference_rms": 6.796068294087145e-05,
+ "bias_to_clean_state_difference_rms": 0.010982830002640399,
+ "residual_to_clean_state_difference_rms": 0.011097657671762877,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.36355447769165
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json
new file mode 100644
index 0000000..b5b6f8f
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "oracle",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6015,
+ "train_cost": 0.3034141411781311,
+ "test_accuracy": 0.754,
+ "test_cost": 0.21173695945739746,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002906076951234828,
+ "bias_state_difference_rms": 6.633172397976592e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.022825178098460453,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.141616821289062
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7856,
+ "train_cost": 0.1894871323108673,
+ "test_accuracy": 0.793,
+ "test_cost": 0.1828599739074707,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0030744827654543543,
+ "bias_state_difference_rms": 6.586380885647234e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.021422728270437653,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.80730104446411
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8242,
+ "train_cost": 0.16800354764461517,
+ "test_accuracy": 0.7675,
+ "test_cost": 0.21805441284179689,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.005753258290239676,
+ "bias_state_difference_rms": 6.595299498610449e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.011463590136043925,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.480507373809814
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8242,
+ "train_cost": 0.16800354764461517,
+ "test_accuracy": 0.7675,
+ "test_cost": 0.21805441284179689,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.005753258290239676,
+ "bias_state_difference_rms": 6.595299498610449e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.011463590136043925,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.480507373809814
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-raw.json b/results/ep_bias/c1/rain-ep-c1-s1989-raw.json
new file mode 100644
index 0000000..c810065
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1989-raw.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "raw",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1989,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.4335,
+ "train_cost": 0.4560521974563599,
+ "test_accuracy": 0.306,
+ "test_cost": 0.7802567749023438,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0032625819183305306,
+ "bias_state_difference_rms": 8.008660649985776e-05,
+ "residual_state_difference_rms": 8.008660851268821e-05,
+ "bias_to_clean_state_difference_rms": 0.024547002498204927,
+ "residual_to_clean_state_difference_rms": 0.024547003115148965,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.117750644683838
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.3683,
+ "train_cost": 0.58563308801651,
+ "test_accuracy": 0.279,
+ "test_cost": 0.8746520080566407,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.002783718474111749,
+ "bias_state_difference_rms": 7.21401487570343e-05,
+ "residual_state_difference_rms": 7.214014093610922e-05,
+ "bias_to_clean_state_difference_rms": 0.02591503035523495,
+ "residual_to_clean_state_difference_rms": 0.02591502754571051,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.870208740234375
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.36,
+ "train_cost": 0.5739224248886109,
+ "test_accuracy": 0.2115,
+ "test_cost": 0.6092560310363769,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002947041962686802,
+ "bias_state_difference_rms": 8.032219654963042e-05,
+ "residual_state_difference_rms": 8.032219654963042e-05,
+ "bias_to_clean_state_difference_rms": 0.02725519268697522,
+ "residual_to_clean_state_difference_rms": 0.02725519268697522,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.614163637161255
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.36,
+ "train_cost": 0.5739224248886109,
+ "test_accuracy": 0.2115,
+ "test_cost": 0.6092560310363769,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002947041962686802,
+ "bias_state_difference_rms": 8.032219654963042e-05,
+ "residual_state_difference_rms": 8.032219654963042e-05,
+ "bias_to_clean_state_difference_rms": 0.02725519268697522,
+ "residual_to_clean_state_difference_rms": 0.02725519268697522,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.614163637161255
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-clean.json b/results/ep_bias/c1/rain-ep-c1-s1990-clean.json
new file mode 100644
index 0000000..904c424
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-clean.json
@@ -0,0 +1,89 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "clean",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6606,
+ "train_cost": 0.27158473813533784,
+ "test_accuracy": 0.7665,
+ "test_cost": 0.21203059673309327,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 11.449177265167236
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7968,
+ "train_cost": 0.18956614887714385,
+ "test_accuracy": 0.752,
+ "test_cost": 0.2672611417770386,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 22.77556300163269
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7573,
+ "train_cost": 0.21449728202819823,
+ "test_accuracy": 0.716,
+ "test_cost": 0.25428798484802245,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 33.53775382041931
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7573,
+ "train_cost": 0.21449728202819823,
+ "test_accuracy": 0.716,
+ "test_cost": 0.25428798484802245,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 33.53775382041931
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-constant.json b/results/ep_bias/c1/rain-ep-c1-s1990-constant.json
new file mode 100644
index 0000000..58343e0
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-constant.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "constant",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6403,
+ "train_cost": 0.2912232979774475,
+ "test_accuracy": 0.5785,
+ "test_cost": 0.47831679725646975,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.003846313872765165,
+ "bias_state_difference_rms": 6.728917558210017e-05,
+ "residual_state_difference_rms": 6.0271901427063764e-05,
+ "bias_to_clean_state_difference_rms": 0.01749445776086004,
+ "residual_to_clean_state_difference_rms": 0.015670042388853073,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.210429906845093
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7726,
+ "train_cost": 0.211278013920784,
+ "test_accuracy": 0.732,
+ "test_cost": 0.295507266998291,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0035800436626807707,
+ "bias_state_difference_rms": 6.331647259818047e-05,
+ "residual_state_difference_rms": 5.445370315955731e-05,
+ "bias_to_clean_state_difference_rms": 0.017685949827429895,
+ "residual_to_clean_state_difference_rms": 0.015210346099181891,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 21.87259602546692
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7974,
+ "train_cost": 0.19731631968021393,
+ "test_accuracy": 0.7915,
+ "test_cost": 0.1933894157409668,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.003832221287101308,
+ "bias_state_difference_rms": 6.0639572439556253e-05,
+ "residual_state_difference_rms": 5.4245437626596826e-05,
+ "bias_to_clean_state_difference_rms": 0.015823609310782787,
+ "residual_to_clean_state_difference_rms": 0.014155090106403556,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.520140409469604
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7974,
+ "train_cost": 0.19731631968021393,
+ "test_accuracy": 0.7915,
+ "test_cost": 0.1933894157409668,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.003832221287101308,
+ "bias_state_difference_rms": 6.0639572439556253e-05,
+ "residual_state_difference_rms": 5.4245437626596826e-05,
+ "bias_to_clean_state_difference_rms": 0.015823609310782787,
+ "residual_to_clean_state_difference_rms": 0.014155090106403556,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.520140409469604
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json
new file mode 100644
index 0000000..44804e8
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "innovation",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6534,
+ "train_cost": 0.27704137275218965,
+ "test_accuracy": 0.743,
+ "test_cost": 0.23728040504455566,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.003950793878449728,
+ "bias_state_difference_rms": 6.619825706081344e-05,
+ "residual_state_difference_rms": 1.4009402496767348e-05,
+ "bias_to_clean_state_difference_rms": 0.01675568483132036,
+ "residual_to_clean_state_difference_rms": 0.003545971500356928,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 12.013960123062134
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7989,
+ "train_cost": 0.1906227728366852,
+ "test_accuracy": 0.7465,
+ "test_cost": 0.29076750564575193,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.007041249074002256,
+ "bias_state_difference_rms": 5.557759851380955e-05,
+ "residual_state_difference_rms": 1.2844341837577522e-05,
+ "bias_to_clean_state_difference_rms": 0.007893144799977821,
+ "residual_to_clean_state_difference_rms": 0.0018241567231304858,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.8679838180542
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7798,
+ "train_cost": 0.19880174379348756,
+ "test_accuracy": 0.7365,
+ "test_cost": 0.26134266757965086,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.015526498281142899,
+ "bias_state_difference_rms": 5.2816102348688366e-05,
+ "residual_state_difference_rms": 1.2644605297071703e-05,
+ "bias_to_clean_state_difference_rms": 0.0034016750842547736,
+ "residual_to_clean_state_difference_rms": 0.0008143887351875545,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.61022162437439
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7798,
+ "train_cost": 0.19880174379348756,
+ "test_accuracy": 0.7365,
+ "test_cost": 0.26134266757965086,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.015526498281142899,
+ "bias_state_difference_rms": 5.2816102348688366e-05,
+ "residual_state_difference_rms": 1.2644605297071703e-05,
+ "bias_to_clean_state_difference_rms": 0.0034016750842547736,
+ "residual_to_clean_state_difference_rms": 0.0008143887351875545,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.61022162437439
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-noise.json b/results/ep_bias/c1/rain-ep-c1-s1990-noise.json
new file mode 100644
index 0000000..0f906de
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-noise.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "same_rms_noise",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6606,
+ "train_cost": 0.2711284995079041,
+ "test_accuracy": 0.7695,
+ "test_cost": 0.21486114978790283,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.004382640501626218,
+ "bias_state_difference_rms": 6.519336663563045e-05,
+ "residual_state_difference_rms": 6.081398983373392e-05,
+ "bias_to_clean_state_difference_rms": 0.014875362606501689,
+ "residual_to_clean_state_difference_rms": 0.013876107294487957,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.801432371139526
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7966,
+ "train_cost": 0.193299808883667,
+ "test_accuracy": 0.7525,
+ "test_cost": 0.24858134269714355,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.009390866291523628,
+ "bias_state_difference_rms": 5.791614317927597e-05,
+ "residual_state_difference_rms": 5.8279208576671995e-05,
+ "bias_to_clean_state_difference_rms": 0.006167284399688682,
+ "residual_to_clean_state_difference_rms": 0.0062059459444413455,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 22.535385847091675
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.757,
+ "train_cost": 0.21369371700286866,
+ "test_accuracy": 0.7555,
+ "test_cost": 0.23777267742156982,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.017618557436717388,
+ "bias_state_difference_rms": 5.067106094167618e-05,
+ "residual_state_difference_rms": 5.0358076160204636e-05,
+ "bias_to_clean_state_difference_rms": 0.0028760050942693407,
+ "residual_to_clean_state_difference_rms": 0.002858240598929939,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.32496356964111
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.757,
+ "train_cost": 0.21369371700286866,
+ "test_accuracy": 0.7555,
+ "test_cost": 0.23777267742156982,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.017618557436717388,
+ "bias_state_difference_rms": 5.067106094167618e-05,
+ "residual_state_difference_rms": 5.0358076160204636e-05,
+ "bias_to_clean_state_difference_rms": 0.0028760050942693407,
+ "residual_to_clean_state_difference_rms": 0.002858240598929939,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.32496356964111
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json
new file mode 100644
index 0000000..50de466
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "oracle",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.663,
+ "train_cost": 0.2711967014312744,
+ "test_accuracy": 0.766,
+ "test_cost": 0.21661818218231202,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.004383474383014145,
+ "bias_state_difference_rms": 6.424731530485976e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.014656710565896432,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.130960702896118
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7939,
+ "train_cost": 0.19159410698413848,
+ "test_accuracy": 0.7845,
+ "test_cost": 0.19456660175323487,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.006276390941576456,
+ "bias_state_difference_rms": 5.6911655092403044e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.009067576513662549,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.652936697006226
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7567,
+ "train_cost": 0.21386824369430543,
+ "test_accuracy": 0.775,
+ "test_cost": 0.20413391971588135,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.012864366347042662,
+ "bias_state_difference_rms": 5.502748172659873e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.004277512023687725,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.14521074295044
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7567,
+ "train_cost": 0.21386824369430543,
+ "test_accuracy": 0.775,
+ "test_cost": 0.20413391971588135,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.012864366347042662,
+ "bias_state_difference_rms": 5.502748172659873e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.004277512023687725,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.14521074295044
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-raw.json b/results/ep_bias/c1/rain-ep-c1-s1990-raw.json
new file mode 100644
index 0000000..b88bfdd
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1990-raw.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "raw",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1990,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6435,
+ "train_cost": 0.30328409667015077,
+ "test_accuracy": 0.6785,
+ "test_cost": 0.3523319435119629,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0033119347849553797,
+ "bias_state_difference_rms": 6.6284849790889e-05,
+ "residual_state_difference_rms": 6.628485708670791e-05,
+ "bias_to_clean_state_difference_rms": 0.02001393568858634,
+ "residual_to_clean_state_difference_rms": 0.020013937891473592,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 10.86359453201294
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7475,
+ "train_cost": 0.2544722128391266,
+ "test_accuracy": 0.753,
+ "test_cost": 0.21176387977600097,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0020992335596391395,
+ "bias_state_difference_rms": 6.207869622846194e-05,
+ "residual_state_difference_rms": 6.207869038584998e-05,
+ "bias_to_clean_state_difference_rms": 0.02957207688654393,
+ "residual_to_clean_state_difference_rms": 0.029572074103331968,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.41861319541931
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.6686,
+ "train_cost": 0.3153200741767883,
+ "test_accuracy": 0.288,
+ "test_cost": 0.7219673614501954,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002748038110100187,
+ "bias_state_difference_rms": 6.0595257126204136e-05,
+ "residual_state_difference_rms": 6.0595257126204136e-05,
+ "bias_to_clean_state_difference_rms": 0.02205037000887698,
+ "residual_to_clean_state_difference_rms": 0.02205037000887698,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 31.973445892333984
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.6686,
+ "train_cost": 0.3153200741767883,
+ "test_accuracy": 0.288,
+ "test_cost": 0.7219673614501954,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002748038110100187,
+ "bias_state_difference_rms": 6.0595257126204136e-05,
+ "residual_state_difference_rms": 6.0595257126204136e-05,
+ "bias_to_clean_state_difference_rms": 0.02205037000887698,
+ "residual_to_clean_state_difference_rms": 0.02205037000887698,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 31.973445892333984
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-clean.json b/results/ep_bias/c1/rain-ep-c1-s1991-clean.json
new file mode 100644
index 0000000..55b6d01
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-clean.json
@@ -0,0 +1,89 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "clean",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6286,
+ "train_cost": 0.2864802133560181,
+ "test_accuracy": 0.7565,
+ "test_cost": 0.2155777521133423,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 11.806015729904175
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.795,
+ "train_cost": 0.18370667338371277,
+ "test_accuracy": 0.808,
+ "test_cost": 0.17455010938644408,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 22.56948685646057
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7993,
+ "train_cost": 0.18258129904270173,
+ "test_accuracy": 0.7485,
+ "test_cost": 0.22590363597869872,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 33.01645755767822
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7993,
+ "train_cost": 0.18258129904270173,
+ "test_accuracy": 0.7485,
+ "test_cost": 0.22590363597869872,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 33.01645755767822
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-constant.json b/results/ep_bias/c1/rain-ep-c1-s1991-constant.json
new file mode 100644
index 0000000..6166037
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-constant.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "constant",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.595,
+ "train_cost": 0.3079300483226776,
+ "test_accuracy": 0.686,
+ "test_cost": 0.2951688404083252,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002362031429817802,
+ "bias_state_difference_rms": 8.45503174928388e-05,
+ "residual_state_difference_rms": 0.0001021557688121655,
+ "bias_to_clean_state_difference_rms": 0.035795593752687996,
+ "residual_to_clean_state_difference_rms": 0.04324911494511544,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.810579061508179
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7015,
+ "train_cost": 0.2631262734889984,
+ "test_accuracy": 0.6145,
+ "test_cost": 0.358705623626709,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.002338978202995718,
+ "bias_state_difference_rms": 9.012169948331792e-05,
+ "residual_state_difference_rms": 0.00010061541371186737,
+ "bias_to_clean_state_difference_rms": 0.03853037166737672,
+ "residual_to_clean_state_difference_rms": 0.043016824005884746,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.935576915740967
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.6428,
+ "train_cost": 0.3038617823123932,
+ "test_accuracy": 0.5425,
+ "test_cost": 0.33631735801696777,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00200867531958443,
+ "bias_state_difference_rms": 8.781145942341624e-05,
+ "residual_state_difference_rms": 8.677139877626471e-05,
+ "bias_to_clean_state_difference_rms": 0.04371610412457467,
+ "residual_to_clean_state_difference_rms": 0.04319831977336021,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.97881603240967
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.6428,
+ "train_cost": 0.3038617823123932,
+ "test_accuracy": 0.5425,
+ "test_cost": 0.33631735801696777,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00200867531958443,
+ "bias_state_difference_rms": 8.781145942341624e-05,
+ "residual_state_difference_rms": 8.677139877626471e-05,
+ "bias_to_clean_state_difference_rms": 0.04371610412457467,
+ "residual_to_clean_state_difference_rms": 0.04319831977336021,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.97881603240967
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json
new file mode 100644
index 0000000..105b20c
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "innovation",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 9.5367431640625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6208,
+ "train_cost": 0.2918812784910202,
+ "test_accuracy": 0.7425,
+ "test_cost": 0.22733802700042724,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002470225093881606,
+ "bias_state_difference_rms": 7.938935378218063e-05,
+ "residual_state_difference_rms": 3.5420947861829475e-05,
+ "bias_to_clean_state_difference_rms": 0.032138509959605176,
+ "residual_to_clean_state_difference_rms": 0.014339157977773805,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.117533922195435
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7786,
+ "train_cost": 0.20058452415466307,
+ "test_accuracy": 0.7985,
+ "test_cost": 0.19109041690826417,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.003217710637771075,
+ "bias_state_difference_rms": 9.00612935920934e-05,
+ "residual_state_difference_rms": 3.7954618159723695e-05,
+ "bias_to_clean_state_difference_rms": 0.02798924568757349,
+ "residual_to_clean_state_difference_rms": 0.011795534910502411,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 21.737785577774048
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8023,
+ "train_cost": 0.18613034284114838,
+ "test_accuracy": 0.7665,
+ "test_cost": 0.202285578250885,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.004655521418516836,
+ "bias_state_difference_rms": 8.437691457081638e-05,
+ "residual_state_difference_rms": 3.875328475699105e-05,
+ "bias_to_clean_state_difference_rms": 0.018124052492856393,
+ "residual_to_clean_state_difference_rms": 0.008324155615062586,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.353110790252686
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8023,
+ "train_cost": 0.18613034284114838,
+ "test_accuracy": 0.7665,
+ "test_cost": 0.202285578250885,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.004655521418516836,
+ "bias_state_difference_rms": 8.437691457081638e-05,
+ "residual_state_difference_rms": 3.875328475699105e-05,
+ "bias_to_clean_state_difference_rms": 0.018124052492856393,
+ "residual_to_clean_state_difference_rms": 0.008324155615062586,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.353110790252686
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-noise.json b/results/ep_bias/c1/rain-ep-c1-s1991-noise.json
new file mode 100644
index 0000000..4131b55
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-noise.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "same_rms_noise",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6276,
+ "train_cost": 0.28668752970695494,
+ "test_accuracy": 0.7605,
+ "test_cost": 0.20921922206878663,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0026107519268949316,
+ "bias_state_difference_rms": 8.442201549713874e-05,
+ "residual_state_difference_rms": 9.084367274527985e-05,
+ "bias_to_clean_state_difference_rms": 0.0323362838986947,
+ "residual_to_clean_state_difference_rms": 0.034795980349356194,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.248369932174683
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7972,
+ "train_cost": 0.18200266993045808,
+ "test_accuracy": 0.8035,
+ "test_cost": 0.19378243160247802,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.005210345839079046,
+ "bias_state_difference_rms": 8.655030952208532e-05,
+ "residual_state_difference_rms": 8.563805599765018e-05,
+ "bias_to_clean_state_difference_rms": 0.016611240826459903,
+ "residual_to_clean_state_difference_rms": 0.016436155802814642,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.980408668518066
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7967,
+ "train_cost": 0.18370458579063415,
+ "test_accuracy": 0.6675,
+ "test_cost": 0.32882429313659667,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00915079697255937,
+ "bias_state_difference_rms": 7.815418078007217e-05,
+ "residual_state_difference_rms": 8.078700293735538e-05,
+ "bias_to_clean_state_difference_rms": 0.00854069662068061,
+ "residual_to_clean_state_difference_rms": 0.008828411686939678,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.66379976272583
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7967,
+ "train_cost": 0.18370458579063415,
+ "test_accuracy": 0.6675,
+ "test_cost": 0.32882429313659667,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00915079697255937,
+ "bias_state_difference_rms": 7.815418078007217e-05,
+ "residual_state_difference_rms": 8.078700293735538e-05,
+ "bias_to_clean_state_difference_rms": 0.00854069662068061,
+ "residual_to_clean_state_difference_rms": 0.008828411686939678,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.66379976272583
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json
new file mode 100644
index 0000000..aef596a
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "oracle",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 9.5367431640625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6299,
+ "train_cost": 0.28678773560523985,
+ "test_accuracy": 0.757,
+ "test_cost": 0.21466482257843017,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0026049790793285905,
+ "bias_state_difference_rms": 8.394004418328762e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.032222924494626805,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 12.465707540512085
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7968,
+ "train_cost": 0.18357751140594483,
+ "test_accuracy": 0.805,
+ "test_cost": 0.1778689308166504,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.005167988524962169,
+ "bias_state_difference_rms": 8.633734883625906e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.016706180445106748,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 24.659721612930298
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8006,
+ "train_cost": 0.18363067059516908,
+ "test_accuracy": 0.66,
+ "test_cost": 0.31295693683624265,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.008770489987991693,
+ "bias_state_difference_rms": 7.464204361950914e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.008510589912502826,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 36.85823035240173
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8006,
+ "train_cost": 0.18363067059516908,
+ "test_accuracy": 0.66,
+ "test_cost": 0.31295693683624265,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.008770489987991693,
+ "bias_state_difference_rms": 7.464204361950914e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.008510589912502826,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 36.85823035240173
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-raw.json b/results/ep_bias/c1/rain-ep-c1-s1991-raw.json
new file mode 100644
index 0000000..3f535db
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1991-raw.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "raw",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1991,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.577,
+ "train_cost": 0.33761201457977297,
+ "test_accuracy": 0.5615,
+ "test_cost": 0.43006853103637693,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0023809005014334564,
+ "bias_state_difference_rms": 9.288215051157267e-05,
+ "residual_state_difference_rms": 9.288215398265422e-05,
+ "bias_to_clean_state_difference_rms": 0.03901135324876096,
+ "residual_to_clean_state_difference_rms": 0.039011354706646975,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.003859996795654
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.5732,
+ "train_cost": 0.38016895189285277,
+ "test_accuracy": 0.4245,
+ "test_cost": 0.648435380935669,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.002497732432988877,
+ "bias_state_difference_rms": 0.00011400955449380664,
+ "residual_state_difference_rms": 0.00011400955449380664,
+ "bias_to_clean_state_difference_rms": 0.04564522323849504,
+ "residual_to_clean_state_difference_rms": 0.04564522323849504,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.67133378982544
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.4037,
+ "train_cost": 0.5053416069030762,
+ "test_accuracy": 0.096,
+ "test_cost": 1.0389843139648438,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.012119475889763545,
+ "bias_state_difference_rms": 9.015432462439181e-05,
+ "residual_state_difference_rms": 9.01543217188047e-05,
+ "bias_to_clean_state_difference_rms": 0.007438797308102962,
+ "residual_to_clean_state_difference_rms": 0.0074387970683576846,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.37710404396057
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.4037,
+ "train_cost": 0.5053416069030762,
+ "test_accuracy": 0.096,
+ "test_cost": 1.0389843139648438,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.012119475889763545,
+ "bias_state_difference_rms": 9.015432462439181e-05,
+ "residual_state_difference_rms": 9.01543217188047e-05,
+ "bias_to_clean_state_difference_rms": 0.007438797308102962,
+ "residual_to_clean_state_difference_rms": 0.0074387970683576846,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.37710404396057
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-clean.json b/results/ep_bias/c1/rain-ep-c1-s1992-clean.json
new file mode 100644
index 0000000..0e45e1c
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-clean.json
@@ -0,0 +1,89 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "clean",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6273,
+ "train_cost": 0.29040815691947935,
+ "test_accuracy": 0.739,
+ "test_cost": 0.21597536087036132,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 11.267897367477417
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7806,
+ "train_cost": 0.19002434031963347,
+ "test_accuracy": 0.784,
+ "test_cost": 0.19156996774673463,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 21.94326090812683
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8296,
+ "train_cost": 0.1646257798910141,
+ "test_accuracy": 0.8,
+ "test_cost": 0.19138924407958985,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.553590059280396
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8296,
+ "train_cost": 0.1646257798910141,
+ "test_accuracy": 0.8,
+ "test_cost": 0.19138924407958985,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.553590059280396
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-constant.json b/results/ep_bias/c1/rain-ep-c1-s1992-constant.json
new file mode 100644
index 0000000..27a7d2b
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-constant.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "constant",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5902,
+ "train_cost": 0.3120627148628235,
+ "test_accuracy": 0.7045,
+ "test_cost": 0.24707548332214355,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0027143535116990886,
+ "bias_state_difference_rms": 5.9528391979235206e-05,
+ "residual_state_difference_rms": 7.427145715366313e-05,
+ "bias_to_clean_state_difference_rms": 0.021930965042933025,
+ "residual_to_clean_state_difference_rms": 0.02736248496503753,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.075387001037598
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7414,
+ "train_cost": 0.2212689883708954,
+ "test_accuracy": 0.716,
+ "test_cost": 0.24074801540374755,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0015841599682046043,
+ "bias_state_difference_rms": 6.485081704873975e-05,
+ "residual_state_difference_rms": 7.517749256811239e-05,
+ "bias_to_clean_state_difference_rms": 0.040937038146619704,
+ "residual_to_clean_state_difference_rms": 0.04745574568035211,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 21.946842193603516
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7349,
+ "train_cost": 0.22387321407794952,
+ "test_accuracy": 0.7125,
+ "test_cost": 0.24272252082824708,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0019085533072664357,
+ "bias_state_difference_rms": 6.470501048753361e-05,
+ "residual_state_difference_rms": 7.232600844724221e-05,
+ "bias_to_clean_state_difference_rms": 0.03390264774957147,
+ "residual_to_clean_state_difference_rms": 0.03789572351575163,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.633464336395264
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7349,
+ "train_cost": 0.22387321407794952,
+ "test_accuracy": 0.7125,
+ "test_cost": 0.24272252082824708,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0019085533072664357,
+ "bias_state_difference_rms": 6.470501048753361e-05,
+ "residual_state_difference_rms": 7.232600844724221e-05,
+ "bias_to_clean_state_difference_rms": 0.03390264774957147,
+ "residual_to_clean_state_difference_rms": 0.03789572351575163,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.633464336395264
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json
new file mode 100644
index 0000000..a2ddc33
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "innovation",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 9.5367431640625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6219,
+ "train_cost": 0.2931982192993164,
+ "test_accuracy": 0.73,
+ "test_cost": 0.2339730987548828,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.003092273363250303,
+ "bias_state_difference_rms": 6.326089813999766e-05,
+ "residual_state_difference_rms": 2.5405393177713153e-05,
+ "bias_to_clean_state_difference_rms": 0.020457731483837456,
+ "residual_to_clean_state_difference_rms": 0.008215765617503307,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 10.886651039123535
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7795,
+ "train_cost": 0.19473017418384553,
+ "test_accuracy": 0.7715,
+ "test_cost": 0.20821030187606812,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.002112995646248839,
+ "bias_state_difference_rms": 6.88080310711277e-05,
+ "residual_state_difference_rms": 2.871437337352898e-05,
+ "bias_to_clean_state_difference_rms": 0.03256420863586789,
+ "residual_to_clean_state_difference_rms": 0.013589414358001664,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 21.231201887130737
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8087,
+ "train_cost": 0.17765036363601686,
+ "test_accuracy": 0.765,
+ "test_cost": 0.27533377552032473,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0032434995956973855,
+ "bias_state_difference_rms": 6.463516512366366e-05,
+ "residual_state_difference_rms": 2.461473045127847e-05,
+ "bias_to_clean_state_difference_rms": 0.019927600795574155,
+ "residual_to_clean_state_difference_rms": 0.0075889420439363585,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 31.772440671920776
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8087,
+ "train_cost": 0.17765036363601686,
+ "test_accuracy": 0.765,
+ "test_cost": 0.27533377552032473,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0032434995956973855,
+ "bias_state_difference_rms": 6.463516512366366e-05,
+ "residual_state_difference_rms": 2.461473045127847e-05,
+ "bias_to_clean_state_difference_rms": 0.019927600795574155,
+ "residual_to_clean_state_difference_rms": 0.0075889420439363585,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 31.772440671920776
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-noise.json b/results/ep_bias/c1/rain-ep-c1-s1992-noise.json
new file mode 100644
index 0000000..931b6cd
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-noise.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "same_rms_noise",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6271,
+ "train_cost": 0.29068793649673463,
+ "test_accuracy": 0.74,
+ "test_cost": 0.21460011959075928,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0032240252309377704,
+ "bias_state_difference_rms": 6.406043359413032e-05,
+ "residual_state_difference_rms": 6.097125308442652e-05,
+ "bias_to_clean_state_difference_rms": 0.01986970603685291,
+ "residual_to_clean_state_difference_rms": 0.018911530995274452,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.044940710067749
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7789,
+ "train_cost": 0.19032102336883544,
+ "test_accuracy": 0.792,
+ "test_cost": 0.18319503688812255,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0023161122640271248,
+ "bias_state_difference_rms": 6.44030091305619e-05,
+ "residual_state_difference_rms": 6.532330656819814e-05,
+ "bias_to_clean_state_difference_rms": 0.02780651444700767,
+ "residual_to_clean_state_difference_rms": 0.02820386022852695,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.709823846817017
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8257,
+ "train_cost": 0.1643563955783844,
+ "test_accuracy": 0.7925,
+ "test_cost": 0.21141723918914795,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0060313715011239555,
+ "bias_state_difference_rms": 6.319833271738037e-05,
+ "residual_state_difference_rms": 6.215701718067169e-05,
+ "bias_to_clean_state_difference_rms": 0.010478268948547318,
+ "residual_to_clean_state_difference_rms": 0.010305619073387973,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.420751333236694
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8257,
+ "train_cost": 0.1643563955783844,
+ "test_accuracy": 0.7925,
+ "test_cost": 0.21141723918914795,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0060313715011239555,
+ "bias_state_difference_rms": 6.319833271738037e-05,
+ "residual_state_difference_rms": 6.215701718067169e-05,
+ "bias_to_clean_state_difference_rms": 0.010478268948547318,
+ "residual_to_clean_state_difference_rms": 0.010305619073387973,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.420751333236694
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json
new file mode 100644
index 0000000..f2fbf4f
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "oracle",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6276,
+ "train_cost": 0.29050382299423216,
+ "test_accuracy": 0.7395,
+ "test_cost": 0.21734858417510985,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0033674371010980557,
+ "bias_state_difference_rms": 6.441586560432616e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.019129047899163847,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.605305671691895
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7829,
+ "train_cost": 0.1898674944639206,
+ "test_accuracy": 0.7755,
+ "test_cost": 0.19717764663696288,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0024840473367642745,
+ "bias_state_difference_rms": 6.526918903529694e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.026275340276049945,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 22.597857236862183
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8264,
+ "train_cost": 0.1655891648054123,
+ "test_accuracy": 0.797,
+ "test_cost": 0.20790825462341309,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0061178294049695865,
+ "bias_state_difference_rms": 6.345779833553422e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.010372600171555403,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.39494323730469
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.8264,
+ "train_cost": 0.1655891648054123,
+ "test_accuracy": 0.797,
+ "test_cost": 0.20790825462341309,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0061178294049695865,
+ "bias_state_difference_rms": 6.345779833553422e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.010372600171555403,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.39494323730469
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-raw.json b/results/ep_bias/c1/rain-ep-c1-s1992-raw.json
new file mode 100644
index 0000000..b9c5571
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1992-raw.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "raw",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1992,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5504,
+ "train_cost": 0.3610236132144928,
+ "test_accuracy": 0.4795,
+ "test_cost": 0.44488172721862795,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0025275629237519266,
+ "bias_state_difference_rms": 6.11072599616226e-05,
+ "residual_state_difference_rms": 6.110725204763139e-05,
+ "bias_to_clean_state_difference_rms": 0.0241763555666162,
+ "residual_to_clean_state_difference_rms": 0.024176352435540355,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.53758454322815
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.4853,
+ "train_cost": 0.4426814793586731,
+ "test_accuracy": 0.272,
+ "test_cost": 0.7177818298339844,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0031626557640378277,
+ "bias_state_difference_rms": 6.963319548899079e-05,
+ "residual_state_difference_rms": 6.963319230586739e-05,
+ "bias_to_clean_state_difference_rms": 0.022017317306796822,
+ "residual_to_clean_state_difference_rms": 0.02201731630032516,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 22.71524214744568
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.3721,
+ "train_cost": 0.5236975003242492,
+ "test_accuracy": 0.414,
+ "test_cost": 0.49992397499084473,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002803550988625349,
+ "bias_state_difference_rms": 7.683225400132594e-05,
+ "residual_state_difference_rms": 7.683226003332617e-05,
+ "bias_to_clean_state_difference_rms": 0.0274053349887525,
+ "residual_to_clean_state_difference_rms": 0.027405337140309672,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.78792762756348
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.3721,
+ "train_cost": 0.5236975003242492,
+ "test_accuracy": 0.414,
+ "test_cost": 0.49992397499084473,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002803550988625349,
+ "bias_state_difference_rms": 7.683225400132594e-05,
+ "residual_state_difference_rms": 7.683226003332617e-05,
+ "bias_to_clean_state_difference_rms": 0.0274053349887525,
+ "residual_to_clean_state_difference_rms": 0.027405337140309672,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.78792762756348
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-clean.json b/results/ep_bias/c1/rain-ep-c1-s1993-clean.json
new file mode 100644
index 0000000..9298720
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-clean.json
@@ -0,0 +1,89 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "clean",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5533,
+ "train_cost": 0.3285980202674866,
+ "test_accuracy": 0.708,
+ "test_cost": 0.23227323246002196,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 11.357156038284302
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7522,
+ "train_cost": 0.20173615772724152,
+ "test_accuracy": 0.768,
+ "test_cost": 0.1902358865737915,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 22.099834203720093
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7887,
+ "train_cost": 0.17437110681533813,
+ "test_accuracy": 0.778,
+ "test_cost": 0.18138674449920655,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.82407355308533
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7887,
+ "train_cost": 0.17437110681533813,
+ "test_accuracy": 0.778,
+ "test_cost": 0.18138674449920655,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 32.82407355308533
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-constant.json b/results/ep_bias/c1/rain-ep-c1-s1993-constant.json
new file mode 100644
index 0000000..ff4ed5a
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-constant.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "constant",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5341,
+ "train_cost": 0.34079625742435454,
+ "test_accuracy": 0.622,
+ "test_cost": 0.30056933212280273,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002098381744367025,
+ "bias_state_difference_rms": 8.915044435786554e-05,
+ "residual_state_difference_rms": 9.582084018021796e-05,
+ "bias_to_clean_state_difference_rms": 0.04248533165959166,
+ "residual_to_clean_state_difference_rms": 0.04566416022129578,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.65096116065979
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.6948,
+ "train_cost": 0.24951874573230742,
+ "test_accuracy": 0.7075,
+ "test_cost": 0.2353134069442749,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.00202241005156775,
+ "bias_state_difference_rms": 8.398425602252974e-05,
+ "residual_state_difference_rms": 8.711167211254876e-05,
+ "bias_to_clean_state_difference_rms": 0.0415268189343828,
+ "residual_to_clean_state_difference_rms": 0.04307319974256494,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.69250512123108
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.6981,
+ "train_cost": 0.24762562580108644,
+ "test_accuracy": 0.6675,
+ "test_cost": 0.2755371017456055,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0022535803533020923,
+ "bias_state_difference_rms": 8.682708514204154e-05,
+ "residual_state_difference_rms": 8.825382383163159e-05,
+ "bias_to_clean_state_difference_rms": 0.03852850643413573,
+ "residual_to_clean_state_difference_rms": 0.039161605088683146,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.86230134963989
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.6981,
+ "train_cost": 0.24762562580108644,
+ "test_accuracy": 0.6675,
+ "test_cost": 0.2755371017456055,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0022535803533020923,
+ "bias_state_difference_rms": 8.682708514204154e-05,
+ "residual_state_difference_rms": 8.825382383163159e-05,
+ "bias_to_clean_state_difference_rms": 0.03852850643413573,
+ "residual_to_clean_state_difference_rms": 0.039161605088683146,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 33.86230134963989
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json
new file mode 100644
index 0000000..6479125
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "innovation",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5454,
+ "train_cost": 0.3318629432678223,
+ "test_accuracy": 0.691,
+ "test_cost": 0.24734653759002687,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0020663430474800303,
+ "bias_state_difference_rms": 8.509872955804687e-05,
+ "residual_state_difference_rms": 4.093315093855041e-05,
+ "bias_to_clean_state_difference_rms": 0.04118325350760486,
+ "residual_to_clean_state_difference_rms": 0.019809465320131458,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 11.396744966506958
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.742,
+ "train_cost": 0.21232684512138367,
+ "test_accuracy": 0.766,
+ "test_cost": 0.1939621686935425,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0021324197133257834,
+ "bias_state_difference_rms": 7.610348218023733e-05,
+ "residual_state_difference_rms": 3.5768974748868495e-05,
+ "bias_to_clean_state_difference_rms": 0.035688791331582724,
+ "residual_to_clean_state_difference_rms": 0.0167738904894488,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 22.193567991256714
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.773,
+ "train_cost": 0.19085681636333465,
+ "test_accuracy": 0.708,
+ "test_cost": 0.23483854389190673,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0028770355386111704,
+ "bias_state_difference_rms": 8.370539574024296e-05,
+ "residual_state_difference_rms": 3.927379002538025e-05,
+ "bias_to_clean_state_difference_rms": 0.02909432108741,
+ "residual_to_clean_state_difference_rms": 0.013650783766243938,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.84262800216675
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.773,
+ "train_cost": 0.19085681636333465,
+ "test_accuracy": 0.708,
+ "test_cost": 0.23483854389190673,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.0028770355386111704,
+ "bias_state_difference_rms": 8.370539574024296e-05,
+ "residual_state_difference_rms": 3.927379002538025e-05,
+ "bias_to_clean_state_difference_rms": 0.02909432108741,
+ "residual_to_clean_state_difference_rms": 0.013650783766243938,
+ "neutral_observations": 128
+ },
+ "wall_seconds": 32.84262800216675
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-noise.json b/results/ep_bias/c1/rain-ep-c1-s1993-noise.json
new file mode 100644
index 0000000..ed00a61
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-noise.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "same_rms_noise",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5535,
+ "train_cost": 0.32840834393501284,
+ "test_accuracy": 0.7095,
+ "test_cost": 0.23197692680358886,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.002022509090194915,
+ "bias_state_difference_rms": 8.14237883082258e-05,
+ "residual_state_difference_rms": 8.24159696930225e-05,
+ "bias_to_clean_state_difference_rms": 0.040258799677572156,
+ "residual_to_clean_state_difference_rms": 0.040749369232787894,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.221695184707642
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7546,
+ "train_cost": 0.2012055345058441,
+ "test_accuracy": 0.761,
+ "test_cost": 0.19147343158721924,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0021506861015693213,
+ "bias_state_difference_rms": 7.827020797483242e-05,
+ "residual_state_difference_rms": 8.061173993846021e-05,
+ "bias_to_clean_state_difference_rms": 0.036393134227128685,
+ "residual_to_clean_state_difference_rms": 0.03748187142681543,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 22.09644913673401
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7905,
+ "train_cost": 0.17391895575523378,
+ "test_accuracy": 0.76,
+ "test_cost": 0.19218462467193603,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00431065961366364,
+ "bias_state_difference_rms": 8.696194300908846e-05,
+ "residual_state_difference_rms": 9.068442021699315e-05,
+ "bias_to_clean_state_difference_rms": 0.020173697485517603,
+ "residual_to_clean_state_difference_rms": 0.021037249132255246,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.918834924697876
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7905,
+ "train_cost": 0.17391895575523378,
+ "test_accuracy": 0.76,
+ "test_cost": 0.19218462467193603,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.00431065961366364,
+ "bias_state_difference_rms": 8.696194300908846e-05,
+ "residual_state_difference_rms": 9.068442021699315e-05,
+ "bias_to_clean_state_difference_rms": 0.020173697485517603,
+ "residual_to_clean_state_difference_rms": 0.021037249132255246,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.918834924697876
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json
new file mode 100644
index 0000000..38981cc
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "oracle",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5534,
+ "train_cost": 0.3284186030864716,
+ "test_accuracy": 0.7075,
+ "test_cost": 0.23131526947021486,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0020434437012768845,
+ "bias_state_difference_rms": 8.07784232211413e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.039530535228675674,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.123469352722168
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7514,
+ "train_cost": 0.2012138037443161,
+ "test_accuracy": 0.764,
+ "test_cost": 0.18780557680130006,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0021569865013576317,
+ "bias_state_difference_rms": 7.73013838979194e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.03583767624380822,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.941245555877686
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7894,
+ "train_cost": 0.17479706602096556,
+ "test_accuracy": 0.7785,
+ "test_cost": 0.17769927787780762,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.004085592221684783,
+ "bias_state_difference_rms": 8.391387271937894e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.020538974074308183,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.66351532936096
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.7894,
+ "train_cost": 0.17479706602096556,
+ "test_accuracy": 0.7785,
+ "test_cost": 0.17769927787780762,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.004085592221684783,
+ "bias_state_difference_rms": 8.391387271937894e-05,
+ "residual_state_difference_rms": 0.0,
+ "bias_to_clean_state_difference_rms": 0.020538974074308183,
+ "residual_to_clean_state_difference_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 32.66351532936096
+ }
+}
diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-raw.json b/results/ep_bias/c1/rain-ep-c1-s1993-raw.json
new file mode 100644
index 0000000..3109e0a
--- /dev/null
+++ b/results/ep_bias/c1/rain-ep-c1-s1993-raw.json
@@ -0,0 +1,121 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author ConvHopfieldEnergy28 32-64-10",
+ "algorithm": "positive equilibrium propagation",
+ "adapter": "layer",
+ "mode": "raw",
+ "bias_ratio": 0.01,
+ "predictor_rate": 0.2,
+ "neutral_cadence": 1,
+ "layer_calibration_steps": 1,
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "existing_first_EP_phase",
+ "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 3,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6100,
+ "batch_size": 128,
+ "training_iterations": 12,
+ "inference_iterations": 30,
+ "seed": 1993,
+ "device": "cuda",
+ "determinism": "author_default",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5221,
+ "train_cost": 0.35150251541137695,
+ "test_accuracy": 0.4625,
+ "test_cost": 0.41989406204223634,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "clean_state_difference_rms": 0.0021269951853266984,
+ "bias_state_difference_rms": 8.145977649637026e-05,
+ "residual_state_difference_rms": 8.14597725385699e-05,
+ "bias_to_clean_state_difference_rms": 0.03829805401456908,
+ "residual_to_clean_state_difference_rms": 0.03829805215382187,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 11.182552576065063
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.5975,
+ "train_cost": 0.31837658939361574,
+ "test_accuracy": 0.4645,
+ "test_cost": 0.4121599712371826,
+ "finite": true,
+ "corrector": {
+ "step": 157,
+ "clean_state_difference_rms": 0.0023109612143787,
+ "bias_state_difference_rms": 8.070724427229029e-05,
+ "residual_state_difference_rms": 8.070724626964209e-05,
+ "bias_to_clean_state_difference_rms": 0.034923668891599445,
+ "residual_to_clean_state_difference_rms": 0.03492366975589427,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 21.94075322151184
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.5688,
+ "train_cost": 0.3528038673877716,
+ "test_accuracy": 0.5595,
+ "test_cost": 0.33761077690124514,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002583136266813264,
+ "bias_state_difference_rms": 0.00010051006302668574,
+ "residual_state_difference_rms": 0.00010051005661137715,
+ "bias_to_clean_state_difference_rms": 0.03891008938164998,
+ "residual_to_clean_state_difference_rms": 0.03891008689811526,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.88884472846985
+ }
+ ],
+ "epochs_completed": 3,
+ "final": {
+ "epoch": 3,
+ "train_accuracy": 0.5688,
+ "train_cost": 0.3528038673877716,
+ "test_accuracy": 0.5595,
+ "test_cost": 0.33761077690124514,
+ "finite": true,
+ "corrector": {
+ "step": 236,
+ "clean_state_difference_rms": 0.002583136266813264,
+ "bias_state_difference_rms": 0.00010051006302668574,
+ "residual_state_difference_rms": 0.00010051005661137715,
+ "bias_to_clean_state_difference_rms": 0.03891008938164998,
+ "residual_to_clean_state_difference_rms": 0.03891008689811526,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 33.88884472846985
+ }
+}