Tensorflow种子不适用于LSTM模型
tf.set\u random\u seed()不工作,找不到opt seed。Tensorflow种子不适用于LSTM模型,tensorflow,Tensorflow,tf.set\u random\u seed()不工作,找不到opt seed。 对于LSTM中的许多参数,似乎在tf.nn.rnn_cell.BasicLSTMCell中未找到opt种子。因此,每次它都会产生不同的结果。如何设置种子以在多次运行时产生相同的结果 import numpy as np import tensorflow as tf from tensorflow.python.ops import rnn, rnn_cell if __name__ == '__main__'
对于LSTM中的许多参数,似乎在tf.nn.rnn_cell.BasicLSTMCell中未找到opt种子。因此,每次它都会产生不同的结果。如何设置种子以在多次运行时产生相同的结果
import numpy as np
import tensorflow as tf
from tensorflow.python.ops import rnn, rnn_cell
if __name__ == '__main__':
np.random.seed(1234)
X = np.array(np.array(range(1,121)).reshape(4, 6, 5), dtype = float)
x0 = tf.placeholder(tf.float32, [4, 6, 5])
x = tf.reshape(x0, [-1, 5])
x = tf.split(0, 4, x)
with tf.variable_scope('lstm') as scope:
lstm = tf.nn.rnn_cell.BasicLSTMCell(5, state_is_tuple = True)
outputs, states = tf.nn.rnn(lstm, x, dtype = tf.float32)
scope.reuse_variables()
outputs2, states2 = tf.nn.dynamic_rnn(lstm, x0, dtype=tf.float32,time_major = True)
outputs3, states3 = tf.nn.rnn(lstm, x, dtype=tf.float32)
print(outputs3)
with tf.Session() as sess:
tf.set_random_seed(1)
init = tf.initialize_all_variables()
sess.run(init)
for var in tf.trainable_variables():
print var.name
for i in range(3):
result1, result2, result3 = sess.run([outputs, outputs2, outputs3], feed_dict = {x0: X})
print result1
print '---------------------------------------'
print result2
print '---------------------------------------'
print result3
print '---------------------------------------'
我相信这应该在未来“如预期”起作用。请尝试TF夜间构建并报告:
哦,在创建任何操作之前也要调用
tf.set\u random\u seed
。找到解决方案了吗?提前谢谢