From 11c03e78d002aaafb78dbed54b22c59cf5418f0e Mon Sep 17 00:00:00 2001 From: Hammouda Elbez <hammouda.elbez@univ-lille.fr> Date: Sun, 27 Nov 2022 19:50:04 +0100 Subject: [PATCH] Updated parameters --- CSNN-Simulator/apps/FMnist.cpp | 16 ++++++++-------- CSNN-Simulator/apps/Mnist.cpp | 8 ++++---- CSNN-Simulator/src/Experiment.cpp | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CSNN-Simulator/apps/FMnist.cpp b/CSNN-Simulator/apps/FMnist.cpp index 0a848ac..c595a27 100644 --- a/CSNN-Simulator/apps/FMnist.cpp +++ b/CSNN-Simulator/apps/FMnist.cpp @@ -41,8 +41,8 @@ int main(int argc, char** argv) { std::string input_path(input_path_ptr); - experiment.template add_train<dataset::FMnist>(input_path+"train-images-idx3-ubyte", input_path+"train-labels-idx1-ubyte", 1000); - experiment.template add_test<dataset::FMnist>(input_path+"t10k-images-idx3-ubyte", input_path+"t10k-labels-idx1-ubyte", 1000); + experiment.template add_train<dataset::FMnist>(input_path+"train-images-idx3-ubyte", input_path+"train-labels-idx1-ubyte"); + experiment.template add_test<dataset::FMnist>(input_path+"t10k-images-idx3-ubyte", input_path+"t10k-labels-idx1-ubyte"); float th_lr = 0.0f; float t_obj = 0.75; @@ -51,14 +51,14 @@ int main(int argc, char** argv) { auto& conv1 = experiment.template push_layer<layer::Convolution>("conv1", 5, 5, 32); conv1.template parameter<float>("annealing").set(0.95f); - conv1.template parameter<float>("min_th").set(4.0f); + conv1.template parameter<float>("min_th").set(1.0f); conv1.template parameter<float>("t_obj").set(t_obj); conv1.template parameter<float>("lr_th").set(th_lr); conv1.template parameter<float>("alpha").set(alpha); conv1.template parameter<float>("doPrune").set(do_prune); conv1.template parameter<float>("doReinforcement").set(do_reinforcement); conv1.template parameter<Tensor<float>>("w").template distribution<distribution::Uniform>(0.0, 1.0); - conv1.template parameter<Tensor<float>>("th").template distribution<distribution::Gaussian>(5.0, 0.1); + conv1.template parameter<Tensor<float>>("th").template distribution<distribution::Gaussian>(8.0, 0.1); conv1.template parameter<STDP>("stdp").template set<stdp::Biological>(w_lr, 0.1f); experiment.template push_layer<layer::Pooling>("pool1", 2, 2, 2, 2); @@ -69,7 +69,7 @@ int main(int argc, char** argv) { auto& conv2 = experiment.template push_layer<layer::Convolution>("conv2", 5, 5, 128); conv2.template parameter<float>("annealing").set(0.95f); conv2.template parameter<float>("min_th").set(1.0f); - conv2.template parameter<float>("t_obj").set(0.60f); + conv2.template parameter<float>("t_obj").set(t_obj); conv2.template parameter<float>("lr_th").set(th_lr); conv2.template parameter<float>("alpha").set(alpha); conv2.template parameter<float>("doPrune").set(do_prune); @@ -95,9 +95,9 @@ int main(int argc, char** argv) { fc1.template parameter<Tensor<float>>("th").template distribution<distribution::Gaussian>(10.0, 0.1); fc1.template parameter<STDP>("stdp").template set<stdp::Biological>(w_lr, 0.1f); - experiment.add_train_step(conv1, 100); - experiment.add_train_step(conv2, 100); - experiment.add_train_step(fc1, 100); + experiment.add_train_step(conv1, 5); + experiment.add_train_step(conv2, 5); + experiment.add_train_step(fc1, 5); auto& conv1_out = experiment.template output<TimeObjectiveOutput>(conv1, t_obj); conv1_out.template add_postprocessing<process::SumPooling>(2, 2); diff --git a/CSNN-Simulator/apps/Mnist.cpp b/CSNN-Simulator/apps/Mnist.cpp index 0226f68..53ed9f9 100644 --- a/CSNN-Simulator/apps/Mnist.cpp +++ b/CSNN-Simulator/apps/Mnist.cpp @@ -45,7 +45,7 @@ int main(int argc, char** argv) { experiment.template add_test<dataset::Mnist>(input_path+"t10k-images.idx3-ubyte", input_path+"t10k-labels.idx1-ubyte"); float th_lr = 1.0f; - float t_obj = 0.50f; + float t_obj = 0.75f; float w_lr = 0.1f; float alpha = 0.05f; @@ -95,9 +95,9 @@ int main(int argc, char** argv) { fc1.template parameter<Tensor<float>>("th").template distribution<distribution::Gaussian>(10.0, 0.1); fc1.template parameter<STDP>("stdp").template set<stdp::Biological>(w_lr, 0.1f); - experiment.add_train_step(conv1, 100); - experiment.add_train_step(conv2, 100); - experiment.add_train_step(fc1, 100); + experiment.add_train_step(conv1, 5); + experiment.add_train_step(conv2, 5); + experiment.add_train_step(fc1, 5); auto& conv1_out = experiment.template output<TimeObjectiveOutput>(conv1, t_obj); conv1_out.template add_postprocessing<process::SumPooling>(2, 2); diff --git a/CSNN-Simulator/src/Experiment.cpp b/CSNN-Simulator/src/Experiment.cpp index f920be4..8e346eb 100644 --- a/CSNN-Simulator/src/Experiment.cpp +++ b/CSNN-Simulator/src/Experiment.cpp @@ -36,7 +36,7 @@ AbstractExperiment::AbstractExperiment(const std::string& name) : std::cout << "Experiment renamed in " << _name << std::endl; } - _isRandom = ""; + _isRandom = "MY_5IM"; std::seed_seq seed(std::begin(_name), std::end(_name)); _random_generator.seed(seed); -- GitLab