新來TensorFlow,現在我需要餵奶前佔位符使用的值,是這樣的:在tensorflow中,如何在餵食前使用佔位符的值?
tensor = tf.placeholder(tf.float32, [None, 3])
Mat_items = tf.Variable(tf.random_normal([10,10]))
Mat_users = tf.Variable(tf.random_normal([10,10]))
item_index = tensor[:, 0]
user_index = tensor[:, 1]
rating = tensor[:, 2]
Val = Mat_items[item_index, :]-Mat_users[user_index, :]
而張爲N行的佔位符3周的cols,第一欄和第二欄是指數Mat_items和Mat_users分別和Mat_itemsMat_users是需要被索引的變量。
運行它絕對會拋出一個錯誤,因爲item_index,user_index都是張量而不是數字餵養前。 所以我想知道Tensorflow是否可以實現這種需求? 任何建議將不勝感激:) :)
===================================== ==================================== 除了我的問題:
Val
取決於某些列在Tensor
就像第一列和第二列。所以,當我創建我的曲線,我的代碼
Val = Mat_items[item_index, :]-Mat_users[user_index, :]
item_index和USER_INDEX是tensor
片,兩者都是類型tensor
too.It將拋出error.I不知道如何實現TensorFlow這種需求。
============================================== =========================== 找到了解決辦法:以上
tensor = tf.placeholder(tf.float32, [None, 3])
Mat_items = tf.Variable(tf.random_normal([10,10]))
Mat_users = tf.Variable(tf.random_normal([10,10]))
for each in range(batch_number):
item_ind, user_ind = tensor[each, 2], tensor[each, 1]
rating = tensor[each, 1]
Val = Mat_item[item_ind, 0]*Mat_user[user_ind, 0]*rating
代碼似乎在構建圖冊成本工作即使使用litte數據集(批量大小約爲1000,並且只有一個批次需要測試),也會花費太多時間,構建圖形大約需要78秒,我不確定它是否正常?
是,* Val *取決於* tensor *。具體而言,* Val *取決於* tensor *的某些列中的值,因爲這些列中的值是* Val *的索引。但是,如果我創建了像'Val = Mat_items [item_index,:] - Mat_users [user_index,:]'會拋出錯誤,我的問題會更清楚嗎? – FesianXu