TensorFlow 似乎实现了至少 3 个版本的批量归一化:
- tf.nn.batch_normalization https://www.tensorflow.org/api_docs/python/tf/nn/batch_normalization
- tf.layers.batch_normalization https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization
- tf.contrib.layers.batch_norm https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm
这些都有不同的论据和文档。
它们之间有什么区别,我应该使用哪一个?
它们实际上非常不同。
-
nn.batch_normalization
执行基本操作(即简单的标准化)
-
layers.batch_normalization
是一个批规范“层”,即它负责设置可训练参数等。归根结底,它是一个包装器nn.batch_normalization
。很可能这就是您想要使用的,除非您想自己负责设置变量等。
这类似于之间的区别nn.conv2d
and layers.conv2d
, 例如。
至于contrib
版本,我不能肯定地说,但在我看来,它像是一个实验版本,带有一些“常规”中不可用的额外参数layers
one.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)