Introduced new RTTI macros for nGraph (#7515)

* Introduced new RTTI macros for nGraph

* Added new tests

* Fixed comment

* Fixed Windows ieFuncTests

* Fixed code style
This commit is contained in:
Ilya Churaev 2021-09-20 11:03:14 +03:00 committed by GitHub
parent 850c526e3b
commit 88b874ec8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 1699 additions and 1229 deletions

View File

@ -0,0 +1,27 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#pragma once
#include <utility>
#include "ngraph/deprecated.hpp"
namespace ngraph {
// If operation has type_info, use it to add operation to opset
template <class T>
class HasTypeInfoMember {
template <typename U>
static std::false_type check(...);
NGRAPH_SUPPRESS_DEPRECATED_START
template <typename U>
static auto check(int) -> decltype(std::declval<U>().type_info, std::true_type{});
using type = decltype(check<T>(0));
NGRAPH_SUPPRESS_DEPRECATED_END
public:
static constexpr bool value = type::value;
};
} // namespace ngraph

View File

@ -8,6 +8,8 @@
#include <mutex>
#include <unordered_map>
#include "ngraph/compatibility.hpp"
#include "ngraph/deprecated.hpp"
#include "ngraph/ngraph_visibility.hpp"
namespace ngraph {
@ -35,9 +37,17 @@ public:
}
/// \brief Register a custom factory for DERIVED_TYPE
template <typename DERIVED_TYPE>
template <typename DERIVED_TYPE,
typename std::enable_if<!HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
void register_factory(Factory factory) {
register_factory(DERIVED_TYPE::get_type_info_static(), factory);
}
template <typename DERIVED_TYPE, typename std::enable_if<HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
void register_factory(Factory factory) {
NGRAPH_SUPPRESS_DEPRECATED_START
register_factory(DERIVED_TYPE::type_info, factory);
NGRAPH_SUPPRESS_DEPRECATED_END
}
/// \brief Register the defualt constructor factory for DERIVED_TYPE
@ -53,9 +63,17 @@ public:
}
/// \brief Check to see if DERIVED_TYPE has a registered factory
template <typename DERIVED_TYPE>
template <typename DERIVED_TYPE,
typename std::enable_if<!HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
bool has_factory() {
return has_factory(DERIVED_TYPE::get_type_info_static());
}
template <typename DERIVED_TYPE, typename std::enable_if<HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
bool has_factory() {
NGRAPH_SUPPRESS_DEPRECATED_START
return has_factory(DERIVED_TYPE::type_info);
NGRAPH_SUPPRESS_DEPRECATED_END
}
/// \brief Create an instance for type_info
@ -66,9 +84,17 @@ public:
}
/// \brief Create an instance using factory for DERIVED_TYPE
template <typename DERIVED_TYPE>
template <typename DERIVED_TYPE,
typename std::enable_if<!HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
BASE_TYPE* create() const {
return create(DERIVED_TYPE::get_type_info_static());
}
template <typename DERIVED_TYPE, typename std::enable_if<HasTypeInfoMember<DERIVED_TYPE>::value, bool>::type = true>
BASE_TYPE* create() const {
NGRAPH_SUPPRESS_DEPRECATED_START
return create(DERIVED_TYPE::type_info);
NGRAPH_SUPPRESS_DEPRECATED_END
}
protected:

View File

@ -34,11 +34,16 @@ public:
}
/// \brief Insert OP_TYPE into the opset with the default name and factory
template <typename OP_TYPE>
template <typename OP_TYPE, typename std::enable_if<ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert() {
ov::OpSet::insert<OP_TYPE>(OP_TYPE::type_info.name);
}
template <typename OP_TYPE, typename std::enable_if<!ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert() {
ov::OpSet::insert<OP_TYPE>(OP_TYPE::get_type_info_static().name);
}
ngraph::FactoryRegistry<ngraph::Node>& get_factory_registry() {
return m_factory_registry;
}

View File

@ -38,6 +38,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset1_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset2_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset3_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset4_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset5_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset6_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset7_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -7,6 +7,6 @@
# define NGRAPH_OP(x, y)
#endif
#define OPENVINO_OP NGRAPH_OP
#define _OPENVINO_OP_REG NGRAPH_OP
#include "openvino/opsets/opset8_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG

View File

@ -29,6 +29,7 @@
#include "openvino/core/node_input.hpp"
#include "openvino/core/node_output.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/core/rtti.hpp"
#include "openvino/core/strides.hpp"
#include "openvino/core/type.hpp"
#include "openvino/core/variant.hpp"
@ -519,8 +520,6 @@ using NodeTypeInfo = Node::type_info_t;
OPENVINO_API std::ostream& operator<<(std::ostream&, const Node&);
OPENVINO_API std::ostream& operator<<(std::ostream&, const Node*);
#define _OPENVINO_RTTI_EXPAND(X) X
/// Helper macro that puts necessary declarations of RTTI block inside a class definition.
/// Should be used in the scope of class that requires type identification besides one provided by
/// C++ RTTI.
@ -584,8 +583,6 @@ OPENVINO_API std::ostream& operator<<(std::ostream&, const Node*);
} \
_OPENVINO_RTTI_DEFINITION_COMMON(CLASS)
#define _OPENVINO_RTTI_DEFINITION_SELECTOR(_1, _2, _3, _4, NAME, ...) NAME
/// Complementary to OPENVINO_RTTI_DECLARATION, this helper macro _defines_ items _declared_ by
/// OPENVINO_RTTI_DECLARATION.
/// Should be used outside the class definition scope in place where ODR is ensured.
@ -685,10 +682,8 @@ public:
AttributeAdapter(std::shared_ptr<ov::Node>& value);
bool visit_attributes(AttributeVisitor& visitor) override;
static constexpr DiscreteTypeInfo type_info{"AttributeAdapter<std::shared_ptr<Node>>", 0};
const DiscreteTypeInfo& get_type_info() const override {
return type_info;
}
OPENVINO_RTTI("AttributeAdapter<std::shared_ptr<Node>>");
BWDCMP_RTTI_DECLARATION;
protected:
std::shared_ptr<ov::Node>& m_ref;
@ -701,10 +696,8 @@ public:
bool visit_attributes(AttributeVisitor& visitor) override;
static constexpr DiscreteTypeInfo type_info{"AttributeAdapter<NodeVector>", 0};
const DiscreteTypeInfo& get_type_info() const override {
return type_info;
}
OPENVINO_RTTI("AttributeAdapter<NodeVector>");
BWDCMP_RTTI_DECLARATION;
protected:
ov::NodeVector& m_ref;

View File

@ -0,0 +1,105 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#pragma once
#include "openvino/core/type.hpp"
#define _OPENVINO_RTTI_EXPAND(X) X
#define _OPENVINO_RTTI_DEFINITION_SELECTOR(_1, _2, _3, _4, NAME, ...) NAME
#define _OPENVINO_RTTI_WITH_TYPE(TYPE_NAME) _OPENVINO_RTTI_WITH_TYPE_VERSION(TYPE_NAME, "util")
#define _OPENVINO_RTTI_WITH_TYPE_VERSION(TYPE_NAME, VERSION_NAME) \
static const ::ov::DiscreteTypeInfo& get_type_info_static() { \
static const ::ov::DiscreteTypeInfo type_info{TYPE_NAME, 0, VERSION_NAME}; \
return type_info; \
} \
const ::ov::DiscreteTypeInfo& get_type_info() const override { \
return get_type_info_static(); \
}
#define _OPENVINO_RTTI_WITH_TYPE_VERSION_PARENT(TYPE_NAME, VERSION_NAME, PARENT_CLASS) \
_OPENVINO_RTTI_WITH_TYPE_VERSIONS_PARENT(TYPE_NAME, VERSION_NAME, PARENT_CLASS, 0)
#define _OPENVINO_RTTI_WITH_TYPE_VERSIONS_PARENT(TYPE_NAME, VERSION_NAME, PARENT_CLASS, OLD_VERSION) \
static const ::ov::DiscreteTypeInfo& get_type_info_static() { \
static const ::ov::DiscreteTypeInfo type_info{TYPE_NAME, \
OLD_VERSION, \
VERSION_NAME, \
&PARENT_CLASS::get_type_info_static()}; \
return type_info; \
} \
const ::ov::DiscreteTypeInfo& get_type_info() const override { \
return get_type_info_static(); \
}
/// Helper macro that puts necessary declarations of RTTI block inside a class definition.
/// Should be used in the scope of class that requires type identification besides one provided by
/// C++ RTTI.
/// Recommended to be used for all classes that are inherited from class ov::Node to enable
/// pattern
/// matching for them. Accepts necessary type identification details like type of the operation,
/// version and optional parent class.
///
/// Applying this macro within a class definition provides declaration of type_info static
/// constant for backward compatibility with old RTTI definition for Node,
/// static function get_type_info_static which returns a reference to an object that is equal to
/// type_info but not necessary to the same object, and get_type_info virtual function that
/// overrides Node::get_type_info and returns a reference to the same object that
/// get_type_info_static gives.
///
/// Use this macro as a public part of the class definition:
///
/// class MyClass
/// {
/// public:
/// OPENVINO_RTTI("MyClass", "my_version");
///
/// ...
/// };
///
/// class MyClass2: public MyClass
/// {
/// public:
/// OPENVINO_RTTI("MyClass2", "my_version2", MyClass);
///
/// ...
/// };
///
/// \param TYPE_NAME a string literal of type const char* that names your class in type
/// identification namespace;
/// It is your choice how to name it, but it should be unique among all
/// OPENVINO_RTTI_DECLARATION-enabled classes that can be
/// used in conjunction with each other in one transformation flow.
/// \param VERSION_NAME is an name of operation version to distinguish different versions of
/// operations that shares the same TYPE_NAME
/// \param PARENT_CLASS is an optional direct or indirect parent class for this class; define
/// it only in case if there is a need to capture any operation from some group of operations
/// that all derived from some common base class. Don't use Node as a parent, it is a base
/// class
/// for all operations and doesn't provide ability to define some perfect subset of
/// operations. PARENT_CLASS should define RTTI with OPENVINO_RTTI_{DECLARATION/DEFINITION}
/// macros.
/// \param _VERSION_INDEX is an unsigned integer index to distinguish different versions of
/// operations that shares the same TYPE_NAME (for backward compatibility)
///
/// OPENVINO_RTTI(name)
/// OPENVINO_RTTI(name, version_id)
/// OPENVINO_RTTI(name, version_id, parent)
/// OPENVINO_RTTI(name, version_id, parent, old_version)
#define OPENVINO_RTTI(...) \
_OPENVINO_RTTI_EXPAND(_OPENVINO_RTTI_DEFINITION_SELECTOR(__VA_ARGS__, \
_OPENVINO_RTTI_WITH_TYPE_VERSIONS_PARENT, \
_OPENVINO_RTTI_WITH_TYPE_VERSION_PARENT, \
_OPENVINO_RTTI_WITH_TYPE_VERSION, \
_OPENVINO_RTTI_WITH_TYPE)(__VA_ARGS__))
/// Note: Please don't use this macros for new operations
#define BWDCMP_RTTI_DECLARATION \
OPENVINO_DEPRECATED("This member was deprecate. Please use ::get_type_info_static() instead.") \
static const ov::DiscreteTypeInfo type_info
#define BWDCMP_RTTI_DEFINITION(CLASS) \
OPENVINO_SUPPRESS_DEPRECATED_START \
const ov::DiscreteTypeInfo CLASS::type_info = CLASS::get_type_info_static(); \
OPENVINO_SUPPRESS_DEPRECATED_END

View File

@ -8,13 +8,16 @@
#include <cstring>
#include <functional>
#include <memory>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include "ngraph/compatibility.hpp"
#include "openvino/core/core_visibility.hpp"
namespace ov {
/// Supports three functions, ov::is_type<Type>, ov::as_type<Type>, and ov::as_type_ptr<Type> for type-safe
/// dynamic conversions via static_cast/static_ptr_cast without using C++ RTTI.
/// Type must have a static type_info member and a virtual get_type_info() member that
@ -25,6 +28,7 @@ namespace ov {
struct OPENVINO_API DiscreteTypeInfo {
const char* name;
uint64_t version;
const char* version_id;
// A pointer to a parent type info; used for casting and inheritance traversal, not for
// exact type identification
const DiscreteTypeInfo* parent;
@ -34,6 +38,16 @@ struct OPENVINO_API DiscreteTypeInfo {
constexpr DiscreteTypeInfo(const char* _name, uint64_t _version, const DiscreteTypeInfo* _parent = nullptr)
: name(_name),
version(_version),
version_id(nullptr),
parent(_parent) {}
constexpr DiscreteTypeInfo(const char* _name,
uint64_t _version,
const char* _version_id,
const DiscreteTypeInfo* _parent = nullptr)
: name(_name),
version(_version),
version_id(_version_id),
parent(_parent) {}
bool is_castable(const DiscreteTypeInfo& target_type) const {
@ -41,35 +55,39 @@ struct OPENVINO_API DiscreteTypeInfo {
}
// For use as a key
bool operator<(const DiscreteTypeInfo& b) const {
return version < b.version || (version == b.version && strcmp(name, b.name) < 0);
}
bool operator<=(const DiscreteTypeInfo& b) const {
return version < b.version || (version == b.version && strcmp(name, b.name) <= 0);
}
bool operator>(const DiscreteTypeInfo& b) const {
return version < b.version || (version == b.version && strcmp(name, b.name) > 0);
}
bool operator>=(const DiscreteTypeInfo& b) const {
return version < b.version || (version == b.version && strcmp(name, b.name) >= 0);
}
bool operator==(const DiscreteTypeInfo& b) const {
return version == b.version && strcmp(name, b.name) == 0;
}
bool operator!=(const DiscreteTypeInfo& b) const {
return version != b.version || strcmp(name, b.name) != 0;
}
bool operator<(const DiscreteTypeInfo& b) const;
bool operator<=(const DiscreteTypeInfo& b) const;
bool operator>(const DiscreteTypeInfo& b) const;
bool operator>=(const DiscreteTypeInfo& b) const;
bool operator==(const DiscreteTypeInfo& b) const;
bool operator!=(const DiscreteTypeInfo& b) const;
};
OPENVINO_API
std::ostream& operator<<(std::ostream& s, const DiscreteTypeInfo& info);
/// \brief Tests if value is a pointer/shared_ptr that can be statically cast to a
/// Type*/shared_ptr<Type>
OPENVINO_SUPPRESS_DEPRECATED_START
template <typename Type, typename Value>
typename std::enable_if<
std::is_convertible<decltype(std::declval<Value>()->get_type_info().is_castable(Type::type_info)), bool>::value,
ngraph::HasTypeInfoMember<Type>::value &&
std::is_convertible<decltype(std::declval<Value>()->get_type_info().is_castable(Type::type_info)), bool>::value,
bool>::type
is_type(Value value) {
return value->get_type_info().is_castable(Type::type_info);
}
OPENVINO_SUPPRESS_DEPRECATED_END
template <typename Type, typename Value>
typename std::enable_if<
!ngraph::HasTypeInfoMember<Type>::value &&
std::is_convertible<decltype(std::declval<Value>()->get_type_info().is_castable(Type::get_type_info_static())),
bool>::value,
bool>::type
is_type(Value value) {
return value->get_type_info().is_castable(Type::get_type_info_static());
}
/// Casts a Value* to a Type* if it is of type Type, nullptr otherwise
template <typename Type, typename Value>

View File

@ -7,6 +7,19 @@
#include <string>
#include "openvino/core/node.hpp"
#include "openvino/core/rtti.hpp"
#define _OPENVINO_RTTI_OP_WITH_TYPE(TYPE_NAME) _OPENVINO_RTTI_OP_WITH_TYPE_VERSION(TYPE_NAME, "extension")
#define _OPENVINO_RTTI_OP_WITH_TYPE_VERSION(TYPE_NAME, VERSION_NAME) \
_OPENVINO_RTTI_WITH_TYPE_VERSION_PARENT(TYPE_NAME, VERSION_NAME, ::ov::op::Op)
#define OPENVINO_OP(...) \
_OPENVINO_RTTI_EXPAND(_OPENVINO_RTTI_DEFINITION_SELECTOR(__VA_ARGS__, \
_OPENVINO_RTTI_WITH_TYPE_VERSIONS_PARENT, \
_OPENVINO_RTTI_WITH_TYPE_VERSION_PARENT, \
_OPENVINO_RTTI_OP_WITH_TYPE_VERSION, \
_OPENVINO_RTTI_OP_WITH_TYPE)(__VA_ARGS__))
namespace ov {
namespace op {
@ -15,6 +28,15 @@ class OPENVINO_API Op : public Node {
protected:
Op() : Node() {}
Op(const OutputVector& arguments);
public:
static const ::ov::Node::type_info_t& get_type_info_static() {
static const ::ov::Node::type_info_t info{"Op", 0, "util"};
return info;
}
const ::ov::Node::type_info_t& get_type_info() const override {
return get_type_info_static();
}
};
} // namespace op
} // namespace ov

View File

@ -10,7 +10,9 @@
#include <set>
#include <utility>
#include "ngraph/compatibility.hpp"
#include "ngraph/factory.hpp"
#include "openvino/core/deprecated.hpp"
#include "openvino/core/node.hpp"
namespace ov {
@ -27,15 +29,27 @@ public:
}
/// \brief Insert OP_TYPE into the opset with a special name and the default factory
template <typename OP_TYPE>
template <typename OP_TYPE, typename std::enable_if<!ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert(const std::string& name) {
insert(name, OP_TYPE::get_type_info_static(), ngraph::FactoryRegistry<Node>::get_default_factory<OP_TYPE>());
}
template <typename OP_TYPE, typename std::enable_if<ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert(const std::string& name) {
OPENVINO_SUPPRESS_DEPRECATED_START
insert(name, OP_TYPE::type_info, ngraph::FactoryRegistry<Node>::get_default_factory<OP_TYPE>());
OPENVINO_SUPPRESS_DEPRECATED_END
}
/// \brief Insert OP_TYPE into the opset with the default name and factory
template <typename OP_TYPE>
template <typename OP_TYPE, typename std::enable_if<!ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert() {
insert<OP_TYPE>(OP_TYPE::get_type_info_static().name);
}
template <typename OP_TYPE, typename std::enable_if<ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
void insert() {
OPENVINO_SUPPRESS_DEPRECATED_START
insert<OP_TYPE>(OP_TYPE::type_info.name);
OPENVINO_SUPPRESS_DEPRECATED_END
}
const std::set<NodeTypeInfo>& get_types_info() const {
@ -54,9 +68,15 @@ public:
}
/// \brief Return true if OP_TYPE is in the opset
template <typename OP_TYPE>
template <typename OP_TYPE, typename std::enable_if<!ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
bool contains_type() const {
return contains_type(OP_TYPE::get_type_info_static());
}
template <typename OP_TYPE, typename std::enable_if<ngraph::HasTypeInfoMember<OP_TYPE>::value, bool>::type = true>
bool contains_type() const {
OPENVINO_SUPPRESS_DEPRECATED_START
return contains_type(OP_TYPE::type_info);
OPENVINO_SUPPRESS_DEPRECATED_END
}
/// \brief Return true if name is in the opset

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset1 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset1_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset1
} // namespace ov

View File

@ -5,26 +5,26 @@
// This collection contains one entry for each op. If an op is added it must be
// added to this list.
//
// In order to use this list you want to define a macro named exactly OPENVINO_OP
// In order to use this list you want to define a macro named exactly _OPENVINO_OP_REG
// When you are done you should undef the macro
// As an example if you wanted to make a list of all op names as strings you could do this:
//
// #define OPENVINO_OP(a,b) #a,
// #define _OPENVINO_OP_REG(a,b) #a,
// std::vector<std::string> op_names{
// #include "this include file name"
// };
// #undef OPENVINO_OP
// #undef _OPENVINO_OP_REG
//
// This sample expands to a list like this:
// "Abs",
// "Acos",
// ...
//
// #define OPENVINO_OP(a,b) b::a,
// #define _OPENVINO_OP_REG(a,b) b::a,
// std::vector<std::string> op_names{
// #include "this include file name"
// };
// #undef OPENVINO_OP
// #undef _OPENVINO_OP_REG
//
// This sample expands to a list like this:
// ov::op::Abs,
@ -33,118 +33,118 @@
//
// It's that easy. You can use this for fun and profit.
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v0)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v1)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Interpolate, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v0)
OPENVINO_OP(LSTMSequence, ov::op::v0)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NonMaxSuppression, ov::op::v1)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v0)
OPENVINO_OP(Range, ov::op::v0)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(Reverse, ov::op::v1)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v0)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(TopK, ov::op::v1)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
OPENVINO_OP(Xor, ov::op::v0)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v0)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v1)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Interpolate, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v0)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v0)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v1)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v0)
_OPENVINO_OP_REG(Range, ov::op::v0)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(Reverse, ov::op::v1)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v0)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(TopK, ov::op::v1)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Xor, ov::op::v0)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset2 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset2_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset2
} // namespace ov

View File

@ -2,142 +2,142 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v0)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v1)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Interpolate, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v0)
OPENVINO_OP(LSTMSequence, ov::op::v0)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v0)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v1)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Interpolate, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v0)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v0)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
OPENVINO_OP(MVN, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(MVN, ov::op::v0) // Missing in opset1
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NonMaxSuppression, ov::op::v1)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v0)
OPENVINO_OP(Range, ov::op::v0)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v1)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v0)
_OPENVINO_OP_REG(Range, ov::op::v0)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0) // Missing in opset1
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(Reverse, ov::op::v1)
// _OPENVINO_OP_REG(Reverse, ov::op::v1)
OPENVINO_OP(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(RNNCell, ov::op::v0)
// _OPENVINO_OP_REG(RNNCell, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(ROIPooling, ov::op::v0) // Missing in opset1
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v0)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v0)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(ShuffleChannels, ov::op::v0)
// _OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(TopK, ov::op::v1)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(TopK, ov::op::v1)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(Xor, ov::op::v0)
// _OPENVINO_OP_REG(Xor, ov::op::v0)
// New operations added in opset2
OPENVINO_OP(Gelu, ov::op::v0)
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(Gelu, ov::op::v0)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset3 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset3_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset3
} // namespace ov

View File

@ -2,158 +2,158 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v0)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Interpolate, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v0)
OPENVINO_OP(LSTMSequence, ov::op::v0)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v0)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Interpolate, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v0)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v0)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
OPENVINO_OP(MVN, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(MVN, ov::op::v0) // Missing in opset1
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NonMaxSuppression, ov::op::v3)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v0)
OPENVINO_OP(Range, ov::op::v0)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v3)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v0)
_OPENVINO_OP_REG(Range, ov::op::v0)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0) // Missing in opset1
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(Reverse, ov::op::v1)
// _OPENVINO_OP_REG(Reverse, ov::op::v1)
OPENVINO_OP(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(RNNCell, ov::op::v0)
// _OPENVINO_OP_REG(RNNCell, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0) // Missing in opset1
_OPENVINO_OP_REG(ROIPooling, ov::op::v0) // Missing in opset1
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
// Superseded
// OPENVINO_OP(ShapeOf, ov::op::v0)
// _OPENVINO_OP_REG(ShapeOf, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// Moved out of opset2, it was added to opset1 by mistake
// OPENVINO_OP(Xor, ov::op::v0)
// _OPENVINO_OP_REG(Xor, ov::op::v0)
// New operations added in opset2
OPENVINO_OP(Gelu, ov::op::v0)
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(Gelu, ov::op::v0)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(Assign, ov::op::v3)
OPENVINO_OP(ReadValue, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(Assign, ov::op::v3)
_OPENVINO_OP_REG(ReadValue, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset4 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset4_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset4
} // namespace ov

View File

@ -2,151 +2,151 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v0)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v4)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(MVN, ov::op::v0)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v4)
OPENVINO_OP(Range, ov::op::v4)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0)
OPENVINO_OP(ScatterNDUpdate, ov::op::v3)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v0)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v4)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(MVN, ov::op::v0)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v4)
_OPENVINO_OP_REG(Range, ov::op::v4)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ROIPooling, ov::op::v0)
_OPENVINO_OP_REG(ScatterNDUpdate, ov::op::v3)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// New operations added in opset2
OPENVINO_OP(Gelu, ov::op::v0)
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(Gelu, ov::op::v0)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(Assign, ov::op::v3)
OPENVINO_OP(ReadValue, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(Assign, ov::op::v3)
_OPENVINO_OP_REG(ReadValue, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)
// New operations added in opset4
OPENVINO_OP(Acosh, ov::op::v3)
OPENVINO_OP(Asinh, ov::op::v3)
OPENVINO_OP(Atanh, ov::op::v3)
OPENVINO_OP(CTCLoss, ov::op::v4)
OPENVINO_OP(HSwish, ov::op::v4)
OPENVINO_OP(Interpolate, ov::op::v4)
OPENVINO_OP(Mish, ov::op::v4)
OPENVINO_OP(NonMaxSuppression, ov::op::v4)
OPENVINO_OP(ReduceL1, ov::op::v4)
OPENVINO_OP(ReduceL2, ov::op::v4)
OPENVINO_OP(SoftPlus, ov::op::v4)
OPENVINO_OP(Swish, ov::op::v4)
_OPENVINO_OP_REG(Acosh, ov::op::v3)
_OPENVINO_OP_REG(Asinh, ov::op::v3)
_OPENVINO_OP_REG(Atanh, ov::op::v3)
_OPENVINO_OP_REG(CTCLoss, ov::op::v4)
_OPENVINO_OP_REG(HSwish, ov::op::v4)
_OPENVINO_OP_REG(Interpolate, ov::op::v4)
_OPENVINO_OP_REG(Mish, ov::op::v4)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v4)
_OPENVINO_OP_REG(ReduceL1, ov::op::v4)
_OPENVINO_OP_REG(ReduceL2, ov::op::v4)
_OPENVINO_OP_REG(SoftPlus, ov::op::v4)
_OPENVINO_OP_REG(Swish, ov::op::v4)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset5 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset5_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset5
} // namespace ov

View File

@ -2,161 +2,161 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v5)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v4)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(MVN, ov::op::v0)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v4)
OPENVINO_OP(Range, ov::op::v4)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0)
OPENVINO_OP(ScatterNDUpdate, ov::op::v3)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v5)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v4)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(MVN, ov::op::v0)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v4)
_OPENVINO_OP_REG(Range, ov::op::v4)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ROIPooling, ov::op::v0)
_OPENVINO_OP_REG(ScatterNDUpdate, ov::op::v3)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// New operations added in opset2
OPENVINO_OP(Gelu, ov::op::v0)
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(Gelu, ov::op::v0)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(Assign, ov::op::v3)
OPENVINO_OP(ReadValue, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(Assign, ov::op::v3)
_OPENVINO_OP_REG(ReadValue, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)
// New operations added in opset4
OPENVINO_OP(Acosh, ov::op::v3)
OPENVINO_OP(Asinh, ov::op::v3)
OPENVINO_OP(Atanh, ov::op::v3)
OPENVINO_OP(CTCLoss, ov::op::v4)
OPENVINO_OP(HSwish, ov::op::v4)
OPENVINO_OP(Interpolate, ov::op::v4)
OPENVINO_OP(Mish, ov::op::v4)
OPENVINO_OP(ReduceL1, ov::op::v4)
OPENVINO_OP(ReduceL2, ov::op::v4)
OPENVINO_OP(SoftPlus, ov::op::v4)
OPENVINO_OP(Swish, ov::op::v4)
_OPENVINO_OP_REG(Acosh, ov::op::v3)
_OPENVINO_OP_REG(Asinh, ov::op::v3)
_OPENVINO_OP_REG(Atanh, ov::op::v3)
_OPENVINO_OP_REG(CTCLoss, ov::op::v4)
_OPENVINO_OP_REG(HSwish, ov::op::v4)
_OPENVINO_OP_REG(Interpolate, ov::op::v4)
_OPENVINO_OP_REG(Mish, ov::op::v4)
_OPENVINO_OP_REG(ReduceL1, ov::op::v4)
_OPENVINO_OP_REG(ReduceL2, ov::op::v4)
_OPENVINO_OP_REG(SoftPlus, ov::op::v4)
_OPENVINO_OP_REG(Swish, ov::op::v4)
// New operations added in opset5
OPENVINO_OP(GatherND, ov::op::v5)
OPENVINO_OP(GRUSequence, ov::op::v5)
OPENVINO_OP(HSigmoid, ov::op::v5)
OPENVINO_OP(LogSoftmax, ov::op::v5)
OPENVINO_OP(Loop, ov::op::v5)
OPENVINO_OP(LSTMSequence, ov::op::v5)
OPENVINO_OP(NonMaxSuppression, ov::op::v5)
OPENVINO_OP(RNNSequence, ov::op::v5)
OPENVINO_OP(Round, ov::op::v5)
_OPENVINO_OP_REG(GatherND, ov::op::v5)
_OPENVINO_OP_REG(GRUSequence, ov::op::v5)
_OPENVINO_OP_REG(HSigmoid, ov::op::v5)
_OPENVINO_OP_REG(LogSoftmax, ov::op::v5)
_OPENVINO_OP_REG(Loop, ov::op::v5)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v5)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v5)
_OPENVINO_OP_REG(RNNSequence, ov::op::v5)
_OPENVINO_OP_REG(Round, ov::op::v5)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset6 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset6_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset6
} // namespace ov

View File

@ -2,170 +2,170 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v5)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v4)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v4)
OPENVINO_OP(Range, ov::op::v4)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0)
OPENVINO_OP(ScatterNDUpdate, ov::op::v3)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v5)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v4)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v4)
_OPENVINO_OP_REG(Range, ov::op::v4)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ROIPooling, ov::op::v0)
_OPENVINO_OP_REG(ScatterNDUpdate, ov::op::v3)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// New operations added in opset2
OPENVINO_OP(Gelu, ov::op::v0)
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(Gelu, ov::op::v0)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)
// New operations added in opset4
OPENVINO_OP(Acosh, ov::op::v3)
OPENVINO_OP(Asinh, ov::op::v3)
OPENVINO_OP(Atanh, ov::op::v3)
OPENVINO_OP(CTCLoss, ov::op::v4)
OPENVINO_OP(HSwish, ov::op::v4)
OPENVINO_OP(Interpolate, ov::op::v4)
OPENVINO_OP(Mish, ov::op::v4)
OPENVINO_OP(ReduceL1, ov::op::v4)
OPENVINO_OP(ReduceL2, ov::op::v4)
OPENVINO_OP(SoftPlus, ov::op::v4)
OPENVINO_OP(Swish, ov::op::v4)
_OPENVINO_OP_REG(Acosh, ov::op::v3)
_OPENVINO_OP_REG(Asinh, ov::op::v3)
_OPENVINO_OP_REG(Atanh, ov::op::v3)
_OPENVINO_OP_REG(CTCLoss, ov::op::v4)
_OPENVINO_OP_REG(HSwish, ov::op::v4)
_OPENVINO_OP_REG(Interpolate, ov::op::v4)
_OPENVINO_OP_REG(Mish, ov::op::v4)
_OPENVINO_OP_REG(ReduceL1, ov::op::v4)
_OPENVINO_OP_REG(ReduceL2, ov::op::v4)
_OPENVINO_OP_REG(SoftPlus, ov::op::v4)
_OPENVINO_OP_REG(Swish, ov::op::v4)
// New operations added in opset5
OPENVINO_OP(GatherND, ov::op::v5)
OPENVINO_OP(GRUSequence, ov::op::v5)
OPENVINO_OP(HSigmoid, ov::op::v5)
OPENVINO_OP(LogSoftmax, ov::op::v5)
OPENVINO_OP(Loop, ov::op::v5)
OPENVINO_OP(LSTMSequence, ov::op::v5)
OPENVINO_OP(NonMaxSuppression, ov::op::v5)
OPENVINO_OP(RNNSequence, ov::op::v5)
OPENVINO_OP(Round, ov::op::v5)
_OPENVINO_OP_REG(GatherND, ov::op::v5)
_OPENVINO_OP_REG(GRUSequence, ov::op::v5)
_OPENVINO_OP_REG(HSigmoid, ov::op::v5)
_OPENVINO_OP_REG(LogSoftmax, ov::op::v5)
_OPENVINO_OP_REG(Loop, ov::op::v5)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v5)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v5)
_OPENVINO_OP_REG(RNNSequence, ov::op::v5)
_OPENVINO_OP_REG(Round, ov::op::v5)
// New operations added in opset6
OPENVINO_OP(CTCGreedyDecoderSeqLen, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronDetectionOutput, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronTopKROIs, ov::op::v6)
OPENVINO_OP(GatherElements, ov::op::v6)
OPENVINO_OP(MVN, ov::op::v6)
OPENVINO_OP(Assign, ov::op::v6) // new version
OPENVINO_OP(ReadValue, ov::op::v6) // new version
_OPENVINO_OP_REG(CTCGreedyDecoderSeqLen, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronDetectionOutput, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronTopKROIs, ov::op::v6)
_OPENVINO_OP_REG(GatherElements, ov::op::v6)
_OPENVINO_OP_REG(MVN, ov::op::v6)
_OPENVINO_OP_REG(Assign, ov::op::v6) // new version
_OPENVINO_OP_REG(ReadValue, ov::op::v6) // new version

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset7 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset7_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset7
} // namespace ov

View File

@ -2,176 +2,176 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v5)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformableConvolution, ov::op::v1)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(Gather, ov::op::v7)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v4)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(MaxPool, ov::op::v1)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v4)
OPENVINO_OP(Range, ov::op::v4)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0)
OPENVINO_OP(ScatterNDUpdate, ov::op::v3)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v5)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v1)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(Gather, ov::op::v7)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v4)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(MaxPool, ov::op::v1)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v4)
_OPENVINO_OP_REG(Range, ov::op::v4)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ROIPooling, ov::op::v0)
_OPENVINO_OP_REG(ScatterNDUpdate, ov::op::v3)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// New operations added in opset2
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)
// New operations added in opset4
OPENVINO_OP(Acosh, ov::op::v3)
OPENVINO_OP(Asinh, ov::op::v3)
OPENVINO_OP(Atanh, ov::op::v3)
OPENVINO_OP(CTCLoss, ov::op::v4)
OPENVINO_OP(HSwish, ov::op::v4)
OPENVINO_OP(Interpolate, ov::op::v4)
OPENVINO_OP(Mish, ov::op::v4)
OPENVINO_OP(ReduceL1, ov::op::v4)
OPENVINO_OP(ReduceL2, ov::op::v4)
OPENVINO_OP(SoftPlus, ov::op::v4)
OPENVINO_OP(Swish, ov::op::v4)
_OPENVINO_OP_REG(Acosh, ov::op::v3)
_OPENVINO_OP_REG(Asinh, ov::op::v3)
_OPENVINO_OP_REG(Atanh, ov::op::v3)
_OPENVINO_OP_REG(CTCLoss, ov::op::v4)
_OPENVINO_OP_REG(HSwish, ov::op::v4)
_OPENVINO_OP_REG(Interpolate, ov::op::v4)
_OPENVINO_OP_REG(Mish, ov::op::v4)
_OPENVINO_OP_REG(ReduceL1, ov::op::v4)
_OPENVINO_OP_REG(ReduceL2, ov::op::v4)
_OPENVINO_OP_REG(SoftPlus, ov::op::v4)
_OPENVINO_OP_REG(Swish, ov::op::v4)
// New operations added in opset5
OPENVINO_OP(GatherND, ov::op::v5)
OPENVINO_OP(GRUSequence, ov::op::v5)
OPENVINO_OP(HSigmoid, ov::op::v5)
OPENVINO_OP(LogSoftmax, ov::op::v5)
OPENVINO_OP(Loop, ov::op::v5)
OPENVINO_OP(LSTMSequence, ov::op::v5)
OPENVINO_OP(NonMaxSuppression, ov::op::v5)
OPENVINO_OP(RNNSequence, ov::op::v5)
OPENVINO_OP(Round, ov::op::v5)
_OPENVINO_OP_REG(GatherND, ov::op::v5)
_OPENVINO_OP_REG(GRUSequence, ov::op::v5)
_OPENVINO_OP_REG(HSigmoid, ov::op::v5)
_OPENVINO_OP_REG(LogSoftmax, ov::op::v5)
_OPENVINO_OP_REG(Loop, ov::op::v5)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v5)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v5)
_OPENVINO_OP_REG(RNNSequence, ov::op::v5)
_OPENVINO_OP_REG(Round, ov::op::v5)
// New operations added in opset6
OPENVINO_OP(CTCGreedyDecoderSeqLen, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronDetectionOutput, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronTopKROIs, ov::op::v6)
OPENVINO_OP(GatherElements, ov::op::v6)
OPENVINO_OP(MVN, ov::op::v6)
OPENVINO_OP(Assign, ov::op::v6) // new version
OPENVINO_OP(ReadValue, ov::op::v6) // new version
_OPENVINO_OP_REG(CTCGreedyDecoderSeqLen, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronDetectionOutput, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronTopKROIs, ov::op::v6)
_OPENVINO_OP_REG(GatherElements, ov::op::v6)
_OPENVINO_OP_REG(MVN, ov::op::v6)
_OPENVINO_OP_REG(Assign, ov::op::v6) // new version
_OPENVINO_OP_REG(ReadValue, ov::op::v6) // new version
// New operations added in opset7
OPENVINO_OP(DFT, ov::op::v7)
OPENVINO_OP(Einsum, ov::op::v7)
OPENVINO_OP(Gelu, ov::op::v7)
OPENVINO_OP(IDFT, ov::op::v7)
OPENVINO_OP(Roll, ov::op::v7)
_OPENVINO_OP_REG(DFT, ov::op::v7)
_OPENVINO_OP_REG(Einsum, ov::op::v7)
_OPENVINO_OP_REG(Gelu, ov::op::v7)
_OPENVINO_OP_REG(IDFT, ov::op::v7)
_OPENVINO_OP_REG(Roll, ov::op::v7)

View File

@ -8,8 +8,8 @@
namespace ov {
namespace opset8 {
#define OPENVINO_OP(a, b) using b::a;
#define _OPENVINO_OP_REG(a, b) using b::a;
#include "openvino/opsets/opset8_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
} // namespace opset8
} // namespace ov

View File

@ -2,185 +2,185 @@
// SPDX-License-Identifier: Apache-2.0
//
#ifndef OPENVINO_OP
# warning "OPENVINO_OP not defined"
# define OPENVINO_OP(x, y)
#ifndef _OPENVINO_OP_REG
# warning "_OPENVINO_OP_REG not defined"
# define _OPENVINO_OP_REG(x, y)
#endif
OPENVINO_OP(Abs, ov::op::v0)
OPENVINO_OP(Acos, ov::op::v0)
OPENVINO_OP(Add, ov::op::v1)
OPENVINO_OP(Asin, ov::op::v0)
OPENVINO_OP(Atan, ov::op::v0)
OPENVINO_OP(AvgPool, ov::op::v1)
OPENVINO_OP(BatchNormInference, ov::op::v5)
OPENVINO_OP(BinaryConvolution, ov::op::v1)
OPENVINO_OP(Broadcast, ov::op::v3)
OPENVINO_OP(Bucketize, ov::op::v3)
OPENVINO_OP(CTCGreedyDecoder, ov::op::v0)
OPENVINO_OP(Ceiling, ov::op::v0)
OPENVINO_OP(Clamp, ov::op::v0)
OPENVINO_OP(Concat, ov::op::v0)
OPENVINO_OP(Constant, ov::op::v0)
OPENVINO_OP(Convert, ov::op::v0)
OPENVINO_OP(ConvertLike, ov::op::v1)
OPENVINO_OP(Convolution, ov::op::v1)
OPENVINO_OP(ConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(Cos, ov::op::v0)
OPENVINO_OP(Cosh, ov::op::v0)
OPENVINO_OP(CumSum, ov::op::v0)
OPENVINO_OP(DeformablePSROIPooling, ov::op::v1)
OPENVINO_OP(DepthToSpace, ov::op::v0)
OPENVINO_OP(DetectionOutput, ov::op::v0)
OPENVINO_OP(Divide, ov::op::v1)
OPENVINO_OP(Elu, ov::op::v0)
OPENVINO_OP(Erf, ov::op::v0)
OPENVINO_OP(Equal, ov::op::v1)
OPENVINO_OP(Exp, ov::op::v0)
OPENVINO_OP(ExtractImagePatches, ov::op::v3)
OPENVINO_OP(FakeQuantize, ov::op::v0)
OPENVINO_OP(Floor, ov::op::v0)
OPENVINO_OP(FloorMod, ov::op::v1)
OPENVINO_OP(GatherTree, ov::op::v1)
OPENVINO_OP(Greater, ov::op::v1)
OPENVINO_OP(GreaterEqual, ov::op::v1)
OPENVINO_OP(GroupConvolution, ov::op::v1)
OPENVINO_OP(GroupConvolutionBackpropData, ov::op::v1)
OPENVINO_OP(GRN, ov::op::v0)
OPENVINO_OP(HardSigmoid, ov::op::v0)
OPENVINO_OP(Less, ov::op::v1)
OPENVINO_OP(LessEqual, ov::op::v1)
OPENVINO_OP(Log, ov::op::v0)
OPENVINO_OP(LogicalAnd, ov::op::v1)
OPENVINO_OP(LogicalNot, ov::op::v1)
OPENVINO_OP(LogicalOr, ov::op::v1)
OPENVINO_OP(LogicalXor, ov::op::v1)
OPENVINO_OP(LRN, ov::op::v0)
OPENVINO_OP(LSTMCell, ov::op::v4)
OPENVINO_OP(MatMul, ov::op::v0)
OPENVINO_OP(Maximum, ov::op::v1)
OPENVINO_OP(Minimum, ov::op::v1)
OPENVINO_OP(Mod, ov::op::v1)
OPENVINO_OP(Multiply, ov::op::v1)
OPENVINO_OP(Negative, ov::op::v0)
OPENVINO_OP(NormalizeL2, ov::op::v0)
OPENVINO_OP(NotEqual, ov::op::v1)
OPENVINO_OP(OneHot, ov::op::v1)
OPENVINO_OP(PRelu, ov::op::v0)
OPENVINO_OP(PSROIPooling, ov::op::v0)
OPENVINO_OP(Pad, ov::op::v1)
OPENVINO_OP(Parameter, ov::op::v0)
OPENVINO_OP(Power, ov::op::v1)
OPENVINO_OP(PriorBox, ov::op::v0)
OPENVINO_OP(PriorBoxClustered, ov::op::v0)
OPENVINO_OP(Proposal, ov::op::v4)
OPENVINO_OP(Range, ov::op::v4)
OPENVINO_OP(Relu, ov::op::v0)
OPENVINO_OP(ReduceMax, ov::op::v1)
OPENVINO_OP(ReduceLogicalAnd, ov::op::v1)
OPENVINO_OP(ReduceLogicalOr, ov::op::v1)
OPENVINO_OP(ReduceMean, ov::op::v1)
OPENVINO_OP(ReduceMin, ov::op::v1)
OPENVINO_OP(ReduceProd, ov::op::v1)
OPENVINO_OP(ReduceSum, ov::op::v1)
OPENVINO_OP(RegionYolo, ov::op::v0)
OPENVINO_OP(ReorgYolo, ov::op::v0)
OPENVINO_OP(Reshape, ov::op::v1)
OPENVINO_OP(Result, ov::op::v0)
OPENVINO_OP(ReverseSequence, ov::op::v0)
OPENVINO_OP(ROIPooling, ov::op::v0)
OPENVINO_OP(ScatterNDUpdate, ov::op::v3)
OPENVINO_OP(Select, ov::op::v1)
OPENVINO_OP(Selu, ov::op::v0)
OPENVINO_OP(Sign, ov::op::v0)
OPENVINO_OP(Sigmoid, ov::op::v0)
OPENVINO_OP(Sin, ov::op::v0)
OPENVINO_OP(Sinh, ov::op::v0)
OPENVINO_OP(Softmax, ov::op::v1)
OPENVINO_OP(Sqrt, ov::op::v0)
OPENVINO_OP(SpaceToDepth, ov::op::v0)
OPENVINO_OP(Split, ov::op::v1)
OPENVINO_OP(SquaredDifference, ov::op::v0)
OPENVINO_OP(Squeeze, ov::op::v0)
OPENVINO_OP(StridedSlice, ov::op::v1)
OPENVINO_OP(Subtract, ov::op::v1)
OPENVINO_OP(Tan, ov::op::v0)
OPENVINO_OP(Tanh, ov::op::v0)
OPENVINO_OP(TensorIterator, ov::op::v0)
OPENVINO_OP(Tile, ov::op::v0)
OPENVINO_OP(Transpose, ov::op::v1)
OPENVINO_OP(Unsqueeze, ov::op::v0)
OPENVINO_OP(VariadicSplit, ov::op::v1)
_OPENVINO_OP_REG(Abs, ov::op::v0)
_OPENVINO_OP_REG(Acos, ov::op::v0)
_OPENVINO_OP_REG(Add, ov::op::v1)
_OPENVINO_OP_REG(Asin, ov::op::v0)
_OPENVINO_OP_REG(Atan, ov::op::v0)
_OPENVINO_OP_REG(AvgPool, ov::op::v1)
_OPENVINO_OP_REG(BatchNormInference, ov::op::v5)
_OPENVINO_OP_REG(BinaryConvolution, ov::op::v1)
_OPENVINO_OP_REG(Broadcast, ov::op::v3)
_OPENVINO_OP_REG(Bucketize, ov::op::v3)
_OPENVINO_OP_REG(CTCGreedyDecoder, ov::op::v0)
_OPENVINO_OP_REG(Ceiling, ov::op::v0)
_OPENVINO_OP_REG(Clamp, ov::op::v0)
_OPENVINO_OP_REG(Concat, ov::op::v0)
_OPENVINO_OP_REG(Constant, ov::op::v0)
_OPENVINO_OP_REG(Convert, ov::op::v0)
_OPENVINO_OP_REG(ConvertLike, ov::op::v1)
_OPENVINO_OP_REG(Convolution, ov::op::v1)
_OPENVINO_OP_REG(ConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(Cos, ov::op::v0)
_OPENVINO_OP_REG(Cosh, ov::op::v0)
_OPENVINO_OP_REG(CumSum, ov::op::v0)
_OPENVINO_OP_REG(DeformablePSROIPooling, ov::op::v1)
_OPENVINO_OP_REG(DepthToSpace, ov::op::v0)
_OPENVINO_OP_REG(DetectionOutput, ov::op::v0)
_OPENVINO_OP_REG(Divide, ov::op::v1)
_OPENVINO_OP_REG(Elu, ov::op::v0)
_OPENVINO_OP_REG(Erf, ov::op::v0)
_OPENVINO_OP_REG(Equal, ov::op::v1)
_OPENVINO_OP_REG(Exp, ov::op::v0)
_OPENVINO_OP_REG(ExtractImagePatches, ov::op::v3)
_OPENVINO_OP_REG(FakeQuantize, ov::op::v0)
_OPENVINO_OP_REG(Floor, ov::op::v0)
_OPENVINO_OP_REG(FloorMod, ov::op::v1)
_OPENVINO_OP_REG(GatherTree, ov::op::v1)
_OPENVINO_OP_REG(Greater, ov::op::v1)
_OPENVINO_OP_REG(GreaterEqual, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolution, ov::op::v1)
_OPENVINO_OP_REG(GroupConvolutionBackpropData, ov::op::v1)
_OPENVINO_OP_REG(GRN, ov::op::v0)
_OPENVINO_OP_REG(HardSigmoid, ov::op::v0)
_OPENVINO_OP_REG(Less, ov::op::v1)
_OPENVINO_OP_REG(LessEqual, ov::op::v1)
_OPENVINO_OP_REG(Log, ov::op::v0)
_OPENVINO_OP_REG(LogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(LogicalNot, ov::op::v1)
_OPENVINO_OP_REG(LogicalOr, ov::op::v1)
_OPENVINO_OP_REG(LogicalXor, ov::op::v1)
_OPENVINO_OP_REG(LRN, ov::op::v0)
_OPENVINO_OP_REG(LSTMCell, ov::op::v4)
_OPENVINO_OP_REG(MatMul, ov::op::v0)
_OPENVINO_OP_REG(Maximum, ov::op::v1)
_OPENVINO_OP_REG(Minimum, ov::op::v1)
_OPENVINO_OP_REG(Mod, ov::op::v1)
_OPENVINO_OP_REG(Multiply, ov::op::v1)
_OPENVINO_OP_REG(Negative, ov::op::v0)
_OPENVINO_OP_REG(NormalizeL2, ov::op::v0)
_OPENVINO_OP_REG(NotEqual, ov::op::v1)
_OPENVINO_OP_REG(OneHot, ov::op::v1)
_OPENVINO_OP_REG(PRelu, ov::op::v0)
_OPENVINO_OP_REG(PSROIPooling, ov::op::v0)
_OPENVINO_OP_REG(Pad, ov::op::v1)
_OPENVINO_OP_REG(Parameter, ov::op::v0)
_OPENVINO_OP_REG(Power, ov::op::v1)
_OPENVINO_OP_REG(PriorBox, ov::op::v0)
_OPENVINO_OP_REG(PriorBoxClustered, ov::op::v0)
_OPENVINO_OP_REG(Proposal, ov::op::v4)
_OPENVINO_OP_REG(Range, ov::op::v4)
_OPENVINO_OP_REG(Relu, ov::op::v0)
_OPENVINO_OP_REG(ReduceMax, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalAnd, ov::op::v1)
_OPENVINO_OP_REG(ReduceLogicalOr, ov::op::v1)
_OPENVINO_OP_REG(ReduceMean, ov::op::v1)
_OPENVINO_OP_REG(ReduceMin, ov::op::v1)
_OPENVINO_OP_REG(ReduceProd, ov::op::v1)
_OPENVINO_OP_REG(ReduceSum, ov::op::v1)
_OPENVINO_OP_REG(RegionYolo, ov::op::v0)
_OPENVINO_OP_REG(ReorgYolo, ov::op::v0)
_OPENVINO_OP_REG(Reshape, ov::op::v1)
_OPENVINO_OP_REG(Result, ov::op::v0)
_OPENVINO_OP_REG(ReverseSequence, ov::op::v0)
_OPENVINO_OP_REG(ROIPooling, ov::op::v0)
_OPENVINO_OP_REG(ScatterNDUpdate, ov::op::v3)
_OPENVINO_OP_REG(Select, ov::op::v1)
_OPENVINO_OP_REG(Selu, ov::op::v0)
_OPENVINO_OP_REG(Sign, ov::op::v0)
_OPENVINO_OP_REG(Sigmoid, ov::op::v0)
_OPENVINO_OP_REG(Sin, ov::op::v0)
_OPENVINO_OP_REG(Sinh, ov::op::v0)
_OPENVINO_OP_REG(Softmax, ov::op::v1)
_OPENVINO_OP_REG(Sqrt, ov::op::v0)
_OPENVINO_OP_REG(SpaceToDepth, ov::op::v0)
_OPENVINO_OP_REG(Split, ov::op::v1)
_OPENVINO_OP_REG(SquaredDifference, ov::op::v0)
_OPENVINO_OP_REG(Squeeze, ov::op::v0)
_OPENVINO_OP_REG(StridedSlice, ov::op::v1)
_OPENVINO_OP_REG(Subtract, ov::op::v1)
_OPENVINO_OP_REG(Tan, ov::op::v0)
_OPENVINO_OP_REG(Tanh, ov::op::v0)
_OPENVINO_OP_REG(TensorIterator, ov::op::v0)
_OPENVINO_OP_REG(Tile, ov::op::v0)
_OPENVINO_OP_REG(Transpose, ov::op::v1)
_OPENVINO_OP_REG(Unsqueeze, ov::op::v0)
_OPENVINO_OP_REG(VariadicSplit, ov::op::v1)
// New operations added in opset2
OPENVINO_OP(BatchToSpace, ov::op::v1)
OPENVINO_OP(SpaceToBatch, ov::op::v1)
_OPENVINO_OP_REG(BatchToSpace, ov::op::v1)
_OPENVINO_OP_REG(SpaceToBatch, ov::op::v1)
// New operations added in opset3
OPENVINO_OP(EmbeddingBagPackedSum, ov::op::v3)
OPENVINO_OP(EmbeddingSegmentsSum, ov::op::v3)
OPENVINO_OP(EmbeddingBagOffsetsSum, ov::op::v3)
OPENVINO_OP(GRUCell, ov::op::v3)
OPENVINO_OP(NonZero, ov::op::v3)
OPENVINO_OP(RNNCell, ov::op::v0)
OPENVINO_OP(ROIAlign, ov::op::v3)
OPENVINO_OP(ScatterElementsUpdate, ov::op::v3)
OPENVINO_OP(ScatterUpdate, ov::op::v3)
OPENVINO_OP(ShuffleChannels, ov::op::v0)
OPENVINO_OP(ShapeOf, ov::op::v3)
OPENVINO_OP(TopK, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagPackedSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingSegmentsSum, ov::op::v3)
_OPENVINO_OP_REG(EmbeddingBagOffsetsSum, ov::op::v3)
_OPENVINO_OP_REG(GRUCell, ov::op::v3)
_OPENVINO_OP_REG(NonZero, ov::op::v3)
_OPENVINO_OP_REG(RNNCell, ov::op::v0)
_OPENVINO_OP_REG(ROIAlign, ov::op::v3)
_OPENVINO_OP_REG(ScatterElementsUpdate, ov::op::v3)
_OPENVINO_OP_REG(ScatterUpdate, ov::op::v3)
_OPENVINO_OP_REG(ShuffleChannels, ov::op::v0)
_OPENVINO_OP_REG(ShapeOf, ov::op::v3)
_OPENVINO_OP_REG(TopK, ov::op::v3)
// New operations added in opset4
OPENVINO_OP(Acosh, ov::op::v3)
OPENVINO_OP(Asinh, ov::op::v3)
OPENVINO_OP(Atanh, ov::op::v3)
OPENVINO_OP(CTCLoss, ov::op::v4)
OPENVINO_OP(HSwish, ov::op::v4)
OPENVINO_OP(Interpolate, ov::op::v4)
OPENVINO_OP(Mish, ov::op::v4)
OPENVINO_OP(ReduceL1, ov::op::v4)
OPENVINO_OP(ReduceL2, ov::op::v4)
OPENVINO_OP(SoftPlus, ov::op::v4)
OPENVINO_OP(Swish, ov::op::v4)
_OPENVINO_OP_REG(Acosh, ov::op::v3)
_OPENVINO_OP_REG(Asinh, ov::op::v3)
_OPENVINO_OP_REG(Atanh, ov::op::v3)
_OPENVINO_OP_REG(CTCLoss, ov::op::v4)
_OPENVINO_OP_REG(HSwish, ov::op::v4)
_OPENVINO_OP_REG(Interpolate, ov::op::v4)
_OPENVINO_OP_REG(Mish, ov::op::v4)
_OPENVINO_OP_REG(ReduceL1, ov::op::v4)
_OPENVINO_OP_REG(ReduceL2, ov::op::v4)
_OPENVINO_OP_REG(SoftPlus, ov::op::v4)
_OPENVINO_OP_REG(Swish, ov::op::v4)
// New operations added in opset5
OPENVINO_OP(GatherND, ov::op::v5)
OPENVINO_OP(GRUSequence, ov::op::v5)
OPENVINO_OP(HSigmoid, ov::op::v5)
OPENVINO_OP(LogSoftmax, ov::op::v5)
OPENVINO_OP(Loop, ov::op::v5)
OPENVINO_OP(LSTMSequence, ov::op::v5)
OPENVINO_OP(NonMaxSuppression, ov::op::v5)
OPENVINO_OP(RNNSequence, ov::op::v5)
OPENVINO_OP(Round, ov::op::v5)
_OPENVINO_OP_REG(GatherND, ov::op::v5)
_OPENVINO_OP_REG(GRUSequence, ov::op::v5)
_OPENVINO_OP_REG(HSigmoid, ov::op::v5)
_OPENVINO_OP_REG(LogSoftmax, ov::op::v5)
_OPENVINO_OP_REG(Loop, ov::op::v5)
_OPENVINO_OP_REG(LSTMSequence, ov::op::v5)
_OPENVINO_OP_REG(NonMaxSuppression, ov::op::v5)
_OPENVINO_OP_REG(RNNSequence, ov::op::v5)
_OPENVINO_OP_REG(Round, ov::op::v5)
// New operations added in opset6
OPENVINO_OP(CTCGreedyDecoderSeqLen, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronDetectionOutput, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
OPENVINO_OP(ExperimentalDetectronTopKROIs, ov::op::v6)
OPENVINO_OP(GatherElements, ov::op::v6)
OPENVINO_OP(MVN, ov::op::v6)
OPENVINO_OP(Assign, ov::op::v6) // new version
OPENVINO_OP(ReadValue, ov::op::v6) // new version
_OPENVINO_OP_REG(CTCGreedyDecoderSeqLen, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronDetectionOutput, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronGenerateProposalsSingleImage, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronPriorGridGenerator, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronROIFeatureExtractor, ov::op::v6)
_OPENVINO_OP_REG(ExperimentalDetectronTopKROIs, ov::op::v6)
_OPENVINO_OP_REG(GatherElements, ov::op::v6)
_OPENVINO_OP_REG(MVN, ov::op::v6)
_OPENVINO_OP_REG(Assign, ov::op::v6) // new version
_OPENVINO_OP_REG(ReadValue, ov::op::v6) // new version
// New operations added in opset7
OPENVINO_OP(DFT, ov::op::v7)
OPENVINO_OP(Einsum, ov::op::v7)
OPENVINO_OP(Gelu, ov::op::v7)
OPENVINO_OP(IDFT, ov::op::v7)
OPENVINO_OP(Roll, ov::op::v7)
_OPENVINO_OP_REG(DFT, ov::op::v7)
_OPENVINO_OP_REG(Einsum, ov::op::v7)
_OPENVINO_OP_REG(Gelu, ov::op::v7)
_OPENVINO_OP_REG(IDFT, ov::op::v7)
_OPENVINO_OP_REG(Roll, ov::op::v7)
// New operations added in opset8
OPENVINO_OP(Gather, ov::op::v8)
OPENVINO_OP(AdaptiveAvgPool, ov::op::v8)
OPENVINO_OP(AdaptiveMaxPool, ov::op::v8)
OPENVINO_OP(DeformableConvolution, ov::op::v8)
OPENVINO_OP(MatrixNms, ov::op::v8)
OPENVINO_OP(MaxPool, ov::op::v8)
OPENVINO_OP(MulticlassNms, ov::op::v8)
OPENVINO_OP(RandomUniform, ov::op::v8)
OPENVINO_OP(Slice, ov::op::v8)
OPENVINO_OP(If, ov::op::v8)
_OPENVINO_OP_REG(Gather, ov::op::v8)
_OPENVINO_OP_REG(AdaptiveAvgPool, ov::op::v8)
_OPENVINO_OP_REG(AdaptiveMaxPool, ov::op::v8)
_OPENVINO_OP_REG(DeformableConvolution, ov::op::v8)
_OPENVINO_OP_REG(MatrixNms, ov::op::v8)
_OPENVINO_OP_REG(MaxPool, ov::op::v8)
_OPENVINO_OP_REG(MulticlassNms, ov::op::v8)
_OPENVINO_OP_REG(RandomUniform, ov::op::v8)
_OPENVINO_OP_REG(Slice, ov::op::v8)
_OPENVINO_OP_REG(If, ov::op::v8)

View File

@ -835,7 +835,7 @@ bool ov::Node::constant_fold(OutputVector& output_values, const OutputVector& in
}
namespace ov {
constexpr DiscreteTypeInfo AttributeAdapter<shared_ptr<Node>>::type_info;
BWDCMP_RTTI_DEFINITION(AttributeAdapter<shared_ptr<Node>>);
AttributeAdapter<std::shared_ptr<Node>>::AttributeAdapter(std::shared_ptr<Node>& value) : m_ref(value) {}
@ -849,7 +849,7 @@ bool AttributeAdapter<std::shared_ptr<Node>>::visit_attributes(AttributeVisitor&
return true;
}
constexpr DiscreteTypeInfo AttributeAdapter<NodeVector>::type_info;
BWDCMP_RTTI_DEFINITION(AttributeAdapter<NodeVector>);
AttributeAdapter<NodeVector>::AttributeAdapter(NodeVector& ref) : m_ref(ref) {}

View File

@ -11,7 +11,6 @@
#include "ngraph/node.hpp"
#include "ngraph/type/element_type.hpp"
using namespace ngraph;
using namespace std;
op::Op::Op(const OutputVector& args) : Node(args) {}
ov::op::Op::Op(const ov::OutputVector& args) : Node(args) {}

View File

@ -33,9 +33,9 @@ const ov::OpSet& ov::get_opset1() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset1_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -44,9 +44,9 @@ const ov::OpSet& ov::get_opset2() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset2_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -55,9 +55,9 @@ const ov::OpSet& ov::get_opset3() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset3_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -66,9 +66,9 @@ const ov::OpSet& ov::get_opset4() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset4_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -77,9 +77,9 @@ const ov::OpSet& ov::get_opset5() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset5_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -88,9 +88,9 @@ const ov::OpSet& ov::get_opset6() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset6_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -99,9 +99,9 @@ const ov::OpSet& ov::get_opset7() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset7_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}
@ -110,9 +110,9 @@ const ov::OpSet& ov::get_opset8() {
static OpSet opset;
static std::once_flag flag;
std::call_once(flag, [&]() {
#define OPENVINO_OP(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#define _OPENVINO_OP_REG(NAME, NAMESPACE) opset.insert<NAMESPACE::NAME>();
#include "openvino/opsets/opset8_tbl.hpp"
#undef OPENVINO_OP
#undef _OPENVINO_OP_REG
});
return opset;
}

View File

@ -16,3 +16,50 @@ size_t std::hash<ngraph::DiscreteTypeInfo>::operator()(const ngraph::DiscreteTyp
NGRAPH_SUPPRESS_DEPRECATED_END
}
} // namespace std
namespace ov {
std::ostream& operator<<(std::ostream& s, const DiscreteTypeInfo& info) {
std::string version_id = info.version_id ? info.version_id : "(empty)";
s << "DiscreteTypeInfo{name: " << info.name << ", version_id: " << version_id << ", old_version: " << info.version
<< ", parent: ";
if (!info.parent)
s << info.parent;
else
s << *info.parent;
s << "}";
return s;
}
// parent is commented to fix type relaxed operations
bool DiscreteTypeInfo::operator<(const DiscreteTypeInfo& b) const {
if (version_id == nullptr || b.version_id == nullptr)
return version < b.version ||
(version == b.version && strcmp(name, b.name) < 0); // ||
// (version == b.version && strcmp(name, b.name) ==
// 0 && parent && b.parent && *parent < *b.parent);
else
return strcmp(version_id, b.version_id) < 0 ||
(strcmp(version_id, b.version_id) == 0 && strcmp(name, b.name) < 0); // ||
// (strcmp(version_id, b.version_id) == 0 && strcmp(name, b.name) == 0 && parent && b.parent &&
// *parent < *b.parent);
}
bool DiscreteTypeInfo::operator==(const DiscreteTypeInfo& b) const {
if (version_id == nullptr || b.version_id == nullptr)
return version == b.version && strcmp(name, b.name) == 0; // && parent == b.parent;
else
return strcmp(version_id, b.version_id) == 0 && strcmp(name, b.name) == 0; // && parent == b.parent;
}
bool DiscreteTypeInfo::operator<=(const DiscreteTypeInfo& b) const {
return *this == b || *this < b;
}
bool DiscreteTypeInfo::operator>(const DiscreteTypeInfo& b) const {
return !(*this <= b);
}
bool DiscreteTypeInfo::operator>=(const DiscreteTypeInfo& b) const {
return !(*this < b);
}
bool DiscreteTypeInfo::operator!=(const DiscreteTypeInfo& b) const {
return !(*this == b);
}
} // namespace ov

View File

@ -49,6 +49,7 @@ set(SRC
matcher_pass.cpp
misc.cpp
node_input_output.cpp
rtti.cpp
op.cpp
opset.cpp
op_eval/binary_convolution.cpp
@ -86,6 +87,7 @@ set(SRC
span.cpp
specialize_function.cpp
tensor.cpp
type_info.cpp
type_prop/abs.cpp
type_prop/acos.cpp
type_prop/adaptive_avg_pool.cpp

View File

@ -6,6 +6,7 @@
#include <gtest/gtest.h>
#include "openvino/op/op.hpp"
#include "openvino/opsets/opset1.hpp"
#include "openvino/opsets/opset2.hpp"
#include "openvino/opsets/opset3.hpp"
@ -142,3 +143,64 @@ TEST(opset, opset8_dump) {
std::cout << std::endl;
ASSERT_EQ(163, opset.get_types_info().size());
}
class MyOpOld : public ov::op::Op {
public:
static constexpr ov::DiscreteTypeInfo type_info{"MyOpOld", 0};
const ov::DiscreteTypeInfo& get_type_info() const override {
return type_info;
}
MyOpOld() = default;
std::shared_ptr<Node> clone_with_new_inputs(const ov::OutputVector& inputs) const override {
return nullptr;
}
};
constexpr ov::DiscreteTypeInfo MyOpOld::type_info;
class MyOpNewFromOld : public MyOpOld {
public:
OPENVINO_OP("MyOpNewFromOld", "custom_opset", MyOpOld);
BWDCMP_RTTI_DECLARATION;
MyOpNewFromOld() = default;
std::shared_ptr<Node> clone_with_new_inputs(const ov::OutputVector& inputs) const override {
return nullptr;
}
};
BWDCMP_RTTI_DEFINITION(MyOpNewFromOld);
class MyOpIncorrect : public MyOpOld {
public:
OPENVINO_OP("MyOpIncorrect", "custom_opset", MyOpOld);
MyOpIncorrect() = default;
std::shared_ptr<Node> clone_with_new_inputs(const ov::OutputVector& inputs) const override {
return nullptr;
}
};
class MyOpNew : public ov::op::Op {
public:
OPENVINO_OP("MyOpNew", "custom_opset", MyOpOld);
MyOpNew() = default;
std::shared_ptr<Node> clone_with_new_inputs(const ov::OutputVector& inputs) const override {
return nullptr;
}
};
TEST(opset, custom_opset) {
ov::OpSet opset;
opset.insert<MyOpOld>();
opset.insert<MyOpNewFromOld>();
opset.insert<MyOpIncorrect>();
opset.insert<MyOpNew>();
ASSERT_EQ(opset.get_types_info().size(), 3);
ASSERT_TRUE(opset.contains_type("MyOpNew"));
ASSERT_TRUE(opset.contains_type("MyOpOld"));
ASSERT_TRUE(opset.contains_type("MyOpNewFromOld"));
ASSERT_FALSE(opset.contains_type("MyOpIncorrect"));
}

95
ngraph/test/rtti.cpp Normal file
View File

@ -0,0 +1,95 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "gtest/gtest.h"
#include "ngraph/node.hpp"
#include "util/all_close_f.hpp"
#include "util/test_tools.hpp"
using namespace ngraph;
using namespace std;
class OpType : public ngraph::op::Op {
public:
OPENVINO_OP("OpType");
OpType() = default;
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& inputs) const override {
return nullptr;
}
};
class OpTypeVersion : public ngraph::op::Op {
public:
OPENVINO_OP("OpTypeVersion", "my_version");
OpTypeVersion() = default;
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& inputs) const override {
return nullptr;
}
};
class OpTypeVersionParent : public OpType {
public:
OPENVINO_OP("OpTypeVersionParent", "my_version", OpType);
OpTypeVersionParent() = default;
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& inputs) const override {
return nullptr;
}
};
class OpTypeVersionParentOld : public OpType {
public:
OPENVINO_OP("OpTypeVersionParentOld", "my_version1", OpType, 1);
OpTypeVersionParentOld() = default;
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& inputs) const override {
return nullptr;
}
};
TEST(rtti, op_with_type) {
auto op = OpType();
auto type_info = op.get_type_info();
ASSERT_EQ(type_info, OpType::get_type_info_static());
ASSERT_EQ(strcmp(type_info.name, "OpType"), 0);
ASSERT_EQ(type_info.version, 0);
ASSERT_EQ(strcmp(type_info.version_id, "extension"), 0);
ASSERT_NE(type_info.parent, nullptr);
ASSERT_EQ(*type_info.parent, ngraph::op::Op::get_type_info_static());
}
TEST(rtti, op_with_type_version) {
auto op = OpTypeVersion();
auto type_info = op.get_type_info();
ASSERT_EQ(type_info, OpTypeVersion::get_type_info_static());
ASSERT_EQ(strcmp(type_info.name, "OpTypeVersion"), 0);
ASSERT_EQ(type_info.version, 0);
ASSERT_EQ(strcmp(type_info.version_id, "my_version"), 0);
ASSERT_NE(type_info.parent, nullptr);
ASSERT_EQ(*type_info.parent, ngraph::op::Op::get_type_info_static());
}
TEST(rtti, op_with_type_version_parent) {
auto op = OpTypeVersionParent();
auto type_info = op.get_type_info();
ASSERT_EQ(type_info, OpTypeVersionParent::get_type_info_static());
ASSERT_EQ(strcmp(type_info.name, "OpTypeVersionParent"), 0);
ASSERT_EQ(type_info.version, 0);
ASSERT_EQ(strcmp(type_info.version_id, "my_version"), 0);
ASSERT_NE(type_info.parent, nullptr);
ASSERT_EQ(*type_info.parent, OpType::get_type_info_static());
}
TEST(rtti, op_with_type_version_parent_old) {
auto op = OpTypeVersionParentOld();
auto type_info = op.get_type_info();
ASSERT_EQ(type_info, OpTypeVersionParentOld::get_type_info_static());
ASSERT_EQ(strcmp(type_info.name, "OpTypeVersionParentOld"), 0);
ASSERT_EQ(strcmp(type_info.version_id, "my_version1"), 0);
ASSERT_EQ(type_info.version, 1);
ASSERT_NE(type_info.parent, nullptr);
ASSERT_EQ(*type_info.parent, OpType::get_type_info_static());
}

49
ngraph/test/type_info.cpp Normal file
View File

@ -0,0 +1,49 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include <gtest/gtest.h>
#include "openvino/core/type.hpp"
TEST(type_info, compare_old_type) {
ov::DiscreteTypeInfo type1("type1", 0);
ov::DiscreteTypeInfo type2("type2", 0);
ov::DiscreteTypeInfo type3("type1", 1);
ov::DiscreteTypeInfo type4("type3", 0, &type1);
ov::DiscreteTypeInfo type5("type3", 0, &type2);
ASSERT_TRUE(type1 != type2);
ASSERT_TRUE(type1 == type1);
ASSERT_TRUE(type1 < type2);
ASSERT_TRUE(type2 > type1);
ASSERT_TRUE(type1 >= type1);
ASSERT_TRUE(type1 <= type1);
ASSERT_TRUE(type3 >= type1);
ASSERT_TRUE(type1 <= type3);
ASSERT_FALSE(type4 != type5);
ASSERT_FALSE(type4 < type5);
}
TEST(type_info, compare_new_type) {
ov::DiscreteTypeInfo type1("type1", 0, "version1");
ov::DiscreteTypeInfo type2("type2", 0, "version1");
ov::DiscreteTypeInfo type3("type1", 1, "version2");
ov::DiscreteTypeInfo type4("type3", 0, "version3", &type1);
ov::DiscreteTypeInfo type5("type3", 0, "version3", &type2);
ASSERT_TRUE(type1 != type2);
ASSERT_TRUE(type1 == type1);
ASSERT_TRUE(type1 < type2);
ASSERT_TRUE(type2 > type1);
ASSERT_TRUE(type1 >= type1);
ASSERT_TRUE(type1 <= type1);
ASSERT_TRUE(type3 >= type1);
ASSERT_TRUE(type1 <= type3);
ASSERT_FALSE(type4 != type5);
ASSERT_FALSE(type4 < type5);
}
TEST(type_info, compare_new_with_old_type) {
ov::DiscreteTypeInfo type1("type1", 0, "version1");
ov::DiscreteTypeInfo type1_o("type1", 0);
ASSERT_TRUE(type1 == type1_o);
}