10 #include "onnx/onnx_pb.h"
11 #include "onnx/onnx-operators_pb.h"
12 #include "onnx/defs/schema.h"
19 namespace onnxruntime {
22 std::unordered_map<std::string, std::map<ONNX_NAMESPACE::OperatorSetVersion, ONNX_NAMESPACE::OpSchema>>>;
41 using ISchemaRegistry::GetSchema;
45 const ONNX_NAMESPACE::OpSchema* latest_schema =
nullptr;
47 GetSchemaAndHistory(key, maxInclusiveVersion, domain, &latest_schema, &earliest_opset_where_unchanged);
49 assert(latest_schema ==
nullptr || (latest_schema->SinceVersion() <= maxInclusiveVersion &&
50 earliest_opset_where_unchanged == latest_schema->SinceVersion()));
57 int maxInclusiveVersion,
59 const ONNX_NAMESPACE::OpSchema** latest_schema,
60 int* earliest_opset_where_unchanged)
const = 0;
80 int baseline_opset_version,
87 std::vector<ONNX_NAMESPACE::OpSchema>& schemas,
89 int baseline_opset_version,
95 const ONNX_NAMESPACE::OpSchema** latest_schema,
96 int* earliest_opset_where_unchanged)
const override;
103 common::Status RegisterOpSchema(ONNX_NAMESPACE::OpSchema&& op_schema);
105 common::Status RegisterOpSchemaInternal(ONNX_NAMESPACE::OpSchema&& op_schema);
130 void RegisterRegistry(std::shared_ptr<IOnnxRuntimeOpSchemaCollection> registry);
154 const ONNX_NAMESPACE::OpSchema** latest_schema,
155 int* earliest_opset_where_unchanged)
const override;
158 void GetDomainToVersionMapForRegistries(
DomainToVersionMap& domain_version_map,
bool is_onnx_only)
const;
160 std::deque<std::shared_ptr<IOnnxRuntimeOpSchemaCollection>> registries;
void RegisterRegistry(std::shared_ptr< IOnnxRuntimeOpSchemaCollection > registry)
OnnxRuntimeOpSchemaRegistry()=default
const ONNX_NAMESPACE::OpSchema * GetSchema(const std::string &key, const int maxInclusiveVersion, const std::string &domain) const final
GLsizei const GLchar *const * string
common::Status SetBaselineAndOpsetVersionForDomain(const std::string &domain, int baseline_opset_version, int opset_version)
common::Status RegisterOpSet(std::vector< ONNX_NAMESPACE::OpSchema > &schemas, const std::string &domain, int baseline_opset_version, int opset_version)
DomainToVersionMap GetLatestOpsetVersions(bool is_onnx_only) const override
void GetSchemaAndHistory(const std::string &key, int maxInclusiveVersion, const std::string &domain, const ONNX_NAMESPACE::OpSchema **latest_schema, int *earliest_opset_where_unchanged) const override
void GetSchemaAndHistory(const std::string &key, int max_inclusive_version, const std::string &domain, const ONNX_NAMESPACE::OpSchema **latest_schema, int *earliest_opset_where_unchanged) const override
DomainToVersionMap GetLastReleasedOpsetVersions(bool is_onnx_only) const
int baseline_opset_version
virtual DomainToVersionMap GetLatestOpsetVersions(bool is_onnx_only) const =0
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
std::unordered_map< std::string, std::unordered_map< std::string, std::map< ONNX_NAMESPACE::OperatorSetVersion, ONNX_NAMESPACE::OpSchema >>> OpName_Domain_Version_Schema_Map
std::unordered_map< std::string, SchemaRegistryVersion > DomainToVersionRangeMap
std::unordered_map< std::string, int > DomainToVersionMap
DomainToVersionMap GetLatestOpsetVersions(bool is_onnx_only) const override
virtual void GetSchemaAndHistory(const std::string &key, int maxInclusiveVersion, const std::string &domain, const ONNX_NAMESPACE::OpSchema **latest_schema, int *earliest_opset_where_unchanged) const =0