- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是如何使用推荐的 tf.keras.layers.BatchNormalization 类 (https://www.tensorflow.org/api_docs/python/tf/keras/layers/BatchNormalization) 在 TensorFlow(TensorFlow 版本 1.13.1,适用于图形模式下的 Python)中正确训练批量归一化层。
较早的推荐方法是使用 tf.layers.batch_normalization。文档 ( https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization ) 表明它目前正在弃用而不是支持 tf.keras.layers.BatchNormalization。
在使用旧类时,文档指出我们必须显式地添加对均值和方差更新操作的依赖,否则这将是训练操作中任何依赖之外的悬挂节点:
update_ops_including_from_batch_norms = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops):
my_optimizer = tf.super_cool_optimizer(loss)
我的问题:在 TF 1.13 中使用 tf.keras.layers.BatchNormalization 训练批量规范时,是否仍然需要明确依赖 UPDATE_OPS?我没有在文档中看到这一点,但是,如果有人确定(并且如果可以指向官方文档或代码则更好)这些操作依赖性是隐式处理的,我会更舒服。
最佳答案
答案是否定的,不需要。在 https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization 的当前文档中提到了它.
附带说明一下,我目前正在使用 tf.layers.BatchNormalization 并显式依赖 UPDATE_OPS(TF 版本 1.10),因为 tf.layers.keras.BatchNormalization 对我来说似乎有问题。使用 tf.layers.keras.BatchNormalization 时我的模型验证失败。也许它已在最近的更新中得到修复。
关于python - 如何正确训练 tf.keras.layers.BatchNormalization : Is there still a tf. GraphKeys.UPDATE_OPS 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55718702/
我是一名优秀的程序员,十分优秀!