ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimAlgorithms
FPGATrackSimAlgorithms
OnnxRuntimeBase.h
Go to the documentation of this file.
1
2
#include <vector>
3
#include <map>
4
#include <Eigen/Dense>
5
#include <onnxruntime_cxx_api.h>
6
#include <TString.h>
7
8
using
NetworkBatchInput
=
9
Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>;
10
11
// General class that sets up the ONNX runtime framework for loading a ML model
12
// and using it for inference.
13
class
OnnxRuntimeBase
{
14
public
:
15
// int m_totalInputs;
16
17
TString
m_fileName
;
18
// int n_hits;
19
// std::string m_trackType;
20
// std::string m_order;
21
// bool m_scaled;
22
23
OnnxRuntimeBase
(TString fileName);
24
OnnxRuntimeBase
();
25
~OnnxRuntimeBase
(){}
26
void
initialize
(TString);
27
28
std::vector<float>
runONNXInference
(std::vector<float>& inputTensorValues)
const
;
29
std::vector<std::vector<float>>
runONNXInference
(std::vector<std::vector<float> >& inputTensorValues)
const
;
30
std::vector<std::vector<float>>
runONNXInference
(
NetworkBatchInput
& inputTensorValues)
const
;
31
std::map<int, Eigen::MatrixXf>
runONNXInferenceMultilayerOutput
(
NetworkBatchInput
& inputTensorValues)
const
;
32
33
const
std::vector<int64_t>&
getInputNodesDims
(){
return
m_inputNodeDims
;};
34
const
std::vector<int64_t>&
getOutputNodesDims
(){
return
m_outputNodeDims
;};
35
36
private
:
38
std::unique_ptr<Ort::Session>
m_session
;
39
40
std::vector<const char*>
m_inputNodeNames
;
41
std::vector<int64_t>
m_inputNodeDims
;
42
std::vector<const char*>
m_outputNodeNames
;
43
std::vector<int64_t>
m_outputNodeDims
;
44
45
std::unique_ptr< Ort::Env >
m_env
;
46
47
};
48
NetworkBatchInput
Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > NetworkBatchInput
Definition
OnnxRuntimeBase.h:8
OnnxRuntimeBase::getInputNodesDims
const std::vector< int64_t > & getInputNodesDims()
Definition
OnnxRuntimeBase.h:33
OnnxRuntimeBase::m_env
std::unique_ptr< Ort::Env > m_env
Definition
OnnxRuntimeBase.h:45
OnnxRuntimeBase::OnnxRuntimeBase
OnnxRuntimeBase()
Definition
OnnxRuntimeBase.cxx:14
OnnxRuntimeBase::OnnxRuntimeBase
OnnxRuntimeBase(TString fileName)
Definition
OnnxRuntimeBase.cxx:9
OnnxRuntimeBase::m_inputNodeNames
std::vector< const char * > m_inputNodeNames
Definition
OnnxRuntimeBase.h:40
OnnxRuntimeBase::getOutputNodesDims
const std::vector< int64_t > & getOutputNodesDims()
Definition
OnnxRuntimeBase.h:34
OnnxRuntimeBase::m_outputNodeDims
std::vector< int64_t > m_outputNodeDims
Definition
OnnxRuntimeBase.h:43
OnnxRuntimeBase::~OnnxRuntimeBase
~OnnxRuntimeBase()
Definition
OnnxRuntimeBase.h:25
OnnxRuntimeBase::runONNXInferenceMultilayerOutput
std::map< int, Eigen::MatrixXf > runONNXInferenceMultilayerOutput(NetworkBatchInput &inputTensorValues) const
Definition
OnnxRuntimeBase.cxx:162
OnnxRuntimeBase::m_inputNodeDims
std::vector< int64_t > m_inputNodeDims
Definition
OnnxRuntimeBase.h:41
OnnxRuntimeBase::runONNXInference
std::vector< float > runONNXInference(std::vector< float > &inputTensorValues) const
Definition
OnnxRuntimeBase.cxx:84
OnnxRuntimeBase::m_fileName
TString m_fileName
Definition
OnnxRuntimeBase.h:17
OnnxRuntimeBase::m_outputNodeNames
std::vector< const char * > m_outputNodeNames
Definition
OnnxRuntimeBase.h:42
OnnxRuntimeBase::m_session
std::unique_ptr< Ort::Session > m_session
ONNX runtime session / model properties.
Definition
OnnxRuntimeBase.h:38
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0