From a4364637b67b252cd0596b752323f08784164dc2 Mon Sep 17 00:00:00 2001
From: pat-alt <altmeyerpat@gmail.com>
Date: Fri, 15 Sep 2023 09:20:18 +0200
Subject: [PATCH] mnist training with resnet

---
 .../counterfactuals/california_housing.sh        |  4 ++--
 .../jobscripts/counterfactuals/credit_default.sh |  4 ++--
 experiments/jobscripts/counterfactuals/fmnist.sh |  2 +-
 .../jobscripts/counterfactuals/german_credit.sh  |  4 ++--
 experiments/jobscripts/counterfactuals/gmsc.sh   |  4 ++--
 experiments/jobscripts/counterfactuals/mnist.sh  |  4 ++--
 .../jobscripts/counterfactuals/synthetic.sh      |  4 ++--
 .../jobscripts/counterfactuals/tabular.sh        |  4 ++--
 .../jobscripts/models/california_housing.sh      |  2 +-
 experiments/jobscripts/models/credit_default.sh  |  2 +-
 experiments/jobscripts/models/german_credit.sh   |  2 +-
 experiments/jobscripts/models/mnist.sh           |  6 +++---
 experiments/mnist.jl                             |  1 +
 experiments/models/models.jl                     | 16 ++++++++++------
 14 files changed, 32 insertions(+), 27 deletions(-)

diff --git a/experiments/jobscripts/counterfactuals/california_housing.sh b/experiments/jobscripts/counterfactuals/california_housing.sh
index 4160927b..b0364af2 100644
--- a/experiments/jobscripts/counterfactuals/california_housing.sh
+++ b/experiments/jobscripts/counterfactuals/california_housing.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="California Housing (ECCCo)"
 #SBATCH --time=3:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/credit_default.sh b/experiments/jobscripts/counterfactuals/credit_default.sh
index eddd787b..93945bf1 100644
--- a/experiments/jobscripts/counterfactuals/credit_default.sh
+++ b/experiments/jobscripts/counterfactuals/credit_default.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="Credit Default (ECCCo)"
 #SBATCH --time=3:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/fmnist.sh b/experiments/jobscripts/counterfactuals/fmnist.sh
index 9f9eef02..c9a2035f 100644
--- a/experiments/jobscripts/counterfactuals/fmnist.sh
+++ b/experiments/jobscripts/counterfactuals/fmnist.sh
@@ -6,7 +6,7 @@
 #SBATCH --cpus-per-task=4
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/german_credit.sh b/experiments/jobscripts/counterfactuals/german_credit.sh
index c6ea1aaf..07bc4df7 100644
--- a/experiments/jobscripts/counterfactuals/german_credit.sh
+++ b/experiments/jobscripts/counterfactuals/german_credit.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="German Credit (ECCCo)"
 #SBATCH --time=3:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/gmsc.sh b/experiments/jobscripts/counterfactuals/gmsc.sh
index 6ec22639..d6c9223d 100644
--- a/experiments/jobscripts/counterfactuals/gmsc.sh
+++ b/experiments/jobscripts/counterfactuals/gmsc.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="GMSC (ECCCo)"
 #SBATCH --time=3:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/mnist.sh b/experiments/jobscripts/counterfactuals/mnist.sh
index 8823002a..7f16991b 100644
--- a/experiments/jobscripts/counterfactuals/mnist.sh
+++ b/experiments/jobscripts/counterfactuals/mnist.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="MNIST (ECCCo)"
 #SBATCH --time=24:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/synthetic.sh b/experiments/jobscripts/counterfactuals/synthetic.sh
index 8d026eb8..15e4f310 100644
--- a/experiments/jobscripts/counterfactuals/synthetic.sh
+++ b/experiments/jobscripts/counterfactuals/synthetic.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="Synthetic (ECCCo)"
 #SBATCH --time=02:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/counterfactuals/tabular.sh b/experiments/jobscripts/counterfactuals/tabular.sh
index 41f7f1d8..f7eae4ea 100644
--- a/experiments/jobscripts/counterfactuals/tabular.sh
+++ b/experiments/jobscripts/counterfactuals/tabular.sh
@@ -2,11 +2,11 @@
 
 #SBATCH --job-name="Tabular (ECCCo)"
 #SBATCH --time=05:00:00
-#SBATCH --ntasks=48
+#SBATCH --ntasks=1000
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=compute
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
diff --git a/experiments/jobscripts/models/california_housing.sh b/experiments/jobscripts/models/california_housing.sh
index feb9bf8b..105a3ca9 100644
--- a/experiments/jobscripts/models/california_housing.sh
+++ b/experiments/jobscripts/models/california_housing.sh
@@ -7,7 +7,7 @@
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=gpu
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 srun julia --project=experiments experiments/run_experiments.jl -- data=california_housing output_path=results only_models > experiments/train_california_housing.log
\ No newline at end of file
diff --git a/experiments/jobscripts/models/credit_default.sh b/experiments/jobscripts/models/credit_default.sh
index 875519b4..04e08ca4 100644
--- a/experiments/jobscripts/models/credit_default.sh
+++ b/experiments/jobscripts/models/credit_default.sh
@@ -7,7 +7,7 @@
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=gpu
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 srun julia --project=experiments experiments/run_experiments.jl -- data=credit_default output_path=results only_models > experiments/train_credit_default.log
\ No newline at end of file
diff --git a/experiments/jobscripts/models/german_credit.sh b/experiments/jobscripts/models/german_credit.sh
index f1c8d7ca..678a8108 100644
--- a/experiments/jobscripts/models/german_credit.sh
+++ b/experiments/jobscripts/models/german_credit.sh
@@ -7,7 +7,7 @@
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=gpu
 #SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 srun julia --project=experiments experiments/run_experiments.jl -- data=german_credit output_path=results only_models > experiments/train_german_credit.log
\ No newline at end of file
diff --git a/experiments/jobscripts/models/mnist.sh b/experiments/jobscripts/models/mnist.sh
index 56bcf58a..1b7e3478 100644
--- a/experiments/jobscripts/models/mnist.sh
+++ b/experiments/jobscripts/models/mnist.sh
@@ -1,13 +1,13 @@
 #!/bin/bash
 
 #SBATCH --job-name="Train MNIST (ECCCo)"
-#SBATCH --time=01:00:00
+#SBATCH --time=03:00:00
 #SBATCH --ntasks=1
 #SBATCH --gpus-per-task=1
 #SBATCH --cpus-per-task=1
 #SBATCH --partition=gpu
-#SBATCH --mem-per-cpu=4GB
-#SBATCH --account=innovation
+#SBATCH --mem-per-cpu=8GB
+#SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 srun julia --project=experiments experiments/run_experiments.jl -- data=mnist output_path=results only_models > experiments/train_mnist.log
\ No newline at end of file
diff --git a/experiments/mnist.jl b/experiments/mnist.jl
index bfa851f0..a72e25db 100644
--- a/experiments/mnist.jl
+++ b/experiments/mnist.jl
@@ -14,6 +14,7 @@ test_data = load_mnist_test()
 # Additional models:
 add_models = Dict(
     "LeNet-5" => lenet5,
+    "ResNet-18" => resnet18(;epochs=10),
 )
 
 # Default builder:
diff --git a/experiments/models/models.jl b/experiments/models/models.jl
index 9aa63069..20f8ee17 100644
--- a/experiments/models/models.jl
+++ b/experiments/models/models.jl
@@ -35,12 +35,16 @@ function prepare_models(exper::Experiment)
             @info "Using additional models."
             add_models = Dict{Any,Any}()
             for (k, mod) in exper.additional_models
-                add_models[k] = mod(;
-                    batch_size=batch_size(exper),
-                    finaliser=exper.finaliser,
-                    loss=exper.loss,
-                    epochs=exper.epochs,
-                )
+                if isa(mod, Function)
+                    add_models[k] = mod(;
+                        batch_size=batch_size(exper),
+                        finaliser=exper.finaliser,
+                        loss=exper.loss,
+                        epochs=exper.epochs,
+                    )
+                else
+                    add_models[k] = mod
+                end
             end
             models = merge(models, add_models)
         end
-- 
GitLab