From 8bc441bd05e86bac6b6f1ba3c0056c74f106d98b Mon Sep 17 00:00:00 2001
From: Erick Lavoie <erick.lavoie@epfl.ch>
Date: Mon, 22 Mar 2021 21:36:54 +0100
Subject: [PATCH] Added MNIST LeNet experiments

---
 main.tex                                           |  9 +++++++++
 .../fully-connected-cliques/experiments.sh         | 14 ++++++++++++++
 .../mnist/gn-lenet/no-clique-avg/experiments.sh    | 14 ++++++++++++++
 .../gn-lenet/no-init-no-clique-avg/experiments.sh  | 14 ++++++++++++++
 results/mnist/gn-lenet/no-init/experiments.sh      | 14 ++++++++++++++
 .../random-10-diverse-unbiased-grad/experiments.sh | 14 ++++++++++++++
 .../gn-lenet/random-10-diverse/experiments.sh      | 14 ++++++++++++++
 results/mnist/gn-lenet/random-10/experiments.sh    | 14 ++++++++++++++
 8 files changed, 107 insertions(+)
 create mode 100755 results/mnist/gn-lenet/fully-connected-cliques/experiments.sh
 create mode 100755 results/mnist/gn-lenet/no-clique-avg/experiments.sh
 create mode 100755 results/mnist/gn-lenet/no-init-no-clique-avg/experiments.sh
 create mode 100755 results/mnist/gn-lenet/no-init/experiments.sh
 create mode 100755 results/mnist/gn-lenet/random-10-diverse-unbiased-grad/experiments.sh
 create mode 100755 results/mnist/gn-lenet/random-10-diverse/experiments.sh
 create mode 100755 results/mnist/gn-lenet/random-10/experiments.sh

diff --git a/main.tex b/main.tex
index 93bd1f8..32cd17e 100644
--- a/main.tex
+++ b/main.tex
@@ -581,6 +581,15 @@ In addition, it is important that all nodes are initialized with the same model
 \caption{\label{fig:d-cliques-cifar10-clique-clustering} CIFAR10: Effect of Relaxed Intra-Clique Connectivity.}
 \end{figure}
 
+\section{XP Suppl.}
+
+\begin{itemize}
+  \item Test MNIST avec gn-lenet
+  \item Enlever les mentions à l'initialisation uniforme
+  \item Plot Scattering (Citer l'article décentralisé)
+  \item Test topology en n-log n https://dl.acm.org/doi/10.1145/335305.335325
+\end{itemize}
+
 
 \section{Related Work}
 
diff --git a/results/mnist/gn-lenet/fully-connected-cliques/experiments.sh b/results/mnist/gn-lenet/fully-connected-cliques/experiments.sh
new file mode 100755
index 0000000..f5ab916
--- /dev/null
+++ b/results/mnist/gn-lenet/fully-connected-cliques/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --clique-gradient --initial-averaging --accuracy-logging-interval 1
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/no-clique-avg/experiments.sh b/results/mnist/gn-lenet/no-clique-avg/experiments.sh
new file mode 100755
index 0000000..4022116
--- /dev/null
+++ b/results/mnist/gn-lenet/no-clique-avg/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --accuracy-logging-interval 1 --initial-averaging
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/no-init-no-clique-avg/experiments.sh b/results/mnist/gn-lenet/no-init-no-clique-avg/experiments.sh
new file mode 100755
index 0000000..981f8e8
--- /dev/null
+++ b/results/mnist/gn-lenet/no-init-no-clique-avg/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --accuracy-logging-interval 1
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/no-init/experiments.sh b/results/mnist/gn-lenet/no-init/experiments.sh
new file mode 100755
index 0000000..ddf548c
--- /dev/null
+++ b/results/mnist/gn-lenet/no-init/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --clique-gradient --accuracy-logging-interval 1
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/random-10-diverse-unbiased-grad/experiments.sh b/results/mnist/gn-lenet/random-10-diverse-unbiased-grad/experiments.sh
new file mode 100755
index 0000000..7a7ae91
--- /dev/null
+++ b/results/mnist/gn-lenet/random-10-diverse-unbiased-grad/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology greedy-diverse-10 --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --accuracy-logging-interval 1 --unbiased-gradient
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/random-10-diverse/experiments.sh b/results/mnist/gn-lenet/random-10-diverse/experiments.sh
new file mode 100755
index 0000000..3df7a2c
--- /dev/null
+++ b/results/mnist/gn-lenet/random-10-diverse/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology greedy-diverse-10 --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --accuracy-logging-interval 1
+    done;
+done;
+
diff --git a/results/mnist/gn-lenet/random-10/experiments.sh b/results/mnist/gn-lenet/random-10/experiments.sh
new file mode 100755
index 0000000..f6a4093
--- /dev/null
+++ b/results/mnist/gn-lenet/random-10/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    20
+    '
+LRS='
+    0.002
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology random-10 --metric dissimilarity --learning-momentum 0.9 --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --single-process --nb-logging-processes 10 --dataset mnist --model gn-lenet --accuracy-logging-interval 1
+    done;
+done;
+
-- 
GitLab