0
私はいくつかのコードを書いていますが、私はうまく説明できません。tf.FIFOQueueのコンストラクタを理解するには?
第コード:
import tensorflow as tf
f = tf.FIFOQueue(10, [tf.int32, tf.int32])
en = f.enqueue([[1,2],[3,4]])
de = f.dequeue()
with tf.Session() as sess:
en.run()
x = sess.run(de)
print(x)
Iは、キューの要素がテンソルのタプルで定義Iは[[1,2],[3,4]]
をエンキューときに、それがうまく機能し、出力[array([1, 2]), array([3, 4])]
あります。
しかし、2番目のコードは、わかりません。
import tensorflow as tf
f = tf.FIFOQueue(10, [tf.int32])
en = f.enqueue([1,2,3,4])
de = f.dequeue()
with tf.Session() as sess:
en.run()
x = sess.run(de)
print(x)
最初のコードによると、私は出力が[array(1, 2, 3, 4)]
だと思うが、実際には、出力は1
です。 2番目のコードをうまく説明するには?あなたがあなたの第二のコードのエンキュー操作で引数を変更した場合
これはどのように説明するのですか?なぜ[[[1,2,3,4]]を使う必要があるのですか?最初のコードと同様に、私は '[[1,2]、[3,4]] 'を使わず、うまくいきます。 – Gauss
私はこれを説明するために英語でうまくいきません。しかし、私は試してみる。 要素を持つキューがあります。すべての要素は、テンソルの集合(またはリスト)です。 'dtypes' - ' dtype'のリストを設定します。これは、セット内のすべてのTensor(キューの要素)に対して1つです。 最初のコードでは、2つのテンソルから構成される要素をエンキューします。 2つ目のコードでは、1つのテンソルだけで構成された要素を含むキューに4 * 0D * Tensorsからなる要素をエンキューします。そして、ただ1つの* 0D *テンソルしかキューに追加されませんでした。 –