22 #include <unordered_map>
24 #include "ngraph/except.hpp"
25 #include "onnx_import/core/operator_set.hpp"
36 : ngraph_error{(domain.empty() ?
"" : domain +
".") + name}
44 : ngraph_error{domain}
53 const std::string& domain)
54 : ngraph_error{
"Unsupported operator version: " +
55 (domain.empty() ?
"" : domain +
".") + name +
":" +
56 std::to_string(version)}
66 static constexpr
const int LATEST_SUPPORTED_ONNX_OPSET_VERSION = ONNX_OPSET_VERSION;
73 static OperatorSet get_operator_set(
const std::string& domain,
74 std::int64_t version = -1)
76 return instance()._get_operator_set(domain, version);
79 static void register_operator(
const std::string& name,
81 const std::string& domain,
84 instance()._register_operator(name, version, domain, std::move(fn));
87 static bool is_operator_registered(
const std::string& name,
89 const std::string& domain)
91 return instance()._is_operator_registered(name, version, domain);
109 std::unordered_map<std::string,
110 std::unordered_map<std::string, std::map<std::int64_t, Operator>>>
121 void _register_operator(
const std::string& name,
122 std::int64_t version,
123 const std::string& domain,
125 OperatorSet _get_operator_set(
const std::string& domain, std::int64_t version);
127 bool _is_operator_registered(
const std::string& name,
128 std::int64_t version,
129 const std::string& domain);
132 const std::string OPENVINO_ONNX_DOMAIN =
"org.openvinotoolkit";