Skip to main content

Generator and Discriminator for Atmosense Background Characterization

Project description

ABCGAN

This project uses a generative adversarial network (GAN) to produce a Generator and a Discriminator to characterize the normal atmospheric background. It provides the ability to sample atmospheric parameters, creating full altitude profiles of the sampled measurements. The current system is trained on over 10 years of Incoherent Scatter Radar data collected in Alaska at the Poker Flat Research Range.

Currently the project supports the sampling of low frequency measurements conditioned on high altitude drivers (solar flux, solar zenith angle, etc.). The project goal is to augment this initial capability through generation of high frequency distrubances (waves) as well as allowing conditioning on ground based drivers (terrain, etc.).

Documentation Status Binder DOI

Installing abcgan

This package is available on PyPI and can be installed with pip. It is best to do this in a Python virtual environment:

python -m venv venv
. venv/bin/activate

pip install abcgan

It requires Python 3.8+ and uses PyTorch 1.8+.

Downloading the tutorials

The tutorials are available as Jupyter notebooks and are located along with sample data in the tutorial directory in the github repository. You can download these tutorials with the abcgan-cmd program which is installed along with the abcgan package.

After downloading the tutorials, install the required packages listed in tutorials/requirements.txt using pip. You can then start Jupyter Lab and load the tutorial notebook tutorial/demo.ipynb.

The data files and models used in the tutorials are approximately 600Mb in size. Use the -m flag to abcgan-cmd to download them with the tutorials.

abcgan-cmd -m download tutorials
pip install -r tutorials/requirements.txt

jupyter lab 

Running the tutorials on Binder

You can run the tutorial notebooks at any time on Binder. A Docker container will be automatically created with the abcgan package and tutorials.

Binder

https://mybinder.org/v2/gh/sri-geospace/atmosense-abcgan/HEAD?labpath=tutorials%2Fdemo.ipynb

Contents

The content of this repository entails:

  • Source code inside 'src/abcgan'
  • Test code inside 'test'
  • Tutorials inside 'tutorials'
  • Pre-trained models inside 'models'
  • Helper scripts in 'contrib'

Installation from source

Install Pytorch from the Pytorch page Pytorch installation will be specific to your system configuraiton depending on gpu availability and drivers.

git clone https://github.com/sri-geospace/atmosense-abcgan.git

For end user installation:

pip install atmosense-abcgan 

For development:

pip install -e atmosense-abcgan 

Building the documentation

The package documentation is available on Read the Docs. You may also build the docs locatlly. The configuration files and document sources are in the docs/ directory, including a requirements file with the necessary dependencies.

cd docs
pip install -r requirements.txt
make html

The API source files are generated using api-doc:

sphinx-apidoc -o . ../src/abcgan

Note that .rst files are generated from the installed module not the source tree; to reference local changes make sure the installation is performed with pip install -e .

Add the lines to conf.py if not there already:

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   abcgan
   modules

Finally, build the docs:

make clean
make html

Run tests

Make sure to have completed the development. From the top level directory 'atomesense-abcgan' run:

python -m unittest

Using the library

This is a library that can be imported directly in python and used. For example usage see 'tutorials/demo.py'.

Contact

For questions please contact Andrew Silberfarb andrew.silberfarb@sri.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abcgan-4.0.0.tar.gz (34.5 MB view details)

Uploaded Source

Built Distribution

abcgan-4.0.0-py3-none-any.whl (13.4 MB view details)

Uploaded Python 3

File details

Details for the file abcgan-4.0.0.tar.gz.

File metadata

  • Download URL: abcgan-4.0.0.tar.gz
  • Upload date:
  • Size: 34.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for abcgan-4.0.0.tar.gz
Algorithm Hash digest
SHA256 95287aa2d8ea928d141f23762325a30da0fafcfafdadfc40782adce5f5e47b25
MD5 c6e10ecbb9abf80582d1fee3cd37cffa
BLAKE2b-256 6474d445ea3d44048371148d52b6402e2cb9847c6f34a2ad4941e0b94f62fbf1

See more details on using hashes here.

File details

Details for the file abcgan-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: abcgan-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for abcgan-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1be2d472d8e13e7dca66738bff5ba4b0a37faef199ea8ca5d7a2cbba6ef4ad6f
MD5 d65b8052c135cc5c6881c41f2878f2f1
BLAKE2b-256 c6eaf89fe3dbc73afea55a617747f5014b1050a240de6dc4e67ed817264ecd82

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page