有任何方法可以在ternsorflow中构建变量数组的循环吗?

时间:2017-03-17 15:03:01

标签: tensorflow

Tensorflow的新功能。如果我想做一些像

这样的事情
x_pl=tf.placeholder([None,n])
y_pl=tf.placeholder([None,m])
b_0=tf.Variable(tf.zeros(n))
k=tf.Variable)[n,n])
b_1=tf.matmul(b_0,k)
b_2=tf.matmul(b_1,k)
...
b_m=tf.matmul(b_(m-1),k)
y_prd=tf.matmul(x_pl,[b_0,...b_m])
loss=tf.reduce_mean(tf.square(y_prd-y_pl)

最好的方法是什么? 在我看来,我需要一个可以在会话初始化所有变量之前生成变量数组的循环。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

只需使用常规的python循环:

x_pl = tf.placeholder([None, n])
y_pl = tf.placeholder([None, m])
b_0 = tf.Variable(tf.zeros(n))
k = tf.Variable([n,n])

b_list = [b_0]
for i in xrange(1, m + 1):
    b_list.append(tf.matmul(b_list[i-1], k)

y_prd = tf.matmul(x_pl, b_list)
loss = tf.reduce_mean(tf.square(y_prd - y_pl)