Tensorflow Keras的辍学率不高';改变学习阶段不会产生任何影响

Tensorflow Keras的辍学率不高';改变学习阶段不会产生任何影响,tensorflow,keras,Tensorflow,Keras,这是我的密码。 当我运行模型时,每次运行都得到相同的结果。但是,在运行模型时,结果是否会因为丢失层而发生轻微变化?所有丢失层都已丢失,这将使模型始终丢失相同的神经元。现在,每个层都有固定的输入、固定的权重(而不是优化模型),并且始终有相同的退出,您将始终获得相同的输出。所有退出层都有,这将使模型始终丢弃相同的神经元。现在,每个层都有固定的输入、固定的权重(而不是优化模型),并且始终有相同的退出,您将始终获得相同的输出。那么,是否仍有更改随机种子的方法?我尝试使用tf.set\u random\u

这是我的密码。
当我运行模型时,每次运行都得到相同的结果。但是,在运行模型时,结果是否会因为丢失层而发生轻微变化?

所有丢失层都已丢失,这将使模型始终丢失相同的神经元。现在,每个层都有固定的输入、固定的权重(而不是优化模型),并且始终有相同的退出,您将始终获得相同的输出。

所有退出层都有,这将使模型始终丢弃相同的神经元。现在,每个层都有固定的输入、固定的权重(而不是优化模型),并且始终有相同的退出,您将始终获得相同的输出。

那么,是否仍有更改随机种子的方法?我尝试使用tf.set\u random\u seed,但仍然得到相同的结果。此外,当我尝试打印退出层和之前的层时,我没有看到任何不同。根本不要使用seed。它仅用于测试,特别是用于生成可预测的预测,如果您正在训练模型,请从退出层中删除种子。那么,是否仍有更改随机种子的方法?我尝试使用tf.set\u random\u seed,但仍然得到相同的结果。此外,当我尝试打印退出层和之前的层时,我没有看到任何不同。根本不要使用seed。它仅用于测试,特别是用于生成可预测的预测,如果您正在训练模型,请从退出层中移除种子。
inp = Input([10], name='Input')
X = Dense(10, activation='relu', kernel_initializer='glorot_uniform')(inp)
X = Dropout(0.5, seed=0)(X)
X = Dense(1, activation='relu', kernel_initializer='glorot_uniform')(X)
X = Dropout(0.5, seed=0)(X)
m = Model(inputs=inp, outputs=X)
u = np.random.rand(1,10)

sess.run(tf.global_variables_initializer())
K.set_learning_phase(0)
print(sess.run(X, {inp: u}))
print(sess.run(X, {inp: u}))
K.set_learning_phase(1)
print(sess.run(X, {inp: u}))
print(sess.run(X, {inp: u}))
print(m.predict(u))