[問題] tensorflow 初學者 bug 求解
各位大神好,小弟目前剛學習基礎神經網路及tensorflow
沒有修過相關的課因此目前都靠自學
我寫了一個小程式(很簡單QQ),試著模擬赫賓學習法
我會給定X1=[0 1.5 -2 1]T ; W1=[0.5 0 -1 1]T
W1*X1=3 ; 經過函數sign = 1= y1
若y1>0 則更新權重W2=W1+y1*X1 及print出來
以下是我的程式碼:
------------------------------------------------
import tensorflow as tf
w1=tf.constant([[0.5, 0, -1, 1]])
x1=tf.placeholder(tf.float32,shape=(4,1))
product_Wx= tf.matmul(w1, x1)
y1 = tf.sign( product_Wx)
delta_w=tf.multiply(y1,x1)
result=tf.cond(y1>0,lambda:tf.add(tf.transpose(w1),delta_w), lambda:None)
sess=tf.Session()
print(sess.run(result ,feed_dict={x1:[[0],
[1.5],
[-2],
[1]]}))
--------------------------------------------------------
執行結果:
ValueError: Shape must be rank 0 but is rank 2
for 'cond_4/Switch' (op: 'Switch') with input shapes: [1,1], [1,1].
看起來是tf.cond裡不能輸入矩陣嗎?
目前語法也都還沒摸熟
抱歉問題很菜請大神鞭小力點QQ
萬分感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.49.97
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1533922920.A.1F3.html
推
08/11 16:28,
7年前
, 1F
08/11 16:28, 1F
謝謝,最後還是捨棄tensorflow的判斷法還是用numpy去完成
※ 編輯: cosmicray (220.135.42.38), 08/11/2018 20:39:13
Python 近期熱門文章
PTT數位生活區 即時熱門文章