2016-10-25 5 views
0

テンソルフローセグメンテーションを読みながら、次の実装がどのように目的を果たしているかを把握しようとしていますか?多次元テンソルを[-1、n]に再整形することについて

xテンソルは、self.x = tf.placeholder("float", shape=[None, None, None, n_label])と定義されています。

その後、一つの機能は、私の理解がtf.reshape(self.x, [-1,n_label]) 1次元ベクトルに Xテンソルの形状を再度しようとすべきであるということである

x1=tf.reshape(self.x, [-1, n_label])として定義される形質転換テンソル「X1」を、起動しようとします。

しかし、このように定義されたxについては、shape=[None, None, None, n_label]とx1がそのように変換されていると混乱しています。何が本当にx1のように見えるのですか?そうする理由は何ですか?

答えて

1

Noneは、グラフを作成するときにディメンションを指定するのではなく、実行時にディメンションを決定する必要があることを意味します。たとえば、電車中や推論時に異なるミニバッチサイズを使用する場合に便利です。

一部の次元の-1との変形は、単に「テンソルの合計サイズを保持する」ことを意味します。例えば、形状[3、4、2]のxに対するreshape。(x、[-1、2])は、新しいテンソル形状[12,2]を生成します。

関連する問題