tf.keras.layers.Dropout

tf.keras.layers.Dropout은 입력에 대해 Dropout을 수행합니다.



예제

import tensorflow as tf
import numpy as np

tf.random.set_seed(0)
data = np.arange(10).reshape(5, 2).astype(np.float32)
print(data)

dropout_layer = tf.keras.layers.Dropout(0.2, input_shape=(2,))
output = dropout_layer(data, training=True)
print(output)
[[0. 1.]
[2. 3.]
[4. 5.]
[6. 7.]
[8. 9.]]

tf.Tensor(
[[ 0.    1.25]
[ 2.5   3.75]
[ 5.    6.25]
[ 7.5   8.75]
[10.    0.  ]], shape=(5, 2), dtype=float32)

tf.keras.layers.Dropout 레이어는 입력에 대해 지정한 비율 rate로 0으로 변환합니다.

예를 들어 rate=0.2라면 10개 중 2개의 값이 0이 됩니다.

0으로 변환되지 않은 값은 1/(1-rate)의 비율로 증가해서, 입력의 총합은 유지됩니다.

Dropout 레이어는 training=True일 때만 동작해서, 훈련 (Training)이 아닌 추론 (Inference) 과정에서는 동작하지 않습니다.



이전글/다음글