tensorflow - TensorFlow 获取优化器计算的更新
问题描述
在tf
中,优化器类只有两个功能:
compute_gradients
apply_gradients
where返回一个通过函数apply_gradients
执行更新的操作。w <- w + Δw
tf.assign_add
但是我需要直接访问它Δw
本身。(或w' = w+Δw
)。我知道优化器将节点添加到计算图中,Δw
为每个变量计算它。我怎样才能访问它们?还是我必须自己重新实现优化器?
原因是我需要计算梯度dw'/dw
,因为我正在研究与基于梯度的超参数优化相关的事情(参见https://arxiv.org/abs/1703.01785)
解决方案
要获得更新,您只需在执行后直接w'
打印即可。目前是.w
optimizer.apply_gradients()
w
w'
现在,如果要获取 的梯度w
,只需进行 的操作即可w'-w
。
推荐阅读
- android - 如何使用 Java/Kotlin 将 PDF 文件上传到服务器?
- swift - let 语句中的条件表达式
- mongodb - MongoDB 3.4.2 因校验和错误而崩溃,校验和为 0x20202020(四个空格),十进制为 538976288
- node.js - 从签名 URL 创建的图像下载 URL 仅在特定时间有效?
- javascript - 如何在 X 秒内执行命令?
- grails - 首次使用 Grails 包装器时必须连接到 Internet
- r - 在R中的行中添加多列计数频率
- vb.net - 如果选中任何复选框,则将启用某些文本框
- asp.net - 如何使用 SDK 在单独的 ASP.NET 端点中订阅 Microsoft Graph 更改通知
- url - 如何通过 URL 链接在 Django 中导航 State-District-taluk-village