-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Optimizer
wangzhaode edited this page Feb 16, 2023
·
1 revision
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对象大小