Keras设置随机种子后无法得到相同结果的解决方法

  • 操作系统:macOS。
  • tensorflow版本:2.1.0
  • keras版本:2.3.1

问题描述

  • 在代码的最开始加上随机种子后(代码如下),每次模型运行结果还是有有些许不同。
import numpy as np
my_seed = 666
np.random.seed(my_seed)
import random 
random.seed(my_seed)
import tensorflow as tf
tf.random.set_seed(my_seed)

解决方法

  • 模型compile的时候,我原本的代码是这样写的:
model.compile(optimizer=Adam(learning_rate=0.001), loss='mae')
  • 只需将上述代码改为(以防万一,我还是在开头加上了随机种子):
optimizer =tf.optimizers.Adam(learning_rate=0.001)
m.compile(optimizer=optimizer, loss='mae')
  • 参考链接:https://github.com/keras-team/keras/issues/12247

你可能感兴趣的:(Keras,深度学习,tensorflow,机器学习)