-
Notifications
You must be signed in to change notification settings - Fork 321
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new proposals for GSOC ROOT projects (#1540)
- Loading branch information
Showing
3 changed files
with
80 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
title: SOFIE Developments - Inference Code Generation for Deep Learning models | ||
layout: gsoc_proposal | ||
project: ROOT/TMVA | ||
difficulty: medium | ||
duration: 350 | ||
mentor_avail: May-September | ||
year: 2024 | ||
organization: | ||
- CERN | ||
--- | ||
|
||
## Description | ||
|
||
The 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 analysis and | ||
applications. Currently, we are developing a fast inference system in TMVA, called SOFIE, that takes takes ONNX model as input and produces compilation-ready standalone C++ scripts as output. These scripts will then provide users an easy way to deploy their deep learning models in their physics software and analysis frameworks. | ||
|
||
## Task ideas and expected results | ||
|
||
This project will focus on development of some missing deep learning operations which will allow to build more complex networks within TMVA. Specifically, we propose to implement the inference | ||
functionality of some ONNX operators, particullarly those used in transformer models, in the code generation format. The student can choose to build this based on existing implementations in TMVA or other existing machine learning software tools or build their own from scratch. | ||
The expected result is a working implementation of modular operators classes that implement the operators as defined by the ONNX standards in the code generation format. The project requires also to write the corresponding unit tests need to validate the written code | ||
|
||
|
||
## Evaluation Task | ||
|
||
Interested students please contact the mentors for a warm-up and evaluation task. | ||
|
||
## Requirements | ||
* C++, familiarity with machine learning operators | ||
|
||
## Mentors | ||
* **[Lorenzo Moneta](mailto:[email protected])** | ||
* [Sanjiban Sengupta](mailto:[email protected]) | ||
|
||
|
||
## Links | ||
* [ROOT](https://root.cern/) | ||
* [TMVA](https://root.cern/manual/tmva/) | ||
* [TMVA/SOFIE](https://github.com/root-project/root/blob/master/tmva/sofie/README.md) | ||
* [ONNX](https://onnx.ai) | ||
* [ONNX Operators](https://github.com/onnx/onnx/blob/master/docs/Operators.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: ROOT - Developments - Improve Python interface for HIstograms | ||
layout: gsoc_proposal | ||
project: ROOT | ||
difficulty: medium | ||
duration: 350 | ||
mentor_avail: May-September | ||
year: 2024 | ||
organization: | ||
- CERN | ||
--- | ||
|
||
## Description | ||
|
||
The goal of this project is to enhance the Python interface to make more "pythonic", i.e. easier to use, popular classes in ROOT such as histograms and graphs. Within Python it is natural to use the native language feature to configure the methods. | ||
|
||
## Task ideas and expected results | ||
|
||
The initial task will be to develop easy conversions of histograms and graph ROOT classes to Numpy arrays. Afterwards it is expected to implement the Universal Histogram Interface (UHI, see [https://uhi.readthedocs.io/en/latest/](https://uhi.readthedocs.io/en/latest/) ) for the ROOT histograms. This will allow interoperability in Python between different histogram packages. | ||
Tests and tutorial examples are also expected to be developed, including the migration of existing tutorials to the pythonizations developed in this project. | ||
|
||
|
||
## Evaluation Task | ||
|
||
Interested students please contact the mentors for a warm-up and evaluation task. | ||
|
||
## Requirements | ||
Good knowledge of Python and C++, familiarity with machine learning software tools | ||
|
||
## Mentors | ||
* **[Lorenzo Moneta](mailto:[email protected])** | ||
* [Jonas Rembser](mailto:[email protected]) | ||
|
||
|
||
## Links | ||
* [ROOT](https://root.cern/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,4 +39,5 @@ layout: plain | |
* Vassil Vassilev [[email protected]](mailto:[email protected]) CompRes | ||
* Valentin Volkl [[email protected]](mailto:[email protected]) CERN | ||
* Petro Zarytskyi [[email protected]](mailto:[email protected]) CompRes | ||
|
||
* Lorenzo Moneta [[email protected]](mailto:[email protected]) CERN | ||
* Sanjiban Sengupta [[email protected]](mailto:[email protected]) CERN |