[問題] tensorflow 初學者 bug 求解

看板Python作者 (宇宙射線)時間7年前 (2018/08/11 01:42), 7年前編輯推噓1(100)
留言1則, 1人參與, 7年前最新討論串1/1
各位大神好,小弟目前剛學習基礎神經網路及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
轉成numpy array 試試看
08/11 16:28, 1F
謝謝,最後還是捨棄tensorflow的判斷法還是用numpy去完成 ※ 編輯: cosmicray (220.135.42.38), 08/11/2018 20:39:13
文章代碼(AID): #1RRSve7p (Python)
文章代碼(AID): #1RRSve7p (Python)