2017-11-14 16 views
1

numpyの配列 の形に似ているFIFOQueueを初期化しようとしていますが、以下のエラーが表示されます。キューシェイプの長さはdtypesと同じでなければなりません

マイ - numpyのアレイ状 - (1、17428、3)

dtypes=[tf.float32,tf.float32,tf.float32] 
print len(dtypes) 
shapes=[1, 17428, 3] 
print len(shapes) 
q = tf.FIFOQueue(capacity=200,dtypes=dtypes,shapes=shapes) 

ValueError: Queue shapes must have the same length as dtypes 

答えて

1

documentationを指定FIFOQueueのコンストラクタのパラメータ(強調鉱山)であること:

  • dtypesDTypeのオブジェクトのリスト。 dtypesの長さは、各キュー要素のテンソルの数と等しくなければなりません。 shapes
  • :(オプション) dtypes、又は Noneと同じ長さの 完全定義TensorShapeオブジェクトのリスト。あなたは shapesとして指定されている何

は、しかし、完全に定義されたTensorShapeオブジェクトのリストではありません。その後

shapes=[tf.TensorShape(1), tf.TensorShape(17428), tf.TensorShape(3)] 

q = tf.FIFOQueue(capacity=200,dtypes=dtypes,shapes=shapes)実行され、いいえ:それはあなたが指定することができる3つの1Dテンソルをしたいコンストラクタを伝えるために長さ1であるshapes=[TensorShape([Dimension(1), Dimension(17428), Dimension(3)])]に生じる1つTensorShapeとして解釈される3次元のリストでありますエラーが発生します。

関連する問題