Operation

说明

算子接口类。

定义

class Operation {
public:
    Operation() = default;
    virtual ~Operation() = default;
    virtual std::string GetName() const = 0;
    virtual Status InferShape(const SVector<TensorDesc> &inTensorDescs, SVector<TensorDesc> &outTensorDescs) const = 0;
    virtual uint32_t GetInputNum() const = 0;
    virtual uint32_t GetOutputNum() const = 0;
    virtual Status Setup(const VariantPack &variantPack, uint64_t &workspaceSize, Context *context) = 0;
    virtual Status Execute(const VariantPack &variantPack, uint8_t *workspace, uint64_t workspaceSize, Context *context) = 0;
};

成员

成员名称

描述

GetName

获取op name。

InferShape

根据输入inTensor信息推导出输出outTensor信息。

GetInputNum

获取Op/GraphOp输入Tensor个数接口。

GetOutputNum

获取Op/GraphOp输出Tensor个数接口。

Setup

配置Op/GraphOp处理及获取workspace大小接口。

Execute

Op/GraphOp执行接口。