使用 Libtorch 1.5 和 C++ 中的优化器选项更新学习率
Updating learning rate with Libtorch 1.5 and optimiser options in C++
随着 PyTorch C++ API 1.5 稳定版的发布,一些对象接口发生了一些变化。例如,现在
optimizer.options.learning_rate();
不起作用(这里使用的优化器是 Adam(,因为learning_rate
已更改为lr
(见 https://github.com/pytorch/pytorch/releases(,但此外优化器不再有选项(no member named 'options' in 'torch::optim::Adam'
(。所以我的问题是:一个人将如何运行
optimizer.options.learning_rate();
或更新学习率
optimizer.options.learning_rate(updatedlearningrate);
随着新版本?任何帮助将不胜感激!谢谢
优化器现在的行为与 Python 对应项类似,并且需要按参数组设置学习率。
for (auto param_group : optimizer.param_groups()) {
# Static cast needed as options() returns OptimizerOptions (base class)
static_cast<torch::optim::AdamOptions &>(param_group.options()).lr(new_lr);
}
如果您没有指定单独的参数组,则只有一个组,您可以按照问题 #35640 - 自最新提交以来如何更改 Adam 学习率中的建议直接设置其学习率?
static_cast<torch::optim::AdamOptions &>(optimizer.param_groups()[0].options()).lr(new_lr)
相关文章:
- 空基优化子对象的地址
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- Win32编译器选项和内存分配
- 关闭||运算符优化
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- C/C++预处理器是否可以检测一些编译器选项
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 返回值优化:显式移动还是隐式
- 人脸跟踪arduino代码的优化
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 通过选项卡的文本设置QTabWidget顺序
- 通过ccmake在cmake中缓存依赖选项
- 纯函数,为什么没有优化
- 使用 Libtorch 1.5 和 C++ 中的优化器选项更新学习率
- 用于 TSP 的 3 选项优化代码
- g++优化选项会影响sin函数的值
- 是否有任何优化选项,可以改变结构的对齐在VS2012
- 如何在gcc中保留命令行选项,但为某些功能添加更多优化标志
- 变量通过g++和-Og选项优化出来