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