Skip to content

WIP: This merge request is an ongoing work to include onnxRuntime in athena as a platform to run machine learning algorithms

OnnxRuntime has been proven to be extremely successful as a machine learning platform. It can run models generated by any framework (e.g. PyTorch, tensorFlow, Keras, etc.) converted to .onnx format. Above all it promises to provide thread safety while running inferences where tensorFlow, Keras fail. This merge is a 1st attempt integrade a commercial machine learning framework in athena. It has a cmake build that compiles in an environment like athena (tested and confirmed). We need some understanding of how to inform athena about the include (.h) and the shared library file (.so) which are required by a code using onnxruntime to get compiled. adding @afarbin , @tsulaia , @akraszna

Detailed Description:

setupATLAS lsetup "cmake 3.14.3" lsetup "lcgenv -p LCG_96 x86_64-centos7-gcc8-opt gcc" git clone --recursive https://github.com/Microsoft/onnxruntime cd onnxruntime ./build.sh --config RelWithDebInfo --build_shared_lib --parallel

You can play with its c++ api by just reading a .onnx model you can find a c++ code and .onnx model in my lxplus public space /afs/cern.ch/work/d/dbakshig/public/Onnx/C_Api_Sample.cpp /afs/cern.ch/work/d/dbakshig/public/Onnx/saved_mnist/saved_model.onnx

and a CMakeLists.txt to compile the C_Api_Sample.cpp /afs/cern.ch/work/d/dbakshig/public/Onnx/CMakeLists.txt

Issues related to integrating onnxruntime to athena will be discussed in this jira exclusively opened to address this https://its.cern.ch/jira/browse/AML-3 . It would be great if the developpers/experts can respond there

Thanks in advance

Edited by Debottam Bakshi Gupta

Merge request reports