Skip to content
A GAN Proxy App
Python Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Fix summit error when training on multiples of 6 gpus. Fix parser bug… Mar 11, 2020
pytorch Fix summit error when training on multiples of 6 gpus. Fix parser bug… Mar 11, 2020
LICENSE Move pytorch impl to public github repo. Update README and file struc… Feb 24, 2020
README.md Change IBM WML CE module to use for Summit in README instructions. Mar 12, 2020
setup_python_env.sh Add torchvision to setup python env script Feb 24, 2020

README.md

miniGAN

miniGAN is a generative adversarial network code developed as part of the Exascale Computing Project's (ECP) ExaLearn project at Sandia National Laboratories.

miniGAN v. 1.0.0

For questions, contact J. Austin Ellis (johelli@sandia.gov) or Siva Rajamanickam (srajama@sandia.gov).


Description:

miniGAN is a proxy application for generative adversarial networks.

The objective of the miniGAN miniapp is to model performance for training generator and discriminator networks. The GAN's generator and discriminator generate plausible 2D/3D maps and identify fake maps, respectively. Related applications exist in cosmology (CosmoFlow, ExaGAN) and wind energy (ExaWind).

Authors: J. Austin Ellis (johelli@sandia.gov) and Siva Rajamanickam (srajama@sandia.gov)


Benchmarks:

Coming soon.


To Install:

Model/Package Combos

Pytorch Tested

  • python/3.5.2
  • pytorch/1.3.1
  • horovod/0.18.2

Install

  1. Enter desired pytorch directory and prepare python env
  • Run ./setup_python_env.sh
  • Run source ./minigan_torch_env/bin/activate (for pytorch)
  • (Run deactivate to exit python env)
  1. Generate bird dataset
  • Move to ${minigan_dir}/data
  • Run python generate_random_images.py --help for running options
  1. Run python3 minigan_driver.py --help for running options
  • Default dataset is "random". Switch to "--dataset bird" to use generated dataset.
  1. Run!

OLCF Summit instructions

  1. Do not run setup_python_env.sh, instead run module load ibm-wml-ce/1.7.0-1 to load IBM's Watson ML Community Edition.
    • This should contain PyTorch, Horovod, Matplotlib
    • Have not been successful with Summit's standalone pip / anaconda
  2. Obtain an interactive session using
    • bsub --nnodes 1 -Is -W 1:00 -P <ProjID> /bin/bash
  3. Run using
    • ddlrun python3 minigan_driver.py --dataset bird

Experimental!

Make use of kokkos-kernels layers/operations

  1. In development

Please report bugs or feature requests to: https://github.com/SandiaMLMiniApps/miniGAN/issues

LICENSE

License

miniGAN is licensed under standard 3-clause BSD terms of use. For specifics, please refer to the LICENSE file contained in the repository or distribution. Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

You can’t perform that action at this time.