2016-06-22 9 views
0

MLPに配列を供給しようとしています。入力配列は120台の山車が含まれており、それが例外をスローし、最後の行を実行すると、出力は2TensorFlow MLP unhashable type 'list'

sess.run(init) 
# Training cycle 
train = True 
if train is True: 
    for i in range(50): 
     for letter in d1: 
      #print(letter[0][0][0:5]) 
      letter[0][0][0:5] = sorted(letter[0][0][0:5], key=itemgetter(0)) 
      letter[0][0][5:10] = sorted(letter[0][0][5:10], key=itemgetter(0)) 
      #print(np.squeeze(np.asarray(d1[0]))) 
      result=[] 
      for x in letter[0][0]: 
       for y in x: 
        result.append(y) 
      div = (result) 

      xxx = [letter[0][1][0], int(not letter[0][1][0])] 
      xxx = (xxx) 
      print(result) 

      #print(letter[1]) 
      _, c = sess.run([optimizer, cost], feed_dict={x: div, y: xxx}) 

が含まれています

Traceback (most recent call last): 
    File "tf.py", line 97, in <module> 
    _, c = sess.run([optimizer, cost], feed_dict={x: div, y: xxx}) 
TypeError: unhashable type: 'list' 

答えて

0

私はあなたのコード2つのプレースホルダxの最初に持っていたと仮定しy

x = tf.placeholder(tf.float32) 
y = tf.placeholder(tf.float32) 

問題はそれがあなたのCであります頌歌、次の2つの変数のために再度同じ名前xyを使用します。

for x in letter[0][0]: 
    for y in x: 
     result.append(y) 

これはxyの以前の値が消去されます。
代わりに、次のような別の名前を使用する必要があります。

関連する問題