TensorFlow函數(shù):tf.nn.batch_normalization

2019-01-31 11:29 更新

tf.nn.batch_normalization函數(shù)

tf.nn.batch_normalization(
    x,
    mean,
    variance,
    offset,
    scale,
    variance_epsilon,
    name=None
)

定義在:tensorflow/python/ops/nn_impl.py.

請參閱指南:神經(jīng)網(wǎng)絡>規(guī)范化

批量標準化.

如http://arxiv.org/abs/1502.03167中所述.通過mean和variance來標準化張量,并對其應用(可選)scale\(\ gamma \),以及offset\(\ beta \):

\(\frac{\gamma(x-\mu)}{\sigma}+\beta\)

mean,variance,offset以及scale都應該是以下兩種形狀中的一種:

  • 一般而言,它們可以具有與輸入x相同數(shù)量的維度,對于未標準化的維度(“depth”維度)具有與x相同的大小,對于正在被標準化的維度,它們的大小與1相同.在這種情況下,mean和variance通常會是tf.nn.moments(..., keep_dims=True)訓練期間的輸出,或推理期間運行的平均值.
  • 在“depth”維度是輸入張量x中的最后維度的常見情況下,它們可以是與“depth”維度相同大小的一維張量.例如,對于完全連接的層的公共[batch, depth]和卷積的[batch, height, width, depth]布局就是這種情況.mean和variance在這種情況下通常會是tf.nn.moments(..., keep_dims=False)訓練期間的輸出,或推理期間運行的平均值.

參數(shù):

  • x:任意維度的輸入Tensor.
  • mean:一個平均Tensor.
  • variance:一個方差Tensor.
  • offset:一個偏移量Tensor,通常在方程式中表示為\(\ beta \),或者為None;如果存在,將被添加到歸一化張量.
  • scale:一個標度Tensor,通常在方程式中表示為\(\ gamma \),或為None;如果存在,則將比例應用于歸一化張量.
  • variance_epsilon:一個小的浮點數(shù),以避免除以0.
  • name:此操作的名稱(可選).

返回:

標準化,縮放,偏移張量.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號