Skip to main content

Machine learning benchmark for lightning prediction with GOES16

Project description

GOES 16 Lightning Count Prediction Benchmark

Build Status

The GOES 16 Lightning Count Prediction benchmark is a deep learning benchmark for HPC systems used for atmospheric science problems.

Contributors

  • David John Gagne
  • Bill Anderson
  • Gunther Wallach

Requirements

The code is designed to run on Python 3.6 and 3.7. It requires the following Python libraries:

  • numpy
  • scipy
  • pandas
  • xarray
  • tensorflow>=2.0.0
  • scikit-learn
  • pyproj
  • dask distributed (for data processing)
  • ipython
  • jupyter (for interactive visualization of neural networks)

Setup from Scratch

  • Install Python 3.7 on your machine. I recommend the Miniconda Python installer available here.

  • Create a benchmark environment: conda create -n goes16 python=3.7

  • Once the environment is installed activate it on your machine: source activate goes16

  • Install the needed Python libraries from conda

conda install -c conda-forge --yes \
    pip \
    ipython \
    jupyter \
    numpy \
    scipy \
    matplotlib \
    xarray \
    netcdf4 \
    pandas \
    pyyaml \
    dask \
    distributed \
    scikit-learn \
    pyproj
  • Make sure the CUDA kernel and CUDA toolkit are installed on your system and know the path and versions.

  • Install the tensorflow-gpu binary (if installing tensorflow 1.15) or tensorflow binary (if tensorflow 2). For more detailed installation instructions visit the tensorflow website.

# If you plan to use tensorflow 2
pip install tensorflow

Run Benchmark Script

  • Clone the goes16ci git repository to your home directory.
cd ~
git clone https://github.com/NCAR/goes16ci.git
cd goes16ci
  • Install the goes16ci library
pip install .
  • Download the GOES16 patch files. You will need about 8 GB free to download and untar the data.
python download_data.py
  • Run the benchmark script. The script will output trained neural networks and a yaml file with the timing information for each step.
python goes16_deep_learning_benchmark.py
  • If you want to modify the neural network or other properties of the script, you can make a copy of benchmark_config_default.yml and modify it. To run the script with the new config file:
python goes16_deep_learning_benchmark.py -c benchmark_config_default.yml

Setup on Cheyenne/Casper

  • Clone the git repo to your home directory
cd ~
git clone https://github.com/NCAR/goes16ci.git
cd goes16ci
  • Create a link to the patch data on GLADE
ln -s /glade/p/cisl/aiml/dgagne/goes16_nc/ABI_patches_20190315 data
  • Modify the goes16_benchmark_casper.sh script with your account number.

  • Submit the benchmark script to the casper queue: sbatch goes16_benchmark_casper.sh

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

goes16ci-0.1.3.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

goes16ci-0.1.3-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file goes16ci-0.1.3.tar.gz.

File metadata

  • Download URL: goes16ci-0.1.3.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for goes16ci-0.1.3.tar.gz
Algorithm Hash digest
SHA256 10cb5544d87bafc5493af76f15b3cb03b192116a139df7e76c531a5a4acc3aaf
MD5 bd79062f8842e295eb37c793d601b446
BLAKE2b-256 04da74d52fff6e303ed4085ae861796f458efa686eddbd845c0557678c6218ce

See more details on using hashes here.

File details

Details for the file goes16ci-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: goes16ci-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for goes16ci-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fcfa1d3ce60d2d4a356bda3cf8046e6e910b1bf8233efb6abf74e625a4b273b7
MD5 9d904168665d92296e5da45c16a31fab
BLAKE2b-256 2b6129efa23f37e7c5cc4041e8f3b36d15b369806d4179ea9d9db9de359b053a

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