docs/cpp/Optimizer.md
class Optimizer
enum Device {
CPU = 0,
GPU = 1,
OTHER = 2,
AUTO = 3
};
| value | name | 说明 |
|---|---|---|
| 0 | CPU | 中央处理器 |
| 1 | GPU | 图像处理器 |
| 2 | OTHER | 其他 |
| 3 | AUTO | 自定义 |
构造函数
Optimizer() = default;
创建一个空Optimizer
参数:无
返回:Optimizer对象
析构函数
virtual ~Optimizer() = default;
创建一个空Optimizer
参数:无
返回:Optimizer对象
static std::shared_ptr<Optimizer> create(Config config);
创建一个Optimizer对象
参数:
config 配置信息,包括线程、Device和MNNForwardType等信息返回:Optimizer对象
virtual std::shared_ptr<Parameters> onGetParameters(const std::vector<VARP>& outputs) {
return nullptr;
};
获取Optimizer对象的参数
参数:
outputs Optimizer输出信息返回:Optimizer对象的参数
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对象信息
virtual bool onExecute(const std::vector<VARP>& outputs, std::shared_ptr<Parameters> parameters = nullptr) = 0;
修改输出信息,parameters必须与onGetParameters相同
参数:
outputs Optimizer输出信息parameters 与onGetParameters相同返回:是否修改输出成功
class Parameters
Parameters(int n);
创建一个Parameters对象
参数:
n 成员个数返回:Parameters对象
析构函数
float* get() const {
return mValue;
};
获取Parameters对象成员数量
参数:无
返回:Parameters对象成员数量
int size() const {
return mSize;
};
获取Parameters对象大小
参数:无
返回:Parameters对象大小