0
全体として、Tensorflowを使用してRNNモデルを作成しています。私はRNNCell
を継承し、自分のセルをカスタマイズします。最後に、dynamic_rnn
を使用してRNN全体を構築します。詳細は、テンソルを形状[n、m]から[n、m、1]に変換したいということです。私はこれを実装するために2つのメソッドを使用します。私は何を期待Tensorflowでreshapeとexpand_dimsを使用して異なる結果が得られるのはなぜですか?
tf.reshape(matrix, [n, m, 1]) # the first method
tf.expand_dims(matrix, -1) # the second method
は、これらの2つの方法を使用して、私は(すべてのランダムシードが固定されている)全く同じトレーニングと予測結果を得るということです。しかし結果は異なっている。私は本当に混乱しています。
ありがとうございます!私は 'reshape(行列、[n、m、1])'と 'expand_dims(行列、-1)の両方の結果を得るためにsession.runを使いますが、それらはまったく同じです。 「その機能は違いますか?」とはどういう意味ですか?固定ランダムシードを設定するので、コードを実行するたびにランダム性がなくなります。 – jzb
同じ入力で同じ結果が一貫して得られますか? –
はい、一貫して方法1(または方法2)を使用すると、ランダムなシードが固定されているので、常に同じ結果が得られます。しかし、私のコードを方法1から方法2に切り替えると(その逆)、私は異なる結果になります。 – jzb