2016-12-04 6 views
0

テンソルフローの多次元配列をネットワークに供給する方法があるのだろうかと思っていました。私は、各ラベルのサイズが6であり、様々な寸法のラベルのリストのバッチでそれを養うテンソルフローの多次元配列

y_ = tf.placeholder(tf.float32, shape=[None, None, 6], name='y') 

、すなわち:

y_batch = [ array([[ 124.77579894, 17.88854382, 65.  , 136.5  , 
     0.6  , 0.8  ], 
    [ 25.17935662, 8.06225775, 158.  , 27.5  , 
     0.96923077, 0.24615385]]) 
array([[ 10.29563014, 11.66190379, 52.5  , 113.5  , 
     0.47058824, -0.88235294], 
    [ 81.88406438, 23.19482701, 102.  , 104.5  , 
     0.96654275, -0.25650558], 
    [ 26.  , 8.54400375, 166.5  , 90.  , 
     0.75342466, -0.65753425]]) 
array([[ 25.29822128, 8.54400375, 196.  , 126.5  , 
     -0.75342466, -0.65753425]])] 

私が養う

私はプレースホルダを持っていますそれこの方法:

sess.run(train_step, feed_dict={x: x_batch, y_: y_batch, keep_prob: 0.5}) 

、上のラインからこのエラーを投げる:

ValueError: setting an array element with a sequence. 

答えて

0

投稿者answer:この特定のエラーはnumpyから出ています。矛盾する次元を持つシーケンス上でnp.arrayを呼び出すと、それをスローすることができます。

np.array([1,2,3,[4,5,6]]) 

ValueError: setting an array element with a sequence. 

それはTFがfeed_dictのすべての要素がタイプnumpy.arrayであることを保証する時点で失敗しているように見えます。したがって、feed_dictを確認してください。

関連する議論は、postを参照してください。