2016-10-20 4 views
0

Ich brauche einige Werte an bestimmten Stellen in einem tensorflow Array zu speichern:Tensorflow: Zugriffsindex Variable ein Array mit

import tensorflow as tf 
import numpy as np 

AVG = tf.Variable([0, 0, 0, 0, 0], name='data') 

for i in range(5): 
    data = np.random.randint(1000, size=10000) 
    AVG += np.average(data)  

Ich muß es bei jeder Iteration mache im Durchschnitt in verschiedenen Orten des AVG-Variable. Ist das machbar?

Antwort

1

Sie können tf.scatter_add verwenden. Hier ist ein komplettes Arbeitsprogramm:

import tensorflow as tf 
import numpy as np 

AVG = tf.Variable([0, 0, 0, 0, 0], name='data') 

for i in range(5): 
    data = np.random.randint(1000, size=10000) 
    AVG = tf.scatter_add(AVG, [i], [np.average(data).astype('int')]) 

sess = tf.InteractiveSession() 
sess.run(tf.initialize_all_variables()) 
print(AVG.eval()) 
Verwandte Themen