|
ViewDesignEngine
3.1.0
高性能 CAD 计算几何引擎
|
固定学习率的简单梯度下降优化器 更多...
#include <sdf_optimize.h>
Public 成员函数 | |
| GradientDescent (double lr) | |
| 构造优化器 更多... | |
| double | step (std::vector< double > ¶ms, const std::function< double(const std::vector< double > &, std::vector< double > &)> &grad_fn) |
| 执行单步梯度下降 更多... | |
| void | set_learning_rate (double lr) |
| 设置学习率 更多... | |
| double | learning_rate () const |
| 获取学习率 更多... | |
| int | iteration () const |
| 获取当前迭代次数 更多... | |
固定学习率的简单梯度下降优化器
管理迭代计数和学习率,提供 step() 方法执行单步参数更新。
在文件 sdf_optimize.h 第 428 行定义.
|
inlineexplicit |
|
inline |
获取当前迭代次数
在文件 sdf_optimize.h 第 459 行定义.
|
inline |
获取学习率
在文件 sdf_optimize.h 第 456 行定义.
|
inline |
设置学习率
在文件 sdf_optimize.h 第 453 行定义.
| double vde::sdf::GradientDescent::step | ( | std::vector< double > & | params, |
| const std::function< double(const std::vector< double > &, std::vector< double > &)> & | grad_fn | ||
| ) |
执行单步梯度下降
调用 grad_fn 获取当前参数的梯度和损失值, 然后沿负梯度方向更新参数: param_i -= lr · grad_i。
| params | 参数向量(原地修改) |
| grad_fn | 梯度计算函数,签名为 double(const std::vector<double>& vals, std::vector<double>& grad_out) 接受当前参数值,填充 grad_out 并返回损失标量。 |