Optimizer

class Optimizer

枚举类

Device

enum Device {
    CPU = 0,
    GPU = 1,
    OTHER = 2,
    AUTO = 3
};
value name 说明
0 CPU 中央处理器
1 GPU 图像处理器
2 OTHER 其他
3 AUTO 自定义

成员函数


Optimizer

构造函数

Optimizer() = default;

创建一个空Optimizer

参数:无

返回:Optimizer对象


~Optimizer

析构函数

virtual ~Optimizer() = default;

创建一个空Optimizer

参数:无

返回:Optimizer对象


create

static std::shared_ptr<Optimizer> create(Config config);

创建一个Optimizer对象

参数:

  • config 配置信息,包括线程、Device和MNNForwardType等信息

返回:Optimizer对象


onGetParameters

virtual std::shared_ptr<Parameters> onGetParameters(const std::vector<VARP>& outputs) {
    return nullptr;
};

获取Optimizer对象的参数

参数:

  • outputs Optimizer输出信息

返回:Optimizer对象的参数


onMeasure

virtual Cost onMeasure(const std::vector<VARP>& outputs, std::shared_ptr<Parameters> parameters = nullptr) = 0;

返回Cost对象信息,包括compute(计算)和memory(内存)信息,parameters必须与onGetParameters相同

参数:

  • outputs Optimizer输出信息

  • parameters 与onGetParameters相同

返回:Cost对象信息


onExecute

virtual bool onExecute(const std::vector<VARP>& outputs, std::shared_ptr<Parameters> parameters = nullptr) = 0;

修改输出信息,parameters必须与onGetParameters相同

参数:

  • outputs Optimizer输出信息

  • parameters 与onGetParameters相同

返回:是否修改输出成功

Parameters

class Parameters

成员函数


Parameters

Parameters(int n);

创建一个Parameters对象

参数:

  • n 成员个数

返回:Parameters对象


~Parameters

析构函数


get

float* get() const {
    return mValue;
};

获取Parameters对象成员数量

参数:无

返回:Parameters对象成员数量


size

int size() const {
    return mSize;
};

获取Parameters对象大小

参数:无

返回:Parameters对象大小