### Quick start

First run the following command to install Opacus
```
pip install opacus
```
Create folder to store experimental results
```
mkdir -p expResults
```

To run DP-SGD with gradient clipping (using Opacus) for the MNIST dataset.
```
python GCScript.py -c 4 --sigma 1.0 --lr 0.01 -m 1 --device cuda --data mnist
```
where `-c` specifies the clipping threshold, `-m` specifies the model, `m=1` for linear model, `m=2` for two-layer neural networks.

To run DP-SGD with value clipping for the MNIST dataset.
```
python VCscript.py -c 4 --sigma 1.0 --lr 0.01 -m 1 --device cuda --data mnist
```

To run our model with the trained feature of CIFAR, run
```
mkdir -p data
python extractFeatures.py
```
