Development of LSTM and GRU layers in TMVA
Description
Toolkit for Multivariate Analysis (TMVA) is a multi-purpose machine learning toolkit integrated into the ROOT scientific software framework, used in many particle physics data analyses and applications. In the past years we have expanded TMVA’s capabilities to include various deep learning architectures: Fully-connected (DNN), Convolutional (CNN) and Recurrent (RNN) Neural Networks. Currently the RNN implementation includes only the standard (vanilla) type layer. This summer we would like to expand the implementations to include the LSTM and GRU layer types. The candidate is expected to develop CPU and GPU based implementations.
Both layer types have very promising applications in particle physics such as jet tagging and particle tracking. For more information see this publication.
Task ideas
- Implementation of the forward and backward pass for the LSTM and GRU layer types
- Optimization for the CPU and GPU platform
- In collaboration with the GSoC student for the sister project “Implementation of ONNX operators for Tensor Manipulation and Deep Learning”, implement ONNX operators for “RNN”, “LSTM” and “GRU”.
Expected results
- Working implementation of the LSTM and GRU layer types
- Working implemnetation of ONNX operators for “RNN”, “LSTM” and “GRU” in teamwork.
- Runnable on CPU and GPU with performance comparable to existing implementations
- Demonstrating solving a ML task using the implementation
Requirements
C++ skills, experience with large scale software development and machine learning tools is a plus.