首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PyTorch中获取所选优化器的名称?

如何在PyTorch中获取所选优化器的名称?
EN

Stack Overflow用户
提问于 2021-04-22 23:51:29
回答 1查看 124关注 0票数 0

我正在尝试不同的优化器来比较性能,作为其中的一部分,我使用TensorBoard记录结果。

我已经设置了SummaryWriter输出,以包括所使用的模型和学习率等详细信息。

代码语言:javascript
复制
writer = SummaryWriter(comment=f"_{base_model}_{lr}")

我希望它还动态地包含优化器的名称,但似乎没有内置的方法来获取所选优化器的名称。

打印优化器会返回它的名称。但是,它与参数信息捆绑在一起,因此对于日志记录来说并不理想。

代码语言:javascript
复制
>>> print(optimizer)

Adam (
Parameter Group 0
    amsgrad: False
    betas: (0.9, 0.999)
    eps: 1e-08
    lr: 0.001
    weight_decay: 0
)

有没有一种方法可以只获取优化器的名称,而不必解析此输出?

EN

回答 1

Stack Overflow用户

发布于 2021-04-22 23:51:29

查看所有优化器基类的PyTorch source code,可以清楚地看出,作为此打印语句的一部分,优化器的类名将被访问。

因此,如果在print语句中使用访问类名的相同方法,则只打印优化器的名称:

代码语言:javascript
复制
>>> print(optimizer.__class__.__name__)

Adam

与日志记录的其余部分集成,日志名称包含所需信息:

代码语言:javascript
复制
writer = SummaryWriter(comment=f"_{base_model}_{optimizer.__class__.__name__}_{lr}")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67216681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档