dan icon indicating copy to clipboard operation
dan copied to clipboard

Source code for "Towards a Deeper Understanding of Adversarial Losses under a Discriminative Adversarial Network Setting"

DANTest

Source code for "Towards a Deeper Understanding of Adversarial Losses under a Discriminative Adversarial Network Setting"

Prerequisites

Below we assume the working directory is the repository root.

Install dependencies

  • Using pipenv (recommended)

    Make sure pipenv is installed. (If not, simply run pip install --user pipenv.)

    # Install the dependencies
    pipenv install
    # Activate the virtual environment
    pipenv shell
    
  • Using pip

    # Install the dependencies
    pip install -r requirements.txt
    

Prepare training data

# Download the training data
./scripts/download_data.sh
# Store the training data to shared memory
./scripts/process_data.sh

You can also download the MNIST handwritten digit database manually here.

Scripts

We provide several shell scripts for easy managing the experiments. (See scripts/README.md for a detailed documentation.)

Below we assume the working directory is the repository root.

Train a new model

  1. Run the following command to set up a new experiment with default settings.

    # Set up a new experiment (for one run only)
    ./scripts/setup_exp.sh -r 1 "./exp/my_experiment/"
    
  2. Modify the configuration files for different experimental settings. The configuration file can be found at ./exp/my_experiment/config.yaml.

  3. Train the model by running the following command.

    # Train the model (on GPU 0)
    ./scripts/run_train.sh -c -g 0 "./exp/my_experiment/"
    

Outputs

For each run, there will be three folders created in the experiment folder.

  • logs/: contain all the logs created
  • model/: contain the trained model
  • src/: contain a backup of the source code

Note that the validation results can be found in the logs/ folder.

Paper

Towards a Deeper Understanding of Adversarial Losses under a Discriminative Adversarial Network Setting
Hao-Wen Dong and Yi-Hsuan Yang
arXiv preprint arXiv:1901.08753, 2019.
[website] [paper] [arxiv] [code]