ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
FlavorTagInference
Root
NNSharingTritonSvc.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
FlavorTagInference/NNSharingTritonSvc.h
"
6
#include "
FlavorTagInference/SaltModelTriton.h
"
7
#include "
PathResolver/PathResolver.h
"
8
9
namespace
FlavorTagInference
{
10
11
std::shared_ptr<const GNN>
NNSharingTritonSvc::get
(
12
const
std::string& nn_name,
13
const
GNNOptions
& opts
14
) {
15
NNHashing::NNKey
key{nn_name, opts};
16
if
(
m_gnns
.count(key)) {
17
ATH_MSG_INFO
(
"getting "
<< nn_name <<
" from cached NNs"
);
18
return
m_gnns
.at(key);
19
}
else
if
(
m_base_gnns
.count(nn_name) ) {
20
ATH_MSG_INFO
(
"adapting "
<< nn_name <<
" from cached NNs, new opts"
);
21
auto
nn = std::make_shared<const GNN>(*
m_base_gnns
.at(nn_name), opts);
22
m_gnns
[key] = nn;
23
return
nn;
24
}
25
std::shared_ptr<const GNN> nn;
26
if
(
auto
it =
m_tritonPathToName
.find(nn_name); it!=
m_tritonPathToName
.end()) {
27
ATH_MSG_INFO
(
"building "
<< nn_name <<
" from onnx file to run with Triton"
);
28
//using namespace FlavorTagInference;
29
std::string fullPathToOnnxFile =
PathResolverFindCalibFile
(nn_name);
30
auto
saltSharedTriton = std::make_shared<const SaltModelTriton>(fullPathToOnnxFile
31
, it->second
32
,
m_tritonTimeout
33
,
m_tritonPort
34
,
m_tritonUrl
35
,
m_tritonUseSsl
36
,
m_tritonBearer
);
37
ISaltModelPtr
saltShared = saltSharedTriton;
38
nn = std::make_shared<const GNN>(saltShared, opts);
39
}
40
m_base_gnns
[nn_name] = nn;
41
m_gnns
[key] = nn;
42
return
nn;
43
}
44
StatusCode
NNSharingTritonSvc::initialize
() {
45
return
StatusCode::SUCCESS;
46
}
47
}
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
NNSharingTritonSvc.h
PathResolver.h
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition
PathResolver.cxx:325
SaltModelTriton.h
FlavorTagInference::NNSharingTritonSvc::initialize
virtual StatusCode initialize() override
Definition
NNSharingTritonSvc.cxx:44
FlavorTagInference::NNSharingTritonSvc::m_tritonBearer
Gaudi::Property< std::string > m_tritonBearer
Definition
NNSharingTritonSvc.h:36
FlavorTagInference::NNSharingTritonSvc::get
virtual std::shared_ptr< const GNN > get(const std::string &nn_name, const GNNOptions &opts) override
Definition
NNSharingTritonSvc.cxx:11
FlavorTagInference::NNSharingTritonSvc::m_base_gnns
std::unordered_map< std::string, val_t > m_base_gnns
Definition
NNSharingTritonSvc.h:25
FlavorTagInference::NNSharingTritonSvc::m_tritonUseSsl
Gaudi::Property< bool > m_tritonUseSsl
Definition
NNSharingTritonSvc.h:32
FlavorTagInference::NNSharingTritonSvc::m_tritonPathToName
Gaudi::Property< std::map< std::string, std::string > > m_tritonPathToName
Definition
NNSharingTritonSvc.h:34
FlavorTagInference::NNSharingTritonSvc::m_tritonUrl
Gaudi::Property< std::string > m_tritonUrl
Definition
NNSharingTritonSvc.h:30
FlavorTagInference::NNSharingTritonSvc::m_gnns
std::unordered_map< NNHashing::NNKey, val_t, NNHashing::NNHasher > m_gnns
Definition
NNSharingTritonSvc.h:24
FlavorTagInference::NNSharingTritonSvc::m_tritonPort
Gaudi::Property< int > m_tritonPort
Definition
NNSharingTritonSvc.h:28
FlavorTagInference::NNSharingTritonSvc::m_tritonTimeout
Gaudi::Property< float > m_tritonTimeout
Definition
NNSharingTritonSvc.h:26
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition
CaloClusterLoader.h:27
FlavorTagInference::ISaltModelPtr
std::shared_ptr< const ISaltModel > ISaltModelPtr
Definition
ISaltModel.h:56
FlavorTagInference::GNNOptions
Definition
GNNOptions.h:15
FlavorTagInference::NNHashing::NNKey
Definition
hash.h:27
Generated on
for ATLAS Offline Software by
1.17.0