diff options
Diffstat (limited to 'results/ep_bias')
18 files changed, 2888 insertions, 0 deletions
diff --git a/results/ep_bias/dillavou_c0/centered_clean.json b/results/ep_bias/dillavou_c0/centered_clean.json new file mode 100644 index 0000000..eef778c --- /dev/null +++ b/results/ep_bias/dillavou_c0/centered_clean.json @@ -0,0 +1,171 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "centered", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "clean", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "6", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.5966166666666667, + "train_cost": 0.26790297616322833, + "test_accuracy": 0.792, + "test_cost": 0.15573115186691283, + "finite": true, + "corrector": {}, + "wall_seconds": 791.3634951114655 + }, + { + "epoch": 2, + "train_accuracy": 0.7990166666666667, + "train_cost": 0.1508844397544861, + "test_accuracy": 0.8135, + "test_cost": 0.1375195680141449, + "finite": true, + "corrector": {}, + "wall_seconds": 1585.4075651168823 + }, + { + "epoch": 3, + "train_accuracy": 0.8292, + "train_cost": 0.12718361412684123, + "test_accuracy": 0.8574, + "test_cost": 0.1070521926999092, + "finite": true, + "corrector": {}, + "wall_seconds": 2379.6713066101074 + }, + { + "epoch": 4, + "train_accuracy": 0.84385, + "train_cost": 0.11590963444709777, + "test_accuracy": 0.8465, + "test_cost": 0.11115882776975632, + "finite": true, + "corrector": {}, + "wall_seconds": 3174.0780577659607 + }, + { + "epoch": 5, + "train_accuracy": 0.8542166666666666, + "train_cost": 0.10834487209320068, + "test_accuracy": 0.8717, + "test_cost": 0.09622300601005554, + "finite": true, + "corrector": {}, + "wall_seconds": 3968.5418033599854 + }, + { + "epoch": 6, + "train_accuracy": 0.8607, + "train_cost": 0.1035885739326477, + "test_accuracy": 0.86, + "test_cost": 0.1034158871769905, + "finite": true, + "corrector": {}, + "wall_seconds": 4763.052963733673 + }, + { + "epoch": 7, + "train_accuracy": 0.8689666666666667, + "train_cost": 0.09762942288716635, + "test_accuracy": 0.8724, + "test_cost": 0.09512372477054595, + "finite": true, + "corrector": {}, + "wall_seconds": 5557.174776554108 + }, + { + "epoch": 8, + "train_accuracy": 0.8729166666666667, + "train_cost": 0.09451936751206716, + "test_accuracy": 0.8745, + "test_cost": 0.09160860464572906, + "finite": true, + "corrector": {}, + "wall_seconds": 6351.611607551575 + }, + { + "epoch": 9, + "train_accuracy": 0.8778, + "train_cost": 0.09079933222929637, + "test_accuracy": 0.871, + "test_cost": 0.09528597943782806, + "finite": true, + "corrector": {}, + "wall_seconds": 7146.317694187164 + }, + { + "epoch": 10, + "train_accuracy": 0.8811, + "train_cost": 0.08831276926994323, + "test_accuracy": 0.8867, + "test_cost": 0.08445086604356766, + "finite": true, + "corrector": {}, + "wall_seconds": 7940.900921821594 + } + ], + "epochs_completed": 10, + "beta_sign_counts": { + "positive": 4690, + "negative": 4690 + }, + "final": { + "epoch": 10, + "train_accuracy": 0.8811, + "train_cost": 0.08831276926994323, + "test_accuracy": 0.8867, + "test_cost": 0.08445086604356766, + "finite": true, + "corrector": {}, + "wall_seconds": 7940.900921821594 + } +} diff --git a/results/ep_bias/dillavou_c0/centered_raw.json b/results/ep_bias/dillavou_c0/centered_raw.json new file mode 100644 index 0000000..ea34fd3 --- /dev/null +++ b/results/ep_bias/dillavou_c0/centered_raw.json @@ -0,0 +1,99 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "centered", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "raw", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "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.10061666666666666, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 813.3471133708954 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 469, + "negative": 469 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.10061666666666666, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 813.3471133708954 + } +} diff --git a/results/ep_bias/dillavou_c0/pep_clean.json b/results/ep_bias/dillavou_c0/pep_clean.json new file mode 100644 index 0000000..50532fe --- /dev/null +++ b/results/ep_bias/dillavou_c0/pep_clean.json @@ -0,0 +1,171 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "clean", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "0", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.6331833333333333, + "train_cost": 0.26114970343907673, + "test_accuracy": 0.7315, + "test_cost": 0.20986583371162415, + "finite": true, + "corrector": {}, + "wall_seconds": 772.7187147140503 + }, + { + "epoch": 2, + "train_accuracy": 0.6627, + "train_cost": 0.2617804507891337, + "test_accuracy": 0.5922, + "test_cost": 0.4188939518928528, + "finite": true, + "corrector": {}, + "wall_seconds": 1544.577304840088 + }, + { + "epoch": 3, + "train_accuracy": 0.6126666666666667, + "train_cost": 0.29678506310780844, + "test_accuracy": 0.5733, + "test_cost": 0.2982772967338562, + "finite": true, + "corrector": {}, + "wall_seconds": 2314.08575963974 + }, + { + "epoch": 4, + "train_accuracy": 0.43415, + "train_cost": 0.3849130135854085, + "test_accuracy": 0.4685, + "test_cost": 0.34045493516922, + "finite": true, + "corrector": {}, + "wall_seconds": 3082.613589525223 + }, + { + "epoch": 5, + "train_accuracy": 0.44206666666666666, + "train_cost": 0.3828686854044596, + "test_accuracy": 0.338, + "test_cost": 0.42704891023635866, + "finite": true, + "corrector": {}, + "wall_seconds": 3851.0639486312866 + }, + { + "epoch": 6, + "train_accuracy": 0.33975, + "train_cost": 0.4333668016433716, + "test_accuracy": 0.2028, + "test_cost": 0.44713303966522217, + "finite": true, + "corrector": {}, + "wall_seconds": 4618.865006446838 + }, + { + "epoch": 7, + "train_accuracy": 0.10198333333333333, + "train_cost": 0.4533044646581014, + "test_accuracy": 0.1, + "test_cost": 0.451286998796463, + "finite": true, + "corrector": {}, + "wall_seconds": 5386.315636873245 + }, + { + "epoch": 8, + "train_accuracy": 0.09966666666666667, + "train_cost": 0.4508303793589274, + "test_accuracy": 0.1, + "test_cost": 0.45172959218025205, + "finite": true, + "corrector": {}, + "wall_seconds": 6153.813899278641 + }, + { + "epoch": 9, + "train_accuracy": 0.09798333333333334, + "train_cost": 0.4509103933334351, + "test_accuracy": 0.1, + "test_cost": 0.45050861291885375, + "finite": true, + "corrector": {}, + "wall_seconds": 6921.272820234299 + }, + { + "epoch": 10, + "train_accuracy": 0.09518333333333333, + "train_cost": 0.45089836565653485, + "test_accuracy": 0.1, + "test_cost": 0.45086712436676024, + "finite": true, + "corrector": {}, + "wall_seconds": 7688.960968732834 + } + ], + "epochs_completed": 10, + "beta_sign_counts": { + "positive": 4690, + "negative": 0 + }, + "final": { + "epoch": 10, + "train_accuracy": 0.09518333333333333, + "train_cost": 0.45089836565653485, + "test_accuracy": 0.1, + "test_cost": 0.45086712436676024, + "finite": true, + "corrector": {}, + "wall_seconds": 7688.960968732834 + } +} diff --git a/results/ep_bias/dillavou_c0/pep_constant.json b/results/ep_bias/dillavou_c0/pep_constant.json new file mode 100644 index 0000000..47ab00f --- /dev/null +++ b/results/ep_bias/dillavou_c0/pep_constant.json @@ -0,0 +1,270 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "constant", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "2", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.6240333333333333, + "train_cost": 0.26950117823282876, + "test_accuracy": 0.7252, + "test_cost": 0.21449419848918916, + "finite": true, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0013031720422620305, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 8.505476264979924e-12, + "bias_to_clean_update_rms": 0.11731153709042222, + "residual_to_clean_update_rms": 6.526748571290878e-09, + "neutral_observations": 1 + }, + "wall_seconds": 828.7354471683502 + }, + { + "epoch": 2, + "train_accuracy": 0.7224833333333334, + "train_cost": 0.21523845361073812, + "test_accuracy": 0.734, + "test_cost": 0.20494100348949432, + "finite": true, + "corrector": { + "step": 937, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0011456798542969432, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 5.783565269794748e-12, + "bias_to_clean_update_rms": 0.1334379013453439, + "residual_to_clean_update_rms": 5.048151320897481e-09, + "neutral_observations": 1 + }, + "wall_seconds": 1658.2824745178223 + }, + { + "epoch": 3, + "train_accuracy": 0.7034833333333333, + "train_cost": 0.2262856188774109, + "test_accuracy": 0.726, + "test_cost": 0.21046952879428862, + "finite": true, + "corrector": { + "step": 1406, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0007255708516996841, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 5.307226022279889e-12, + "bias_to_clean_update_rms": 0.21069908612356955, + "residual_to_clean_update_rms": 7.314552410488184e-09, + "neutral_observations": 1 + }, + "wall_seconds": 2481.5451164245605 + }, + { + "epoch": 4, + "train_accuracy": 0.6376166666666667, + "train_cost": 0.2644129397074382, + "test_accuracy": 0.5606, + "test_cost": 0.3176894040584564, + "finite": true, + "corrector": { + "step": 1875, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0015035734195279979, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.902649731971089e-12, + "bias_to_clean_update_rms": 0.10167585658638119, + "residual_to_clean_update_rms": 3.260665337852361e-09, + "neutral_observations": 1 + }, + "wall_seconds": 3302.735686302185 + }, + { + "epoch": 5, + "train_accuracy": 0.3769, + "train_cost": 0.3791497839609782, + "test_accuracy": 0.1949, + "test_cost": 0.4102668016910553, + "finite": true, + "corrector": { + "step": 2344, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.001314406637263836, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.888212328688676e-12, + "bias_to_clean_update_rms": 0.11630884312123037, + "residual_to_clean_update_rms": 3.718949821239744e-09, + "neutral_observations": 1 + }, + "wall_seconds": 4125.3801436424255 + }, + { + "epoch": 6, + "train_accuracy": 0.11983333333333333, + "train_cost": 0.44674621194203695, + "test_accuracy": 0.1, + "test_cost": 0.46038982095718384, + "finite": true, + "corrector": { + "step": 2813, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0003853588444705456, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.241559819955997e-12, + "bias_to_clean_update_rms": 0.39671365420732785, + "residual_to_clean_update_rms": 1.1006779475331841e-08, + "neutral_observations": 1 + }, + "wall_seconds": 4948.208837032318 + }, + { + "epoch": 7, + "train_accuracy": 0.10178333333333334, + "train_cost": 0.45519645392100017, + "test_accuracy": 0.1, + "test_cost": 0.45710823802948, + "finite": true, + "corrector": { + "step": 3282, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.000238805277082506, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 1.1631105114721004e-12, + "bias_to_clean_update_rms": 0.6401747785422899, + "residual_to_clean_update_rms": 4.8705394021517026e-09, + "neutral_observations": 1 + }, + "wall_seconds": 5767.835515737534 + }, + { + "epoch": 8, + "train_accuracy": 0.09983333333333333, + "train_cost": 0.4550814468383789, + "test_accuracy": 0.1, + "test_cost": 0.45869329319000246, + "finite": true, + "corrector": { + "step": 3751, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0003874432503687363, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 1.0505062911282254e-13, + "bias_to_clean_update_rms": 0.39457937446458996, + "residual_to_clean_update_rms": 2.711381060654537e-10, + "neutral_observations": 1 + }, + "wall_seconds": 6589.156624555588 + }, + { + "epoch": 9, + "train_accuracy": 0.09838333333333334, + "train_cost": 0.4546400879542033, + "test_accuracy": 0.1, + "test_cost": 0.4577524483680725, + "finite": true, + "corrector": { + "step": 4220, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00029708848957804774, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.140955151143751e-12, + "bias_to_clean_update_rms": 0.5145844444803417, + "residual_to_clean_update_rms": 1.3938457047006819e-08, + "neutral_observations": 1 + }, + "wall_seconds": 7410.799975395203 + }, + { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8229.516099214554 + } + ], + "epochs_completed": 10, + "beta_sign_counts": { + "positive": 4690, + "negative": 0 + }, + "final": { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8229.516099214554 + } +} diff --git a/results/ep_bias/dillavou_c0/pep_raw.json b/results/ep_bias/dillavou_c0/pep_raw.json new file mode 100644 index 0000000..f862901 --- /dev/null +++ b/results/ep_bias/dillavou_c0/pep_raw.json @@ -0,0 +1,118 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "raw", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "1", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.21611666666666668, + "train_cost": 2.952858947881063, + "test_accuracy": 0.1064, + "test_cost": 92706.8582, + "finite": true, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 1.3665245006072042, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 0.000152877329837136, + "bias_to_clean_update_rms": 0.00011187294139482588, + "residual_to_clean_update_rms": 0.0001118730983375755, + "neutral_observations": 0 + }, + "wall_seconds": 832.7673797607422 + }, + { + "epoch": 2, + "train_accuracy": 0.09923333333333334, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 937, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 1665.599752664566 + } + ], + "epochs_completed": 2, + "beta_sign_counts": { + "positive": 938, + "negative": 0 + }, + "final": { + "epoch": 2, + "train_accuracy": 0.09923333333333334, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 937, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 1665.599752664566 + } +} diff --git a/results/ep_bias/dillavou_c0/pep_sdil.json b/results/ep_bias/dillavou_c0/pep_sdil.json new file mode 100644 index 0000000..c569050 --- /dev/null +++ b/results/ep_bias/dillavou_c0/pep_sdil.json @@ -0,0 +1,270 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "innovation", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "3", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.6240333333333333, + "train_cost": 0.26950117823282876, + "test_accuracy": 0.7252, + "test_cost": 0.21449419848918916, + "finite": true, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0013031720422620305, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 8.505476264979924e-12, + "bias_to_clean_update_rms": 0.11731153709042222, + "residual_to_clean_update_rms": 6.526748571290878e-09, + "neutral_observations": 1 + }, + "wall_seconds": 830.515468120575 + }, + { + "epoch": 2, + "train_accuracy": 0.7224833333333334, + "train_cost": 0.21523845361073812, + "test_accuracy": 0.734, + "test_cost": 0.20494100348949432, + "finite": true, + "corrector": { + "step": 937, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0011456798542969432, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 5.783565269794748e-12, + "bias_to_clean_update_rms": 0.1334379013453439, + "residual_to_clean_update_rms": 5.048151320897481e-09, + "neutral_observations": 1 + }, + "wall_seconds": 1662.8209059238434 + }, + { + "epoch": 3, + "train_accuracy": 0.7034833333333333, + "train_cost": 0.2262856188774109, + "test_accuracy": 0.726, + "test_cost": 0.21046952879428862, + "finite": true, + "corrector": { + "step": 1406, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0007255708516996841, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 5.307226022279889e-12, + "bias_to_clean_update_rms": 0.21069908612356955, + "residual_to_clean_update_rms": 7.314552410488184e-09, + "neutral_observations": 1 + }, + "wall_seconds": 2494.675737142563 + }, + { + "epoch": 4, + "train_accuracy": 0.6376166666666667, + "train_cost": 0.2644129397074382, + "test_accuracy": 0.5606, + "test_cost": 0.3176894040584564, + "finite": true, + "corrector": { + "step": 1875, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0015035734195279979, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.902649731971089e-12, + "bias_to_clean_update_rms": 0.10167585658638119, + "residual_to_clean_update_rms": 3.260665337852361e-09, + "neutral_observations": 1 + }, + "wall_seconds": 3326.451648235321 + }, + { + "epoch": 5, + "train_accuracy": 0.3769, + "train_cost": 0.3791497839609782, + "test_accuracy": 0.1949, + "test_cost": 0.4102668016910553, + "finite": true, + "corrector": { + "step": 2344, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.001314406637263836, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.888212328688676e-12, + "bias_to_clean_update_rms": 0.11630884312123037, + "residual_to_clean_update_rms": 3.718949821239744e-09, + "neutral_observations": 1 + }, + "wall_seconds": 4158.306345939636 + }, + { + "epoch": 6, + "train_accuracy": 0.11983333333333333, + "train_cost": 0.44674621194203695, + "test_accuracy": 0.1, + "test_cost": 0.46038982095718384, + "finite": true, + "corrector": { + "step": 2813, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0003853588444705456, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.241559819955997e-12, + "bias_to_clean_update_rms": 0.39671365420732785, + "residual_to_clean_update_rms": 1.1006779475331841e-08, + "neutral_observations": 1 + }, + "wall_seconds": 4989.840263605118 + }, + { + "epoch": 7, + "train_accuracy": 0.10178333333333334, + "train_cost": 0.45519645392100017, + "test_accuracy": 0.1, + "test_cost": 0.45710823802948, + "finite": true, + "corrector": { + "step": 3282, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.000238805277082506, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 1.1631105114721004e-12, + "bias_to_clean_update_rms": 0.6401747785422899, + "residual_to_clean_update_rms": 4.8705394021517026e-09, + "neutral_observations": 1 + }, + "wall_seconds": 5820.923452377319 + }, + { + "epoch": 8, + "train_accuracy": 0.09983333333333333, + "train_cost": 0.4550814468383789, + "test_accuracy": 0.1, + "test_cost": 0.45869329319000246, + "finite": true, + "corrector": { + "step": 3751, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.0003874432503687363, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 1.0505062911282254e-13, + "bias_to_clean_update_rms": 0.39457937446458996, + "residual_to_clean_update_rms": 2.711381060654537e-10, + "neutral_observations": 1 + }, + "wall_seconds": 6652.601692676544 + }, + { + "epoch": 9, + "train_accuracy": 0.09838333333333334, + "train_cost": 0.4546400879542033, + "test_accuracy": 0.1, + "test_cost": 0.4577524483680725, + "finite": true, + "corrector": { + "step": 4220, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00029708848957804774, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 4.140955151143751e-12, + "bias_to_clean_update_rms": 0.5145844444803417, + "residual_to_clean_update_rms": 1.3938457047006819e-08, + "neutral_observations": 1 + }, + "wall_seconds": 7484.504533529282 + }, + { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8315.11565542221 + } + ], + "epochs_completed": 10, + "beta_sign_counts": { + "positive": 4690, + "negative": 0 + }, + "final": { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8315.11565542221 + } +} diff --git a/results/ep_bias/dillavou_c0/random_clean.json b/results/ep_bias/dillavou_c0/random_clean.json new file mode 100644 index 0000000..c66a9a7 --- /dev/null +++ b/results/ep_bias/dillavou_c0/random_clean.json @@ -0,0 +1,171 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "random_sign", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "clean", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "4", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.6263833333333333, + "train_cost": 0.2547279439608256, + "test_accuracy": 0.7752, + "test_cost": 0.16445912487506867, + "finite": true, + "corrector": {}, + "wall_seconds": 790.465966463089 + }, + { + "epoch": 2, + "train_accuracy": 0.7772666666666667, + "train_cost": 0.16738989297548929, + "test_accuracy": 0.7839, + "test_cost": 0.16023902473449708, + "finite": true, + "corrector": {}, + "wall_seconds": 1577.164415359497 + }, + { + "epoch": 3, + "train_accuracy": 0.7781666666666667, + "train_cost": 0.16374242378870646, + "test_accuracy": 0.7716, + "test_cost": 0.16426111673116683, + "finite": true, + "corrector": {}, + "wall_seconds": 2362.6045484542847 + }, + { + "epoch": 4, + "train_accuracy": 0.7665666666666666, + "train_cost": 0.1713330840587616, + "test_accuracy": 0.7575, + "test_cost": 0.186199333691597, + "finite": true, + "corrector": {}, + "wall_seconds": 3146.721355199814 + }, + { + "epoch": 5, + "train_accuracy": 0.7519166666666667, + "train_cost": 0.1845080192565918, + "test_accuracy": 0.7414, + "test_cost": 0.18556401858329774, + "finite": true, + "corrector": {}, + "wall_seconds": 3929.5435218811035 + }, + { + "epoch": 6, + "train_accuracy": 0.7203833333333334, + "train_cost": 0.20764003632863362, + "test_accuracy": 0.6789, + "test_cost": 0.2430113084077835, + "finite": true, + "corrector": {}, + "wall_seconds": 4711.062379598618 + }, + { + "epoch": 7, + "train_accuracy": 0.4110666666666667, + "train_cost": 0.35641372086207074, + "test_accuracy": 0.1, + "test_cost": 0.46262577285766604, + "finite": true, + "corrector": {}, + "wall_seconds": 5491.247609376907 + }, + { + "epoch": 8, + "train_accuracy": 0.1, + "train_cost": 0.45775474071502686, + "test_accuracy": 0.1, + "test_cost": 0.45456055669784545, + "finite": true, + "corrector": {}, + "wall_seconds": 6271.208564519882 + }, + { + "epoch": 9, + "train_accuracy": 0.09943333333333333, + "train_cost": 0.45761741638183595, + "test_accuracy": 0.1, + "test_cost": 0.4610685874938965, + "finite": true, + "corrector": {}, + "wall_seconds": 7051.188853025436 + }, + { + "epoch": 10, + "train_accuracy": 0.09846666666666666, + "train_cost": 0.45765557657877604, + "test_accuracy": 0.1, + "test_cost": 0.4531411005973816, + "finite": true, + "corrector": {}, + "wall_seconds": 7831.132164478302 + } + ], + "epochs_completed": 10, + "beta_sign_counts": { + "positive": 2303, + "negative": 2387 + }, + "final": { + "epoch": 10, + "train_accuracy": 0.09846666666666666, + "train_cost": 0.45765557657877604, + "test_accuracy": 0.1, + "test_cost": 0.4531411005973816, + "finite": true, + "corrector": {}, + "wall_seconds": 7831.132164478302 + } +} diff --git a/results/ep_bias/dillavou_c0/random_raw.json b/results/ep_bias/dillavou_c0/random_raw.json new file mode 100644 index 0000000..c268d4b --- /dev/null +++ b/results/ep_bias/dillavou_c0/random_raw.json @@ -0,0 +1,99 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "random_sign", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "raw", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 10, + "train_limit": 60000, + "test_limit": 10000, + "evaluation_split": "test", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "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.10205, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 828.8401348590851 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 223, + "negative": 246 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.10205, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 828.8401348590851 + } +} diff --git a/results/ep_bias/dillavou_c0/summary.json b/results/ep_bias/dillavou_c0/summary.json new file mode 100644 index 0000000..e6cc518 --- /dev/null +++ b/results/ep_bias/dillavou_c0/summary.json @@ -0,0 +1,483 @@ +{ + "centered_clean": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.792, + "test_cost": 0.15573115186691283, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.8135, + "test_cost": 0.1375195680141449, + "finite": true + }, + { + "epoch": 3, + "test_accuracy": 0.8574, + "test_cost": 0.1070521926999092, + "finite": true + }, + { + "epoch": 4, + "test_accuracy": 0.8465, + "test_cost": 0.11115882776975632, + "finite": true + }, + { + "epoch": 5, + "test_accuracy": 0.8717, + "test_cost": 0.09622300601005554, + "finite": true + }, + { + "epoch": 6, + "test_accuracy": 0.86, + "test_cost": 0.1034158871769905, + "finite": true + }, + { + "epoch": 7, + "test_accuracy": 0.8724, + "test_cost": 0.09512372477054595, + "finite": true + }, + { + "epoch": 8, + "test_accuracy": 0.8745, + "test_cost": 0.09160860464572906, + "finite": true + }, + { + "epoch": 9, + "test_accuracy": 0.871, + "test_cost": 0.09528597943782806, + "finite": true + }, + { + "epoch": 10, + "test_accuracy": 0.8867, + "test_cost": 0.08445086604356766, + "finite": true + } + ], + "final": { + "epoch": 10, + "train_accuracy": 0.8811, + "train_cost": 0.08831276926994323, + "test_accuracy": 0.8867, + "test_cost": 0.08445086604356766, + "finite": true, + "corrector": {}, + "wall_seconds": 7940.900921821594 + } + }, + "centered_raw": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false + } + ], + "final": { + "epoch": 1, + "train_accuracy": 0.10061666666666666, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 813.3471133708954 + } + }, + "pep_clean": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.7315, + "test_cost": 0.20986583371162415, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.5922, + "test_cost": 0.4188939518928528, + "finite": true + }, + { + "epoch": 3, + "test_accuracy": 0.5733, + "test_cost": 0.2982772967338562, + "finite": true + }, + { + "epoch": 4, + "test_accuracy": 0.4685, + "test_cost": 0.34045493516922, + "finite": true + }, + { + "epoch": 5, + "test_accuracy": 0.338, + "test_cost": 0.42704891023635866, + "finite": true + }, + { + "epoch": 6, + "test_accuracy": 0.2028, + "test_cost": 0.44713303966522217, + "finite": true + }, + { + "epoch": 7, + "test_accuracy": 0.1, + "test_cost": 0.451286998796463, + "finite": true + }, + { + "epoch": 8, + "test_accuracy": 0.1, + "test_cost": 0.45172959218025205, + "finite": true + }, + { + "epoch": 9, + "test_accuracy": 0.1, + "test_cost": 0.45050861291885375, + "finite": true + }, + { + "epoch": 10, + "test_accuracy": 0.1, + "test_cost": 0.45086712436676024, + "finite": true + } + ], + "final": { + "epoch": 10, + "train_accuracy": 0.09518333333333333, + "train_cost": 0.45089836565653485, + "test_accuracy": 0.1, + "test_cost": 0.45086712436676024, + "finite": true, + "corrector": {}, + "wall_seconds": 7688.960968732834 + } + }, + "pep_constant": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.7252, + "test_cost": 0.21449419848918916, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.734, + "test_cost": 0.20494100348949432, + "finite": true + }, + { + "epoch": 3, + "test_accuracy": 0.726, + "test_cost": 0.21046952879428862, + "finite": true + }, + { + "epoch": 4, + "test_accuracy": 0.5606, + "test_cost": 0.3176894040584564, + "finite": true + }, + { + "epoch": 5, + "test_accuracy": 0.1949, + "test_cost": 0.4102668016910553, + "finite": true + }, + { + "epoch": 6, + "test_accuracy": 0.1, + "test_cost": 0.46038982095718384, + "finite": true + }, + { + "epoch": 7, + "test_accuracy": 0.1, + "test_cost": 0.45710823802948, + "finite": true + }, + { + "epoch": 8, + "test_accuracy": 0.1, + "test_cost": 0.45869329319000246, + "finite": true + }, + { + "epoch": 9, + "test_accuracy": 0.1, + "test_cost": 0.4577524483680725, + "finite": true + }, + { + "epoch": 10, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true + } + ], + "final": { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8229.516099214554 + } + }, + "pep_raw": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.1064, + "test_cost": 92706.8582, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false + } + ], + "final": { + "epoch": 2, + "train_accuracy": 0.09923333333333334, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 937, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 1665.599752664566 + } + }, + "pep_sdil": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.7252, + "test_cost": 0.21449419848918916, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.734, + "test_cost": 0.20494100348949432, + "finite": true + }, + { + "epoch": 3, + "test_accuracy": 0.726, + "test_cost": 0.21046952879428862, + "finite": true + }, + { + "epoch": 4, + "test_accuracy": 0.5606, + "test_cost": 0.3176894040584564, + "finite": true + }, + { + "epoch": 5, + "test_accuracy": 0.1949, + "test_cost": 0.4102668016910553, + "finite": true + }, + { + "epoch": 6, + "test_accuracy": 0.1, + "test_cost": 0.46038982095718384, + "finite": true + }, + { + "epoch": 7, + "test_accuracy": 0.1, + "test_cost": 0.45710823802948, + "finite": true + }, + { + "epoch": 8, + "test_accuracy": 0.1, + "test_cost": 0.45869329319000246, + "finite": true + }, + { + "epoch": 9, + "test_accuracy": 0.1, + "test_cost": 0.4577524483680725, + "finite": true + }, + { + "epoch": 10, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true + } + ], + "final": { + "epoch": 10, + "train_accuracy": 0.10006666666666666, + "train_cost": 0.45555214653015136, + "test_accuracy": 0.1, + "test_cost": 0.4571452916145325, + "finite": true, + "corrector": { + "step": 4689, + "bias_model": "dillavou_constant_update", + "clean_update_rms": 0.00023774306744370527, + "bias_update_rms": 0.00015287711537102346, + "residual_update_rms": 3.794692534694495e-12, + "bias_to_clean_update_rms": 0.6430350084013404, + "residual_to_clean_update_rms": 1.596131729726686e-08, + "neutral_observations": 1 + }, + "wall_seconds": 8315.11565542221 + } + }, + "random_clean": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.7752, + "test_cost": 0.16445912487506867, + "finite": true + }, + { + "epoch": 2, + "test_accuracy": 0.7839, + "test_cost": 0.16023902473449708, + "finite": true + }, + { + "epoch": 3, + "test_accuracy": 0.7716, + "test_cost": 0.16426111673116683, + "finite": true + }, + { + "epoch": 4, + "test_accuracy": 0.7575, + "test_cost": 0.186199333691597, + "finite": true + }, + { + "epoch": 5, + "test_accuracy": 0.7414, + "test_cost": 0.18556401858329774, + "finite": true + }, + { + "epoch": 6, + "test_accuracy": 0.6789, + "test_cost": 0.2430113084077835, + "finite": true + }, + { + "epoch": 7, + "test_accuracy": 0.1, + "test_cost": 0.46262577285766604, + "finite": true + }, + { + "epoch": 8, + "test_accuracy": 0.1, + "test_cost": 0.45456055669784545, + "finite": true + }, + { + "epoch": 9, + "test_accuracy": 0.1, + "test_cost": 0.4610685874938965, + "finite": true + }, + { + "epoch": 10, + "test_accuracy": 0.1, + "test_cost": 0.4531411005973816, + "finite": true + } + ], + "final": { + "epoch": 10, + "train_accuracy": 0.09846666666666666, + "train_cost": 0.45765557657877604, + "test_accuracy": 0.1, + "test_cost": 0.4531411005973816, + "finite": true, + "corrector": {}, + "wall_seconds": 7831.132164478302 + } + }, + "random_raw": { + "trajectory": [ + { + "epoch": 1, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false + } + ], + "final": { + "epoch": 1, + "train_accuracy": 0.10205, + "train_cost": NaN, + "test_accuracy": 0.1, + "test_cost": NaN, + "finite": false, + "corrector": { + "step": 468, + "bias_model": "dillavou_constant_update", + "clean_update_rms": NaN, + "bias_update_rms": NaN, + "residual_update_rms": NaN, + "bias_to_clean_update_rms": NaN, + "residual_to_clean_update_rms": NaN, + "neutral_observations": 0 + }, + "wall_seconds": 828.8401348590851 + } + } +} diff --git a/results/ep_bias/released_profile_r0/intercept_c10.json b/results/ep_bias/released_profile_r0/intercept_c10.json new file mode 100644 index 0000000..83e3ac8 --- /dev/null +++ b/results/ep_bias/released_profile_r0/intercept_c10.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "constant", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 10, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "4", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.3082, + "train_cost": 0.415790057182312, + "test_accuracy": 0.448, + "test_cost": 0.34728983402252195, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0016930877404937195, + "bias_update_rms": 0.00018724772369851212, + "residual_update_rms": 1.008199141467324e-06, + "bias_to_clean_update_rms": 0.1105954046090423, + "residual_to_clean_update_rms": 0.0005954795592420533, + "neutral_observations": 9 + }, + "wall_seconds": 137.7758538722992 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3082, + "train_cost": 0.415790057182312, + "test_accuracy": 0.448, + "test_cost": 0.34728983402252195, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0016930877404937195, + "bias_update_rms": 0.00018724772369851212, + "residual_update_rms": 1.008199141467324e-06, + "bias_to_clean_update_rms": 0.1105954046090423, + "residual_to_clean_update_rms": 0.0005954795592420533, + "neutral_observations": 9 + }, + "wall_seconds": 137.7758538722992 + } +} diff --git a/results/ep_bias/released_profile_r0/intercept_c50.json b/results/ep_bias/released_profile_r0/intercept_c50.json new file mode 100644 index 0000000..0d82ca8 --- /dev/null +++ b/results/ep_bias/released_profile_r0/intercept_c50.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "constant", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 50, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "6", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.2968, + "train_cost": 0.41704807319641113, + "test_accuracy": 0.484, + "test_cost": 0.33677254581451416, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.001004134662831455, + "bias_update_rms": 0.0001499973501478135, + "residual_update_rms": 7.584770313871661e-06, + "bias_to_clean_update_rms": 0.14937971539081377, + "residual_to_clean_update_rms": 0.007553538977017441, + "neutral_observations": 3 + }, + "wall_seconds": 138.1658763885498 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.2968, + "train_cost": 0.41704807319641113, + "test_accuracy": 0.484, + "test_cost": 0.33677254581451416, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.001004134662831455, + "bias_update_rms": 0.0001499973501478135, + "residual_update_rms": 7.584770313871661e-06, + "bias_to_clean_update_rms": 0.14937971539081377, + "residual_to_clean_update_rms": 0.007553538977017441, + "neutral_observations": 3 + }, + "wall_seconds": 138.1658763885498 + } +} diff --git a/results/ep_bias/released_profile_r0/intercept_initial.json b/results/ep_bias/released_profile_r0/intercept_initial.json new file mode 100644 index 0000000..4f6dd47 --- /dev/null +++ b/results/ep_bias/released_profile_r0/intercept_initial.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "constant", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 9.5367431640625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "2", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.3058, + "train_cost": 0.4113296781539917, + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + }, + "wall_seconds": 139.38151288032532 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3058, + "train_cost": 0.4113296781539917, + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + }, + "wall_seconds": 139.38151288032532 + } +} diff --git a/results/ep_bias/released_profile_r0/pep_clean.json b/results/ep_bias/released_profile_r0/pep_clean.json new file mode 100644 index 0000000..5d723a7 --- /dev/null +++ b/results/ep_bias/released_profile_r0/pep_clean.json @@ -0,0 +1,96 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "clean", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "0", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.3004, + "train_cost": 0.41798436822891233, + "test_accuracy": 0.532, + "test_cost": 0.3340995168685913, + "finite": true, + "corrector": {}, + "wall_seconds": 130.98123741149902 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3004, + "train_cost": 0.41798436822891233, + "test_accuracy": 0.532, + "test_cost": 0.3340995168685913, + "finite": true, + "corrector": {}, + "wall_seconds": 130.98123741149902 + } +} diff --git a/results/ep_bias/released_profile_r0/profile_raw.json b/results/ep_bias/released_profile_r0/profile_raw.json new file mode 100644 index 0000000..4f03a15 --- /dev/null +++ b/results/ep_bias/released_profile_r0/profile_raw.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "raw", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-06, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "1", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.2465, + "train_cost": 0.430538116979599, + "test_accuracy": 0.4, + "test_cost": 0.36289122581481936, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0015931195032637647, + "bias_update_rms": 0.00012595502742491298, + "residual_update_rms": 0.00012595502784527396, + "bias_to_clean_update_rms": 0.07906188278209739, + "residual_to_clean_update_rms": 0.07906188304595768, + "neutral_observations": 0 + }, + "wall_seconds": 138.65675354003906 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.2465, + "train_cost": 0.430538116979599, + "test_accuracy": 0.4, + "test_cost": 0.36289122581481936, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0015931195032637647, + "bias_update_rms": 0.00012595502742491298, + "residual_update_rms": 0.00012595502784527396, + "bias_to_clean_update_rms": 0.07906188278209739, + "residual_to_clean_update_rms": 0.07906188304595768, + "neutral_observations": 0 + }, + "wall_seconds": 138.65675354003906 + } +} diff --git a/results/ep_bias/released_profile_r0/sdil_c10.json b/results/ep_bias/released_profile_r0/sdil_c10.json new file mode 100644 index 0000000..842fece --- /dev/null +++ b/results/ep_bias/released_profile_r0/sdil_c10.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "innovation", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 10, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "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.3051, + "train_cost": 0.4161894171714783, + "test_accuracy": 0.499, + "test_cost": 0.32872381591796873, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0010029431500714274, + "bias_update_rms": 0.00018726186920531594, + "residual_update_rms": 9.534908075830887e-07, + "bias_to_clean_update_rms": 0.18671234674864629, + "residual_to_clean_update_rms": 0.000950692776071289, + "neutral_observations": 9 + }, + "wall_seconds": 138.70472860336304 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3051, + "train_cost": 0.4161894171714783, + "test_accuracy": 0.499, + "test_cost": 0.32872381591796873, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0010029431500714274, + "bias_update_rms": 0.00018726186920531594, + "residual_update_rms": 9.534908075830887e-07, + "bias_to_clean_update_rms": 0.18671234674864629, + "residual_to_clean_update_rms": 0.000950692776071289, + "neutral_observations": 9 + }, + "wall_seconds": 138.70472860336304 + } +} diff --git a/results/ep_bias/released_profile_r0/sdil_c50.json b/results/ep_bias/released_profile_r0/sdil_c50.json new file mode 100644 index 0000000..016684c --- /dev/null +++ b/results/ep_bias/released_profile_r0/sdil_c50.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "innovation", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 50, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "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.3023, + "train_cost": 0.4136846197605133, + "test_accuracy": 0.471, + "test_cost": 0.3420136547088623, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.000828735017397769, + "bias_update_rms": 0.00015105536874253497, + "residual_update_rms": 6.152254308883878e-06, + "bias_to_clean_update_rms": 0.1822722167778663, + "residual_to_clean_update_rms": 0.007423668820224321, + "neutral_observations": 3 + }, + "wall_seconds": 137.71566247940063 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3023, + "train_cost": 0.4136846197605133, + "test_accuracy": 0.471, + "test_cost": 0.3420136547088623, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.000828735017397769, + "bias_update_rms": 0.00015105536874253497, + "residual_update_rms": 6.152254308883878e-06, + "bias_to_clean_update_rms": 0.1822722167778663, + "residual_to_clean_update_rms": 0.007423668820224321, + "neutral_observations": 3 + }, + "wall_seconds": 137.71566247940063 + } +} diff --git a/results/ep_bias/released_profile_r0/sdil_initial.json b/results/ep_bias/released_profile_r0/sdil_initial.json new file mode 100644 index 0000000..aafc26e --- /dev/null +++ b/results/ep_bias/released_profile_r0/sdil_initial.json @@ -0,0 +1,116 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "65f617eaf07a87c84475ad0010dea844422163e1" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author comparative-study ConvHopfieldEnergy32", + "network_protocol": "comparative32", + "algorithm": "equilibrium propagation", + "beta_policy": "fixed_positive", + "beta_seed": 7100, + "beta_value": 0.25, + "adapter": "dillavou", + "mode": "innovation", + "bias_ratio": 1.0, + "dillavou_drift_ratio": 0.0, + "dillavou_calibration_steps": 1, + "dillavou_profile": { + "normalized_offsets": [ + 0.9356214982615908, + 1.6020613079954447, + -0.10013991355431538, + 0.7402593971899275 + ], + "normalized_state_variations": [ + 0.5259526502913017, + 0.31316961348123956, + 0.3831972460091073, + -0.04782433762159926 + ], + "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json" + }, + "predictor_rate": 1.0, + "neutral_cadence": 0, + "layer_calibration_steps": 1, + "layer_bias_normalization": "clean_difference", + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "instruction_off_local_update_probe", + "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 1, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6200, + "batch_size": 128, + "training_iterations": 15, + "inference_iterations": 60, + "schedule_epochs": 100, + "seed": 1988, + "device": "cuda", + "determinism": "best_effort_warn_only", + "autodiff_used_for_learning": false + }, + "hardware": { + "torch_version": "2.3.1+cu118", + "torch_cuda_version": "11.8", + "cuda_visible_devices": "3", + "device_name": "NVIDIA GeForce GTX 1080" + }, + "metrics": [ + { + "epoch": 1, + "train_accuracy": 0.3058, + "train_cost": 0.4113296781539917, + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + }, + "wall_seconds": 142.44494032859802 + } + ], + "epochs_completed": 1, + "beta_sign_counts": { + "positive": 79, + "negative": 0 + }, + "final": { + "epoch": 1, + "train_accuracy": 0.3058, + "train_cost": 0.4113296781539917, + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + }, + "wall_seconds": 142.44494032859802 + } +} diff --git a/results/ep_bias/released_profile_r0/summary.json b/results/ep_bias/released_profile_r0/summary.json new file mode 100644 index 0000000..28a6a2e --- /dev/null +++ b/results/ep_bias/released_profile_r0/summary.json @@ -0,0 +1,128 @@ +{ + "intercept_c10": { + "test_accuracy": 0.448, + "test_cost": 0.34728983402252195, + "finite": true, + "wall_seconds": 137.7758538722992, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0016930877404937195, + "bias_update_rms": 0.00018724772369851212, + "residual_update_rms": 1.008199141467324e-06, + "bias_to_clean_update_rms": 0.1105954046090423, + "residual_to_clean_update_rms": 0.0005954795592420533, + "neutral_observations": 9 + } + }, + "intercept_c50": { + "test_accuracy": 0.484, + "test_cost": 0.33677254581451416, + "finite": true, + "wall_seconds": 138.1658763885498, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.001004134662831455, + "bias_update_rms": 0.0001499973501478135, + "residual_update_rms": 7.584770313871661e-06, + "bias_to_clean_update_rms": 0.14937971539081377, + "residual_to_clean_update_rms": 0.007553538977017441, + "neutral_observations": 3 + } + }, + "intercept_initial": { + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "wall_seconds": 139.38151288032532, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + } + }, + "pep_clean": { + "test_accuracy": 0.532, + "test_cost": 0.3340995168685913, + "finite": true, + "wall_seconds": 130.98123741149902, + "corrector": {} + }, + "profile_raw": { + "test_accuracy": 0.4, + "test_cost": 0.36289122581481936, + "finite": true, + "wall_seconds": 138.65675354003906, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0015931195032637647, + "bias_update_rms": 0.00012595502742491298, + "residual_update_rms": 0.00012595502784527396, + "bias_to_clean_update_rms": 0.07906188278209739, + "residual_to_clean_update_rms": 0.07906188304595768, + "neutral_observations": 0 + } + }, + "sdil_c10": { + "test_accuracy": 0.499, + "test_cost": 0.32872381591796873, + "finite": true, + "wall_seconds": 138.70472860336304, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0010029431500714274, + "bias_update_rms": 0.00018726186920531594, + "residual_update_rms": 9.534908075830887e-07, + "bias_to_clean_update_rms": 0.18671234674864629, + "residual_to_clean_update_rms": 0.000950692776071289, + "neutral_observations": 9 + } + }, + "sdil_c50": { + "test_accuracy": 0.471, + "test_cost": 0.3420136547088623, + "finite": true, + "wall_seconds": 137.71566247940063, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.000828735017397769, + "bias_update_rms": 0.00015105536874253497, + "residual_update_rms": 6.152254308883878e-06, + "bias_to_clean_update_rms": 0.1822722167778663, + "residual_to_clean_update_rms": 0.007423668820224321, + "neutral_observations": 3 + } + }, + "sdil_initial": { + "test_accuracy": 0.499, + "test_cost": 0.32454667282104493, + "finite": true, + "wall_seconds": 142.44494032859802, + "corrector": { + "step": 78, + "bias_model": "dillavou_released_affine_update", + "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json", + "clean_update_rms": 0.0013323988546713012, + "bias_update_rms": 0.00014826292038605285, + "residual_update_rms": 1.1076213507649078e-05, + "bias_to_clean_update_rms": 0.11127517849948082, + "residual_to_clean_update_rms": 0.008312986362016609, + "neutral_observations": 1 + } + } +} |
