如何在Tensorflow.Keras中使用Conv2d重现相同结果?

时间:2019-05-05 01:05:21

标签: tensorflow tf.keras

我阅读了很多关于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>变平>密集每次生成代码时都会产生不同的结果。

我将不胜感激。

0 个答案:

没有答案