ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthOnnx
AthOnnxComps
src
OnnxRuntimeSessionToolCPU.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
AthOnnxComps/OnnxRuntimeSessionToolCPU.h
"
6
#include "
PathResolver/PathResolver.h
"
7
8
AthOnnx::OnnxRuntimeSessionToolCPU::OnnxRuntimeSessionToolCPU
(
const
std::string& name )
9
:
asg
::
AsgTool
( name)
10
{
11
}
12
13
StatusCode
AthOnnx::OnnxRuntimeSessionToolCPU::initialize
()
14
{
15
// Get the Onnx Runtime service.
16
ATH_CHECK
(
m_onnxRuntimeSvc
.retrieve());
17
ATH_MSG_INFO
(
" OnnxRuntime release: "
<< OrtGetApiBase()->GetVersionString());
18
Ort::SessionOptions sessionOptions;
19
sessionOptions.SetGraphOptimizationLevel( GraphOptimizationLevel::ORT_ENABLE_ALL );
20
sessionOptions.DisablePerSessionThreads();
// use global thread pool.
21
22
// Create the session.
23
ATH_MSG_INFO
(
"Asking model from: "
<<
m_modelFileName
.value());
24
std::string modelFilePath =
PathResolver::find_calib_file
(
m_modelFileName
.value());
25
ATH_MSG_INFO
(
"Loading model from: "
<< modelFilePath);
26
m_session
= std::make_unique<Ort::Session>(
m_onnxRuntimeSvc
->env(), modelFilePath.c_str(), sessionOptions);
27
28
return
StatusCode::SUCCESS;
29
}
30
31
Ort::Session&
AthOnnx::OnnxRuntimeSessionToolCPU::session
()
const
32
{
33
return
*
m_session
;
34
}
35
36
bool
AthOnnx::OnnxRuntimeSessionToolCPU::supportsAsync
()
const
37
{
38
return
false
;
39
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
OnnxRuntimeSessionToolCPU.h
PathResolver.h
AthOnnx::OnnxRuntimeSessionToolCPU::OnnxRuntimeSessionToolCPU
OnnxRuntimeSessionToolCPU()=delete
AthOnnx::OnnxRuntimeSessionToolCPU::m_session
std::unique_ptr< Ort::Session > m_session
Definition
OnnxRuntimeSessionToolCPU.h:45
AthOnnx::OnnxRuntimeSessionToolCPU::supportsAsync
virtual bool supportsAsync() const override final
Check if asynchronous inference is supported (No, it isn't).
Definition
OnnxRuntimeSessionToolCPU.cxx:36
AthOnnx::OnnxRuntimeSessionToolCPU::session
virtual Ort::Session & session() const override final
Create Onnx Runtime session.
Definition
OnnxRuntimeSessionToolCPU.cxx:31
AthOnnx::OnnxRuntimeSessionToolCPU::initialize
virtual StatusCode initialize() override final
Initialize the tool.
Definition
OnnxRuntimeSessionToolCPU.cxx:13
AthOnnx::OnnxRuntimeSessionToolCPU::m_onnxRuntimeSvc
ServiceHandle< IOnnxRuntimeSvc > m_onnxRuntimeSvc
Definition
OnnxRuntimeSessionToolCPU.h:44
AthOnnx::OnnxRuntimeSessionToolCPU::m_modelFileName
Gaudi::Property< std::string > m_modelFileName
Definition
OnnxRuntimeSessionToolCPU.h:43
PathResolver::find_calib_file
static std::string find_calib_file(const std::string &logical_file_name)
Definition
PathResolver.cxx:272
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition
AsgTool.cxx:58
asg
Definition
DataHandleTestTool.h:28
Generated on
for ATLAS Offline Software by
1.17.0