Deep Learning and General Machine Learning
Machine Learning and Deep Learning are increasingly used to analyze scientific data, in fields as diverse as neuroscience, climate science and particle physics. In this page you will find links to examples of scientific use cases using deep learning at NERSC, information about what deep learning packages are available at NERSC, and details of how to scale up your deep learning code on Cori to take advantage of the compute power available from Cori's KNL nodes.
Science Use Cases
We have assembled some examples of machine learning projects being carried out at NERSC, in most cases including links to the codebase. These cover a variety of science areas, and in many cases showcase the use of Tensorflow optimised for the KNL architecture.
- Using deep networks for HEP physics analyses
- Using deep networks for neutrino telescopes
- CosmoGAN: Deep networks for generating cosmology mass maps
- A use of SciKitLearn by Juliette Ugirumurera can be found in this iPython notebook. The code uses SciKitLearn to construct, train and evaluate the network, and was the winning code for the SLURM log data challenge in the 2017 Data Day Competition.
- The winning code for the Astronomy challenge in the 2017 Data Day Competition by Yisha Sun uses TensorFlow to set up and train the network. The code can be found in this github repository.
Deep Learning Software
NERSC supports several software frameworks for machine learning and deep learning. If there is a framework you would like to see evaluated and supported at NERSC, please let us know.
Most standard machine learning and deep learning packages are available via the anaconda installation on both Edison and Cori. Anaconda is the easiest way to access and use these frameworks, and is the way we recommend most users get started with machine learning at NERSC. The packages include:
Caffe is also available in a separate module - simply use module load caffe/master
As well as the version available under the anaconda distribution, we also provide a version that has been optimized to run very efficiently on Intel architectures. Please see Using TensorFlow at NERSC for more details.
Resources for learning more about machine learning for science
- Machine learning and deep learning is being used in many scientific fields at LBNL. This article describes in depth some of the opportunities (and challenges!) involved in using deep learning to enable scientific discovery.
- For an overview of how machine learning is impacting scientific discovery, watch the video "Deep Learning for Science" by NERSC's Prabhat from the 2017 HPC Developer Conference.
- LBNL staff participated in NIPS 2017. This article links to papers presented by lab staff on several deep learning topics.
- For more detail on optimizing deep learning architectures for CPUs, see this blog post from Intel.