Back to Mnn

Optimizer

docs/cpp/Optimizer.md

3.5.02.3 KB
Original Source

Optimizer

cpp
class Optimizer

枚举类

Device

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

成员函数


Optimizer

构造函数

cpp
Optimizer() = default;

创建一个空Optimizer

参数:无

返回:Optimizer对象


~Optimizer

析构函数

cpp
virtual ~Optimizer() = default;

创建一个空Optimizer

参数:无

返回:Optimizer对象


create

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

创建一个Optimizer对象

参数:

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

返回:Optimizer对象


onGetParameters

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

获取Optimizer对象的参数

参数:

  • outputs Optimizer输出信息

返回:Optimizer对象的参数


onMeasure

cpp
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

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

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

参数:

  • outputs Optimizer输出信息
  • parameters 与onGetParameters相同

返回:是否修改输出成功

Parameters

cpp
class Parameters

成员函数


Parameters

cpp
Parameters(int n);

创建一个Parameters对象

参数:

  • n 成员个数

返回:Parameters对象


~Parameters

析构函数


get

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

获取Parameters对象成员数量

参数:无

返回:Parameters对象成员数量


size

cpp
int size() const {
    return mSize;
};

获取Parameters对象大小

参数:无

返回:Parameters对象大小