我阅读了很多关于Stack Overflow以及Github上有关该主题的文章,但我认为情况可能会有所不同。
我的代码从下面开始,如果仅使用密集层,我可以始终如一地重现结果100%。
import numpy as np
import random as rn
import tensorflow as tf
import os
os.environ['PYTHONHASHSEED'] = '0'
np.random.seed(1)
rn.seed(2)
session_conf = tf.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1)
from tensorflow.keras import backend as K
tf.set_random_seed(3)
sess = tf.Session(graph=tf.get_default_graph(), config=session_conf)
K.set_session(sess)
但是,每次运行时,如果在“ model.add(Flatten())”之前插入这一行“ model.add(Conv2D(32,3,activation ='relu'))”,则会得到不同的结果。
输入>变平>密集产生一致的结果,但是输入> conv2d>变平>密集每次生成代码时都会产生不同的结果。
我将不胜感激。