【问题标题】:How to get deterministic behavior in Tensorflow如何在 Tensorflow 中获得确定性行为
【发布时间】: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


    【解决方案1】:

    当我用Google ColabTensorflow ==2.7 复制这些相同的代码时,没有错误。

    model.fit(
        x_train, y_train,
        epochs=2,
        validation_data=(x_test, y_test),
        #callbacks=[callback],
        shuffle=False, use_multiprocessing=False
    )
    

    输出:

    Epoch 1/2
    1875/1875 [==============================] - 13s 6ms/step - loss: 0.2687 - sparse_categorical_accuracy: 0.9232 - val_loss: 0.1686 - val_sparse_categorical_accuracy: 0.9460
    Epoch 2/2
    1875/1875 [==============================] - 10s 5ms/step - loss: 0.1215 - sparse_categorical_accuracy: 0.9646 - val_loss: 0.1375 - val_sparse_categorical_accuracy: 0.9561
    <keras.callbacks.History at 0x7f51a89480d0>
    

    让我们知道您遇到的traceback 错误,以及您使用哪个Tensorflow 专门用于复制和修复此问题。

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 2019-02-19
      • 2020-12-14
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多