tf.nn.batch_normalization
| Просмотреть исходный код на GitHub |
Нормализация по батчам.
tf.nn.batch_normalization(
x, mean, variance, offset, scale, variance_epsilon, name=None
)
Нормализует тензор по mean и variance, и применяет (необязательно) масштаб scale \(\gamma\) к нему, а также смещение offset \(\beta\):
\(\frac{\gamma(x-\mu)}{\sigma}+\beta\)
mean, variance, offset и scale должны иметь одну из двух форм:
- В общем случае они могут иметь такое же количество измерений, как входной
x, с одинаковыми размерами как уxдля измерений, по которым не происходит нормализация (измерение «глубины»), и размер 1 для остальных, которые нормализуются.meanиvarianceв этом случае обычно являются результатамиtf.nn.moments(..., keep_dims=True)во время обучения или скользящими средними во время инференса. - В общем случае, когда измерение «глубины» является последним измерением в тензоре
x, они могут быть одномерными тензорами того же размера, что и измерение «глубины». Это, например, относится к обычному расположению[batch, depth]полносвязных слоёв и[batch, height, width, depth]для свёрток.meanиvarianceв этом случае обычно являются результатамиtf.nn.moments(..., keep_dims=False)во время обучения или скользящими средними во время инференса.
См. Источник: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift; S. Ioffe, C. Szegedy.
| Аргументы | |
|---|---|
x | Входной Tensor произвольной размерности. |
mean | Среднее Tensor. |
variance | Дисперсия Tensor. |
offset | Смещение Tensor, часто обозначаемое \(\beta\) в уравнениях, или None. Если присутствует, будет добавлено к нормализованному тензору. |
scale | Масштаб Tensor, часто обозначаемый \(\gamma\) в уравнениях, или None. Если присутствует, масштаб применяется к нормализованному тензору. |
variance_epsilon | Малое число с плавающей точкой, чтобы избежать деления на 0. |
name | Имя для этой операции (необязательно). |
| Возвращаемые значения | |
|---|---|
| нормализованный, масштабированный, сдвинутый тензор. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/nn/batch_normalization