0
总体来说,我写使用Tensorflow一个RNN模型。我继承RNNCell
并自定义我自己的单元格。最后,我使用dynamic_rnn
来构建整个RNN。细节是我想将张量从shape [n,m]转换为[n,m,1]。我使用两种方法来实现这一点:为什么在Tensorflow中使用reshape和expand_dims会得到不同的结果?
tf.reshape(matrix, [n, m, 1]) # the first method
tf.expand_dims(matrix, -1) # the second method
我期望是,使用这两种方法,我会得到完全相同的训练和预测结果(所有的随机种子是固定的)。但结果是不同的。我很困惑。
谢谢!我用session.run得到两个'重塑的结果(矩阵,[N,M,1])'和'expand_dims(矩阵,-1)',它们是完全一样的。 “他们的职能是不同的”是什么意思?我设置了固定的随机种子,因此每次运行代码时都没有随机性。 – jzb
因此,您始终使用相同的输入获得相同的结果? –
是的,如果我坚持用方法1(或方法2),我总是得到相同的结果,因为随机种子是固定的。但是如果我将代码从方法1切换到方法2(反之亦然),我会得到不同的结果。 – jzb