【发布时间】:2022-01-11 20:24:59
【问题描述】:
我在 MNIST 上有一个非常基本的模型训练,我想让训练过程具有确定性。
我已经设置了其他帖子中提到的所有这些种子:
import tensorflow as tf
import numpy as np
import random
tf.random.set_seed(12)
np.random.seed(12)
random.seed(12)
initializer = tf.keras.initializers.glorot_uniform(seed=12)
我的模型如下:
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu', kernel_initializer=initializer, bias_initializer=tf.keras.initializers.Zeros()),
tf.keras.layers.Dense(10, kernel_initializer=initializer, bias_initializer=tf.keras.initializers.Zeros())
])
model.compile(
optimizer=tf.keras.optimizers.Adam(0.001),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=[tf.keras.metrics.SparseCategoricalAccuracy()],
)
但我仍然看到来自
的非确定性行为model.fit(
ds_train,
epochs=2,
validation_data=ds_test,
callbacks=[callback],
shuffle=False, use_multiprocessing=False
)
不胜感激这方面的任何帮助!谢谢。
【问题讨论】:
标签: python tensorflow keras