簡體   English   中英

TensorFlow MLP不可哈希類型'列表'

[英]TensorFlow MLP unhashable type 'list'

我正在嘗試為MLP提供數組。 輸入數組包含120個浮點數,輸出包含2個。

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'

我想您在代碼的開頭有兩個占位符xy

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

問題是在代碼中,您再次對兩個變量使用了相同的名稱xy

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

這將刪除xy的先前值。
相反,您應該使用其他名稱,例如:

for ix in letter[0][0]:
    for iy in ix:
        result.append(iy)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM