Implementation of ONNX operators for Tensor Manipulation and Deep Learning

Description

ROOT is proposing a new Deep Learning framework in the TMVA package. As part of the proposal, TMVA will support fast inference of pretrained neural network models, defined with the ONNX format. The ONNX format designed to be able to describe any model generated from mainstream Deep Learning Frameworks, such as Tensorflow, PyTorch, and MXNet. ONNX models are defined with operators, with each operator representing a fundamental operation on the tensor in the computational graph. These operators range from the very simple and fundamental ones on tensor manipulation (such as “Concat”), to more complex ones like “BatchNormalization” and “LSTM”. Refer to this important document for a full list of definitions on ONNX operators.

This GSoC project proposes to implement a subset of these ONNX operators for TMVA in C++, focusing on Tensor Manipulation and basic Machine Learning operations, with an extension to collaborate with the other GSoC student for TMVA to implement more complex RNN-related operators.

Task ideas

Expected results

Requirements

C++ skills and knowledge of basic Machine Learning concepts, experience with large scale software development and low-level implementation of fundamental Data Science and Machine Learning operations is a plus.

Mentors

Corresponding Project

Participating Organizations