0%

root的TMVA如何与pytorch结合使用

root的TMVA如何与pytorch结合使用

1.什么是TMVA?

The Toolkit for Multivariate Data Analysis with ROOT TMVAprovides a machine learning environment for the processing and evaluation of multivariate classification, both binary and multi-class, and regression techniques targeting applications in high-energy physics. The package includes:

  • Neural networks
  • Deep networks
  • Multilayer perceptron
  • Boosted/Bagged decision trees
  • Function discriminant analysis (FDA)
  • Multidimensional probability density estimation (PDE - range-search approach)
  • Multidimensional k-nearest neighbor classifier
  • Predictive learning via rule ensembles (RuleFit)
  • Projective likelihood estimation (PDE approach)
  • Rectangular cut optimisation
  • Support Vector Machine (SVM)

2.什么是pytorch?

PyTorch is a Python-based scientific package supporting automatic differentiation. An open-source machine learning framework that accelerates the path from research prototyping to production deployment.

3.为什么要将TMVA与pytorch集合?

TMVA already has a PyKeras interface which we all love, especially with Keras’ simple high-level tensor-flow API. If your work involves some elementary experiments, Keras maybe the goto framework due to its plug and play spirit.

But things get interesting when one requires low level control and flexibility. That’s when the argument for Keras starts losing water. PyTorch on the other hand is amazing in terms of control, flexibility and raw power that it can provide to the user. Its lower-level approach is better suited for the more mathematically-inclined users.

PyTorch is widely used among researchers and hence has a large community around it.

  • ROOT + PyTorch: Allows to integrate ROOT methods which are good at handling HEP data and PyTorch for Machine Learning.
  • Power & Flexibility: Neural Nets are not easy to develop using TMVA, as they require complex configuration strings. Even with PyKeras Interface, designing custom layers is not feasible. PyTorch offers the power and flexibility to achieve complex models with custom layers, optimizers, loss functions and training methodologies.
  • Ease of Debugging: PyTorch models make use of dynamic computation graphs and are based on eager execution. This makes it easier to use debugging tools like pdb.
  • Performance: PyTorch is extremely fast due to its highly optimized C++ backend.

4.应用实例

https://anirudhdagar.ml/gsoc/tmva/pytorch/root/2020/08/21/TMVA-PyTorch-Tutorial.html

https://github.com/root-project/root/tree/master/tutorials/tmva

Donate comment here.

欢迎关注我的其它发布渠道