次のコードで空欄になっている行に入る適切なものを 1 ~ 3 からそれぞれ選び,
バッチ正規化によって DNN モデルを正規化してください.
import tensorflow as tf
n_inputs = 28 * 28
n_hidden1 = 300
n_hidden2 = 100
n_outputs = 10
X = tf.placeholder(tf.float32, shape=(None, n_inputs), name=”X”)
train = tf.placeholder_with_default(False, shape=(), name=’training’)
hidden1 = tf.layers.dense(X, n_hidden1, name=”hidden1″)
# Q1:hidden1 をバッチ正規化してください.
bn1 = ##########
[Q1の選択肢]
1. tf.layers.batch_normalization(hidden1, training=train, momentum=0.9)
2. tf.layers.batchnormalization(hidden1, training=train, momentum=0.9)
3. tf.layers.batch_normalize(hidden1, training=x, momentum=0.9)
#Q2:ELU 活性化関数を使用してください.
bn1_act = ##########
hidden2 = tf.layers.dense(bn1_act, n_hidden2, name=”hidden2″)
bn2 = tf.layers.batch_normalization(hidden2, training=train, momentum=0.9)
bn2_act = tf.nn.elu(bn2)
logits_before_bn = tf.layers.dense(bn2_act, n_outputs, name=”outputs”)
logits = tf.layers.batch_normalization(logits_before_bn, training=train,
momentum=0.9)
[Q2の選択肢]
1. tf.keras.elu(hidden1)
2. tf.layers.elu(bn1)
3. tf.nn.elu(bn1)