[英]DNN - Find optimal dropout rate
有没有办法在不重新训练的情况下为我的 DNN 找到最佳丢失率?
也许一些子问题:
(X_train_full, y_train_full), (X_test, y_test) = keras.datasets.cifar10.load_data()
X_train = X_train_full[5000:]
y_train = y_train_full[5000:]
X_valid = X_train_full[:5000]
y_valid = y_train_full[:5000]
model_dropout = keras.models.Sequential()
model_dropout.add(keras.layers.Flatten(input_shape=[32, 32, 3]))
for _ in range(20):
model_dropout.add(keras.layers.Dense(100, activation="relu"))
model_dropout.add(keras.layers.Dropout(0.5)) #should be after each layer
model_dropout.add(keras.layers.Dense(10, activation="softmax"))
# Compile the model
model_dropout.compile(loss="sparse_categorical_crossentropy",
optimizer="adam",
metrics=["accuracy"])
# Train the model
result_dropout = model_dropout.fit(X_train, y_train, epochs=100, validation_data=(X_valid, y_valid))
# Plot the learning curves
pd.DataFrame(result_dropout.history).plot(figsize=(8, 5))
plt.grid(True)
plt.show()
# Evaluate the model
model_dropout.evaluate(X_test, y_test)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.