编程语言
首页 > 编程语言> > python – Tensorflow中的正确批量规范化功能是什么?

python – Tensorflow中的正确批量规范化功能是什么?

作者:互联网

在tensorflow 1.4中,我找到了两个执行批量规范化的函数,它们看起来相同:

> tf.layers.batch_normalization(link)
> tf.contrib.layers.batch_norm(link)

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

解决方法:

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

> tf.nn.batch_normalization是一个低级操作.调用者负责处理均值和方差张量本身.
> 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是另一个弃用的操作.目前,委托调用tf.nn.batch_normalization,但将来可能会被删除.
>最后,还有Keras层keras.layers.BatchNormalization,在张量流后端的情况下调用tf.nn.batch_normalization.

标签:python,tensorflow,neural-network,deep-learning,batch-normalization
来源: https://codeday.me/bug/20190925/1817548.html