這可能是有點晚爲你的班級,但希望它會幫助某人。
如果你的目標是簡單地輸出len(input)xlen(input)
陣列,可以矩陣乘法一個1xlen(input)
張量與輸入數組擴大其尺寸len(input)x1
後:
input_ = tf.placeholder(tf.float32, [len(input)])
input_shape = input_.get_shape().as_list()
tfvar = tf.Variable(tf.random_normal([1,input_shape[0]], mean=0.0,
stddev=.01, dtype=tf.float32))
def function(input_):
x = tf.expand_dims(input_, axis=1) # dims = len(input)x1
return tf.matmul(x,tfvar) # mtrx multiplication produces 3x3 mtrx
這個功能應該推廣到任何1D input_
張量產生一個正方形len(input_)xlen(input_)
張量。
如果你的目標是培養出tensorflow變量產生正確提供的輸出,就可以訓練tfvar
用損失函數和優化:
desired_output = tf.constant([[0.09003057, 0.24472847, 0.66524096],
[0.26894142, 0.73105858, 0.0 ],
[1.0, 0.0, 0.0 ]],
dtype=tf.float32)
actual_output = function(input_)
loss = tf.reduce_mean(tf.square(actual_output-desired_output))
optimizer = tf.train.AdamOptimizer().minimize(loss)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
cost, opt = sess.run([loss, optimizer], feed_dict={input_:input})
注意,如果你想有一個更強大的培訓會議,添加偏置,非線性和更多圖層。
你能告訴我們while循環的代碼嗎? – Distjubo
你想對輸入做什麼? – aarbelle