gpt4 book ai didi

python - Tensorflow 中的正确批量归一化功能是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:57:44 27 4
gpt4 key购买 nike

在 tensorflow 1.4 中,我发现了两个执行批量标准化的函数,它们看起来一样:

  1. tf.layers.batch_normalization (link)
  2. tf.contrib.layers.batch_norm (link)

我应该使用哪个功能?哪个更稳定?

最佳答案

只是添加到列表中,还有更多方法可以在 tensorflow 中进行批处理规范:

  • tf.nn.batch_normalization是一个低级操作。调用者自己负责处理 meanvariance 张量。
  • tf.nn.fused_batch_norm是另一个低级操作,与前一个类似。不同之处在于它针对 4D 输入张量进行了优化,这是卷积神经网络中的常见情况。 tf.nn.batch_normalization 接受任何等级大于 1 的张量。
  • tf.layers.batch_normalization是对先前操作的高级包装。最大的区别在于它负责创建和管理运行均值和方差张量,并在可能的情况下调用快速融合操作。通常,这应该是您的默认选择
  • tf.contrib.layers.batch_norm是批处理规范的早期实现,在它升级到核心 API(即 tf.layers)之前。不建议使用它,因为它可能会在未来的版本中被删除。
  • tf.nn.batch_norm_with_global_normalization是另一个已弃用的操作。目前,将调用委托(delegate)给 tf.nn.batch_normalization,但将来可能会被丢弃。
  • 最后还有 Keras 层 keras.layers.BatchNormalization ,在 tensorflow 后端调用 tf.nn.batch_normalization 的情况下。

关于python - Tensorflow 中的正确批量归一化功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48001759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com