繁体   English   中英

如何在 tensorflow 自定义优化器中指定自定义权重更新

[英]How to specify custom weight updates in tensorflow custom optimizer

在自定义优化器中,如果损失 function 没有减少,我想用随机值更新权重。

但是,在您可以覆盖的方法(resource_apply_dense、resource_apply_sparse、create_slots、get_config)中,我看不到如何做到这一点。 他们都没有通过损失function。

我尝试过覆盖最小化(),但这不是在标准训练循环中调用的。

有任何想法吗?

如果您正在编写自定义优化器,我认为应用它的最简单方法也是显式定义层。 在标准的前馈神经网络中,如果x是输入,则h=tf.tanh(tf.matmul(x,W)+b)是第一个隐藏层的示例。 同样,您可以获得更多层。 然后 W 和 b 是您需要更新的变量。 训练循环看起来像这样:

trainable_variables=[W,b]
for i in range(1000):
     optimizer.minimize(loss, trainable_variables)

但使用您自己的优化器,而不是来自 keras 的优化器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM