|
virtual void | forwardSlice (const float *src, float *dst, int len, size_t outPlaneSize, int cn0, int cn1) const |
|
virtual void | forwardSlice (const int *src, const int *lut, int *dst, int len, size_t outPlaneSize, int cn0, int cn1) const |
|
virtual void | forwardSlice (const int8_t *src, const int8_t *lut, int8_t *dst, int len, size_t outPlaneSize, int cn0, int cn1) const |
|
| Layer () |
|
| Layer (const LayerParams ¶ms) |
| 仅初始化 name、type 和 blobs 字段。
|
|
virtual | ~Layer () |
|
virtual void | applyHalideScheduler (Ptr< BackendNode > &node, const std::vector< Mat * > &inputs, const std::vector< Mat > &outputs, int targetId) const |
| 基于层超参数的自动 Halide 调度。
|
|
virtual void | finalize (const std::vector< Mat * > &input, std::vector< Mat > &output) |
| 根据输入、输出和 blobs 计算并设置内部参数。
|
|
std::vector< Mat > | finalize (const std::vector< Mat > &inputs) |
| 这是一个重载的成员函数,提供用于方便。它与上面的函数的不同之处仅在于它接受的参数。
|
|
void | finalize (const std::vector< Mat > &inputs, std::vector< Mat > &outputs) |
| 这是一个重载的成员函数,提供用于方便。它与上面的函数的不同之处仅在于它接受的参数。
|
|
virtual void | finalize (InputArrayOfArrays inputs, OutputArrayOfArrays outputs) |
| 根据输入、输出和 blobs 计算并设置内部参数。
|
|
virtual void | forward (InputArrayOfArrays inputs, OutputArrayOfArrays outputs, OutputArrayOfArrays internals) |
| 给定 input blobs,计算输出 blobs 。
|
|
virtual void | forward (std::vector< Mat * > &input, std::vector< Mat > &output, std::vector< Mat > &internals) |
| 给定 input blobs,计算输出 blobs 。
|
|
void | forward_fallback (InputArrayOfArrays inputs, OutputArrayOfArrays outputs, OutputArrayOfArrays internals) |
| 给定 input blobs,计算输出 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 |
| 返回具有逐通道乘法和加法的层的参数。
|
|
virtual void | getScaleZeropoint (float &scale, int &zeropoint) const |
| 返回层的比例和零点。
|
|
virtual Ptr< BackendNode > | initCann (const std::vector< Ptr< BackendWrapper > > &inputs, const std::vector< Ptr< BackendWrapper > > &outputs, const std::vector< Ptr< BackendNode > > &nodes) |
| 返回 CANN 后端节点。
|
|
virtual Ptr< BackendNode > | initCUDA (void *context, const std::vector< Ptr< BackendWrapper > > &inputs, const std::vector< Ptr< BackendWrapper > > &outputs) |
| 返回 CUDA 后端节点。
|
|
virtual Ptr< BackendNode > | initHalide (const std::vector< Ptr< BackendWrapper > > &inputs) |
| 返回 Halide 后端节点。
|
|
virtual Ptr< BackendNode > | initNgraph (const std::vector< Ptr< BackendWrapper > > &inputs, const std::vector< Ptr< BackendNode > > &nodes) |
|
virtual Ptr< BackendNode > | initTimVX (void *timVxInfo, const std::vector< Ptr< BackendWrapper > > &inputsWrapper, const std::vector< Ptr< BackendWrapper > > &outputsWrapper, bool isLast) |
| 返回 TimVX 后端节点。
|
|
virtual Ptr< BackendNode > | initVkCom (const std::vector< Ptr< BackendWrapper > > &inputs, std::vector< Ptr< BackendWrapper > > &outputs) |
|
virtual Ptr< BackendNode > | initWebnn (const std::vector< Ptr< BackendWrapper > > &inputs, const std::vector< Ptr< BackendNode > > &nodes) |
|
virtual int | inputNameToIndex (String inputName) |
| 返回输入 blob 在输入数组中的索引。
|
|
virtual int | outputNameToIndex (const String &outputName) |
| 返回输出 blob 在输出数组中的索引。
|
|
void | run (const std::vector< Mat > &inputs, std::vector< Mat > &outputs, std::vector< Mat > &internals) |
| 分配层并计算输出。
|
|
virtual bool | setActivation (const Ptr< ActivationLayer > &layer) |
| 尝试将后续激活层附加到该层,即在部分情况下进行层融合。
|
|
void | setParamsFrom (const LayerParams ¶ms) |
| 仅初始化 name、type 和 blobs 字段。
|
|
virtual bool | supportBackend (int backendId) |
| 询问层是否支持特定后端进行计算。
|
|
virtual Ptr< BackendNode > | tryAttach (const Ptr< BackendNode > &node) |
| 实现层融合。
|
|
virtual bool | tryFuse (Ptr< Layer > &top) |
| 尝试将当前层与下一个层融合。
|
|
virtual bool | tryQuantize (const std::vector< std::vector< float > > &scales, const std::vector< std::vector< int > > &zeropoints, LayerParams ¶ms) |
| 尝试量化给定层并计算固定点实现所需的量化参数。
|
|
virtual void | unsetAttached () |
| “分离”所有附加到特定层的层。
|
|
virtual bool | updateMemoryShapes (const std::vector< MatShape > &inputs) |
|
| Algorithm () |
|
virtual | ~Algorithm () |
|
virtual void | clear () |
| 清除算法状态。
|
|
virtual bool | empty () const |
| 如果 Algorithm 为空(例如在最开始或在读取失败后),则返回 true。
|
|
virtual String | getDefaultName () const |
|
virtual void | read (const FileNode &fn) |
| 从文件存储区读取算法参数。
|
|
virtual void | save (const String &filename) const |
|
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
|
virtual void | write (FileStorage &fs) const |
| 将算法参数存储在文件存储区中。
|
|
void | write (FileStorage &fs, const String &name) const |
|
std::vector< Mat > | blobs |
| 必须在此处存储学习到的参数列表,以便使用 Net::getParam() 读取它们。
|
|
String | name |
| 层实例的名称,可用于日志记录或其他内部用途。
|
|
int | preferableTarget |
| 层转发首选目标
|
|
String | type |
| 层工厂用于创建层的类型名称。
|
|
void | writeFormat (FileStorage &fs) const |
|