|
| Layer () |
|
| Layer (const LayerParams ¶ms) |
| Initializes only name, type and blobs fields.
|
|
virtual | ~Layer () |
|
virtual void | applyHalideScheduler (Ptr< BackendNode > &node, const std::vector< Mat * > &inputs, const std::vector< Mat > &outputs, int targetId) const |
| Automatic Halide scheduling based on layer hyper-parameters.
|
|
virtual void | finalize (const std::vector< Mat * > &input, std::vector< Mat > &output) |
| Computes and sets internal parameters according to inputs, outputs and blobs.
|
|
virtual void | finalize (InputArrayOfArrays inputs, OutputArrayOfArrays outputs) |
| Computes and sets internal parameters according to inputs, outputs and blobs.
|
|
void | finalize (const std::vector< Mat > &inputs, std::vector< Mat > &outputs) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
std::vector< Mat > | finalize (const std::vector< Mat > &inputs) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
virtual void | forward (std::vector< Mat * > &input, std::vector< Mat > &output, std::vector< Mat > &internals) |
| Given the input blobs, computes the output blobs .
|
|
virtual void | forward (InputArrayOfArrays inputs, OutputArrayOfArrays outputs, OutputArrayOfArrays internals) |
| Given the input blobs, computes the output blobs .
|
|
void | forward_fallback (InputArrayOfArrays inputs, OutputArrayOfArrays outputs, OutputArrayOfArrays internals) |
| Given the input blobs, computes the output blobs .
|
|
virtual int64 | getFLOPS (const std::vector< MatShape > &inputs, const std::vector< MatShape > &outputs) const |
|
virtual bool | getMemoryShapes (const std::vector< MatShape > &inputs, const int requiredOutputs, std::vector< MatShape > &outputs, std::vector< MatShape > &internals) const |
|
virtual void | getScaleShift (Mat &scale, Mat &shift) const |
| Returns parameters of layers with channel-wise multiplication and addition.
|
|
virtual Ptr< BackendNode > | initHalide (const std::vector< Ptr< BackendWrapper > > &inputs) |
| Returns Halide backend node.
|
|
virtual Ptr< BackendNode > | initInfEngine (const std::vector< Ptr< BackendWrapper > > &inputs) |
|
virtual Ptr< BackendNode > | initVkCom (const std::vector< Ptr< BackendWrapper > > &inputs) |
|
virtual int | inputNameToIndex (String inputName) |
| Returns index of input blob into the input array.
|
|
virtual int | outputNameToIndex (const String &outputName) |
| Returns index of output blob in output array.
|
|
void | run (const std::vector< Mat > &inputs, std::vector< Mat > &outputs, std::vector< Mat > &internals) |
| Allocates layer and computes output.
|
|
virtual bool | setActivation (const Ptr< ActivationLayer > &layer) |
| Tries to attach to the layer the subsequent activation layer, i.e. do the layer fusion in a partial case.
|
|
void | setParamsFrom (const LayerParams ¶ms) |
| Initializes only name, type and blobs fields.
|
|
virtual bool | supportBackend (int backendId) |
| Ask layer if it support specific backend for doing computations.
|
|
virtual Ptr< BackendNode > | tryAttach (const Ptr< BackendNode > &node) |
| Implement layers fusing.
|
|
virtual bool | tryFuse (Ptr< Layer > &top) |
| Try to fuse current layer with a next one.
|
|
virtual void | unsetAttached () |
| "Deattaches" all the layers, attached to particular layer.
|
|
void | writeFormat (FileStorage &fs) const |
|
Slice layer has several modes:
- Caffe mode
- Parameters
-
[in] | axis | Axis of split operation |
[in] | slice_point | Array of split points |
Number of output blobs equals to number of split points plus one. The first blob is a slice on input from 0 to slice_point
[0] - 1 by axis
, the second output blob is a slice of input from slice_point
[0] to slice_point
[1] - 1 by axis
and the last output blob is a slice of input from slice_point
[-1] up to the end of axis
size.
- TensorFlow mode
- Parameters
-
begin | Vector of start indices |
size | Vector of sizes |
More convenient numpy-like slice. One and only output blob is a slice input[begin[0]:begin[0]+size[0], begin[1]:begin[1]+size[1], ...]
- Torch mode
- Parameters
-
axis | Axis of split operation |
Split input blob on the equal parts by axis
.