當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.Dropout用法及代碼示例

用法:

mxnet.ndarray.Dropout(data=None, p=_Null, mode=_Null, axes=_Null, cudnn_off=_Null, out=None, name=None, **kwargs)

參數

  • data(NDArray) - 將應用 dropout 的輸入數組。
  • p(float, optional, default=0.5) - 在訓練期間丟失的輸入的一部分。
  • mode({'always', 'training'},optional, default='training') - 是僅在訓練期間打開 dropout 還是同時打開進行推理。
  • axes(Shape(tuple), optional, default=[]) - 變分 dropout 內核的軸。
  • cudnn_off(boolean or None, optional, default=0) - 是否關閉 dropout 運算符中的 cudnn。如果指定了軸,則忽略此選項。
  • out(NDArray, optional) - 輸出 NDArray 來保存結果。

返回

out- 此函數的輸出。

返回類型

NDArray 或 NDArray 列表

對輸入數組應用 dropout 操作。

  • 在訓練期間,輸入的每個元素都以概率 p 設置為零。整個數組由 重新縮放,以保持輸入的預期總和不變。
  • 在測試期間,如果模式為‘training’,則此運算符不會更改輸入。如果模式為‘always’,將應用與訓練期間相同的計算。

例子:

random.seed(998)
input_array = array([[3., 0.5,  -0.5,  2., 7.],
                    [2., -0.4,   7.,  3., 0.2]])
a = symbol.Variable('a')
dropout = symbol.Dropout(a, p = 0.2)
executor = dropout.simple_bind(a = input_array.shape)

## If training
executor.forward(is_train = True, a = input_array)
executor.outputs
[[ 3.75   0.625 -0.     2.5    8.75 ]
 [ 2.5   -0.5    8.75   3.75   0.   ]]

## If testing
executor.forward(is_train = False, a = input_array)
executor.outputs
[[ 3.     0.5   -0.5    2.     7.   ]
 [ 2.    -0.4    7.     3.     0.2  ]]

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.ndarray.Dropout。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。