Deep Learning and General Machine Learning
NERSC supports several software frameworks for machine learning and deep learning (and it is growing!). Most of these are available via the anaconda installation on both Edison and Cori, and is the easiest way to access and use these frameworks. This contains:
As well as the version available under the anaconda distribution, we also provide an up-to-date (vanilla) version in a separate tensorflow module, as well as a version that has been optimized to run very efficiently on Intel architectures. Please see Using TensorFlow at NERSC for more details.
Caffe is available in a separate module - simply use module load caffe/master
We also provide a "deeplearning" module, which contains all of these python-based frameworks (and additionally Lasagne) - however, we recommend you use the versions available in anaconda as that provides a seamless integration with all other provided python packages.
The specific frameworks included in deeplearning module are:
- TensorFlow (see Using TensorFlow at NERSC)
- Lasagne (built on top of Theano)
- Keras (built on top of Theano or TensorFlow)
To use the python based deep learning frameworks based on Python 2.7, on Cori or Edison enter the following command in the shell:
module load deeplearning
Python 3.5 support for the deep learning module is available on Cori with:
module load deeplearning/3.5
Then you can proceed to write python scripts that use any of the above libraries as they are documented.
To deploy any of these tools on the batch system, please follow the running python scripts instructions
The deeplearning environment contains other common tools you might need such as (please contact us if there are other common tools you would like):
- ipython / jupyter
- mpi4py (only on compute nodes and you must set the environment variable USE_DL_MPI)
To use the deeplearning module in your ipython notebook:
1. Make sure you have module loaded deeplearning (from Cori) recently to get the most recent kernel
2. If you are not using TensorFlow, log on to https://jupyter.nersc.gov and use the environment by changing your kernel to "deeplearning" like so:
Do not select "Python [deeplearning] ". Select "deeplearning"
3. If you would like to use TensorFlow, please use https://jupyter-dev.nersc.gov.
Please be aware that jupyter-dev.nersc.gov is an EXPERIMENTAL service meaning that it may be unavailable or become unreliable without notice, and that users are cautioned not to make plans to use it as an integral part of their research activities. We are working on developing a Jupyter on Cori as a service, but be aware it is a WORK IN PROGRESS
We offer a number of different versions of Tensorflow at NERSC. Depending on the level of compute performance you require, you can chose between the Tensorflow version (1.1) available in the standard anaconda distribution of python we have installed on our systems, or a specific version of Tensorflow that is more up-to-date (see "module avail tensorflow"). Note that we recommend using the versions of Tensorflow that have been compiled to include specific optimizations contributed by the Intel… Read More »
This page provides example code, datasets and recipes for running HEP Physics analyses using deep neural networks on Cori. The current scripts were those used for the CNN classification and timing studies reported at this ACAT talk. Datasets These contain simulated data with an ATLAS-like detector. Data is available from http://portal.nersc.gov/project/mpccc/wbhimji/RPVSusyData/ . A README is provided in the directory. Currently data binned into 64x64 images is provided. Unbined data will… Read More »