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