34 details::caseless_map<std::string, std::function<void(const std::shared_ptr<const Layer>&, bool)>>
validators;
37 IE_SUPPRESS_DEPRECATED_START
43 class INFERENCE_ENGINE_NN_BUILDER_API_CLASS(Layer):
public ILayer,
public std::enable_shared_from_this<Layer> {
48 using Ptr = std::shared_ptr<Layer>;
52 using CPtr = std::shared_ptr<const Layer>;
59 explicit Layer(
const std::string&
type,
const std::string&
name =
"");
80 return params == rhs.params;
87 idx_t getId()
const noexcept
override;
93 const std::string& getName()
const noexcept
override;
106 const std::string& getType()
const noexcept
override;
119 const std::map<std::string, Parameter>& getParameters()
const noexcept
override;
124 std::map<std::string, Parameter>& getParameters();
131 Layer& setParameters(
const std::map<std::string, Parameter>&
params);
137 const std::vector<Port>& getInputPorts()
const noexcept
override;
143 std::vector<Port>& getInputPorts();
150 Layer& setInputPorts(
const std::vector<Port>& ports);
157 const std::vector<Port>& getOutputPorts()
const noexcept
override;
162 std::vector<Port>& getOutputPorts();
169 Layer& setOutputPorts(
const std::vector<Port>& ports);
180 void validate(
bool partial =
false)
const;
187 static void addValidator(
const std::string& type,
const std::function<
void(
const Layer::CPtr&,
bool)>& validator);
193 std::vector<Port> inPorts;
194 std::vector<Port> outPorts;
195 std::map<std::string, Parameter>
params;
196 static std::shared_ptr<ValidatorsHolder> getValidatorsHolder();
211 const std::function<
void(
const Layer::CPtr&,
bool)>& validator) {
216 IE_SUPPRESS_DEPRECATED_END
218 #define REG_VALIDATOR_FOR(__type, __validator) \ 219 static InferenceEngine::Builder::ValidatorRegisterBase _reg_##__type(#__type, __validator) This class implements a builder for IE Layer.
Definition: ie_layer_builder.hpp:43
Inference Engine API.
Definition: ie_argmax_layer.hpp:15
std::shared_ptr< const Layer > CPtr
A shared pointer to the constant Layer builder.
Definition: ie_layer_builder.hpp:52
std::string name
Layer name.
Definition: ie_layers.h:42
std::shared_ptr< const ILayer > CPtr
A shared pointer to the const ILayer object.
Definition: ie_network.hpp:353
A header file for Blob and generic TBlob<>
ValidatorRegisterBase(const std::string &type, const std::function< void(const Layer::CPtr &, bool)> &validator)
The constructor registers new layer validator.
Definition: ie_layer_builder.hpp:210
details::caseless_map< std::string, std::function< void(const std::shared_ptr< const Layer > &, bool)> > validators
Caseless map connects type with validator.
Definition: ie_layer_builder.hpp:34
std::shared_ptr< Layer > Ptr
A shared pointer to the Layer builder.
Definition: ie_layer_builder.hpp:48
This structure implements a holder for validators.
Definition: ie_layer_builder.hpp:30
static void addValidator(const std::string &type, const std::function< void(const Layer::CPtr &, bool)> &validator)
Registers a new validator for type.
bool operator==(const Layer &rhs) const
Compares the given Layer builder with the current one.
Definition: ie_layer_builder.hpp:79
size_t idx_t
A type of network objects indexes.
Definition: ie_network.hpp:29
A header file for the Parameter class.
std::map< std::string, std::string > params
Map of pairs: (parameter name, parameter value)
Definition: ie_layers.h:367
This class is the main interface to describe the Inference Engine layer.
Definition: ie_network.hpp:346
A header file for the Inference Engine Network interface.
std::string type
Layer type.
Definition: ie_layers.h:47
This class registers layer validators.
Definition: ie_layer_builder.hpp:203