哪些操作支持自动渐变?

时间:2017-01-06 07:13:31

标签: tensorflow

我的网络中有一个相当复杂的量化层,其中包含tf.tiletf.expand_dims操作。我注意到我的网络训练不好。看一些调试输出,我看到在该量化层之前完全连接的层的权重为零梯度(我使用optimizer.compute_gradients来确定这一点)。这是否意味着量化层在训练中不更新之前的情况?

一般情况下:我如何确定哪些操作允许渐变通过哪些操作?例如,上面提到的tf.tiletf.expand_dims让渐变通过`

1 个答案:

答案 0 :(得分:3)

如果模型中没有渐变的操作,则会出现错误:

LookupError: No gradient defined for operation [...]

所以你的问题似乎在其他地方,也许你会在某个地方乘以零来杀死渐变。您的问题中没有足够的信息来找出问题的真正原因。

编辑: 我没有直接回答哪些操作支持自动渐变的问题。

它没有在文档中列出,我认为您只能通过检查源代码或使用操作来查看它,并在尝试优化模型时查看是否出现上述错误。

对于tf.tiletf.expand_dims,定义了渐变。