-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Optimizer
wangzhaode edited this page Feb 16, 2023
·
1 revision
class Optimizerenum 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对象的参数
参数:
-
outputsOptimizer输出信息
返回:Optimizer对象的参数
virtual Cost onMeasure(const std::vector<VARP>& outputs, std::shared_ptr<Parameters> parameters = nullptr) = 0;返回Cost对象信息,包括compute(计算)和memory(内存)信息,parameters必须与onGetParameters相同
参数:
-
outputsOptimizer输出信息 -
parameters与onGetParameters相同
返回:Cost对象信息
virtual bool onExecute(const std::vector<VARP>& outputs, std::shared_ptr<Parameters> parameters = nullptr) = 0;修改输出信息,parameters必须与onGetParameters相同
参数:
-
outputsOptimizer输出信息 -
parameters与onGetParameters相同
返回:是否修改输出成功
class ParametersParameters(int n);创建一个Parameters对象
参数:
-
n成员个数
返回:Parameters对象
析构函数
float* get() const {
return mValue;
};获取Parameters对象成员数量
参数:无
返回:Parameters对象成员数量
int size() const {
return mSize;
};获取Parameters对象大小
参数:无
返回:Parameters对象大小