2017-03-17 2 views
0

Neu mit Tensorflow. Wenn ich möchte etwas tun wieGibt es eine Möglichkeit, eine Schleife zu erstellen, um in ternsorflow ein variables Array zu erstellen?

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) 

Was ist der beste Weg, dies zu tun? es scheint mir, dass ich eine Schleife haben muss, die ein variables Array generieren kann, bevor Sitzung alle Variablen initiieren.

Jede Hilfe wird sehr geschätzt.

+0

Leider, was ist das Ziel genau? Was möchten Sie mit dem Variablen-Array machen? – dv3

+0

nur b_0 und K sind variabel, um angepasst zu werden, aber ich muss für ein nxm Array von bs mit b_i = k * b_ (i-1). Sobald ich [b_i] habe, wird meine Vorhersage als x * [b_i] berechnet. Von dort bekomme ich Verlust und laufe Optimierung ... – Wendong

Antwort

0

verwenden nur eine ganz normale Python-Schleife:

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) 
Verwandte Themen