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