GTC2017
This release version corresponds to the GTC2017 presentation.
Establish FRNN code workflow similar to that characteristic of typical distributed deep learning projects. First, the raw data is preprocessed and normalized. The pre-processing step involves cutting, resampling, and structuring the data - as well as determining and validating the disruptive properties of the shots considered. Various options for normalization are implemented.
Keep structure of Fusion Recurrent Neural Net (FRNN) deep learning code modular, with 4 main modules:
-
models: Python classes necessary to construct, train and optimize deep RNN models. Including a distributed data-parallel implementation of mini-batch gradient descent with MPI
-
preprocessors: signal preprocessing and normalization classes, including the methods necessary to prepare physical data for stateful RNN training.
-
primitives: contains abstractions specific to the domain implemented as Python classes. For instance: Shot - a measurement of plasma current as a function of time. The Shot object contains attributes corresponding to unique identifier of a shot, disruption time in milliseconds, time profile of the shot converted to time-to- disruption values, validity of a shot (whether plasma current reaches a certain value during the shot), etc
-
utilities: a set of auxiliary functions for preprocessing, performance evaluation and learning curves analysis