# MNIST Experiments in Table 5, Appendix C. This also includes the results in Figure 3 (a).

## Baseline
python train_mnist_public.py --split-layer=-1 --test-interval=20

## noise level = 0.3
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --mask-ratio=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --mask-ratio=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --mask-ratio=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --mask-ratio=0.6

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --weight-decay=0.05 --scaling-factor=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --weight-decay=0.05 --scaling-factor=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --weight-decay=0.05 --scaling-factor=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.3 --enable-denoise --weight-decay=0.05 --scaling-factor=0.6


## noise level = 0.5
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --mask-ratio=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --mask-ratio=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --mask-ratio=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --mask-ratio=0.6

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --weight-decay=0.05 --scaling-factor=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --weight-decay=0.05 --scaling-factor=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --weight-decay=0.05 --scaling-factor=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.5 --enable-denoise --weight-decay=0.05 --scaling-factor=0.6


## noise level = 0.7
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.6

python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --weight-decay=0.05 --scaling-factor=0.1
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --weight-decay=0.05 --scaling-factor=0.2
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --weight-decay=0.05 --scaling-factor=0.4
python train_mnist_public.py --split-layer=-1 --test-interval=20 --add-noise --sigma=0.7 --enable-denoise --weight-decay=0.05 --scaling-factor=0.6





# Experiments in Figure 6, Appendix C. This also includes the results in Table 2.

## learning rate
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --lr=0.1
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --lr=0.05
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --lr=0.01
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --lr=0.005
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --lr=0.001

## weight decay
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --weight-decay=0.1
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --weight-decay=0.2
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --weight-decay=0.4
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --weight-decay=0.05

## scaling only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.1
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.2
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.4
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.6

## scaling only + weight decay
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.1 --weight-decay=0.01
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.2 --weight-decay=0.05
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.4 --weight-decay=0.1
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --scaling-factor=0.6 --weight-decay=0.1

## masking only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.1
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.2
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.4
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.6

## dropout only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.1 --dropout-only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.2 --dropout-only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.4 --dropout-only
python train_mnist_public.py --split-layer=-1 --add-noise --sigma=0.7 --enable-denoise --mask-ratio=0.6 --dropout-only


