Hintergrund:Tensorflow - Handling Eingänge grafisch darzustellen
Ich versuche, ein Tensor Größe m durch einen anderen Tensor Größe M. Ich möchte das Ergebnis einem mxn Tensor
zum Beispiel zu multiplizieren:
1.0
0.2 0.2 0.5
0.0 X = 0.0 0.0
0.5 0.2 0.5
1.0
ich kann dies tun mit numpy:
x_vals = np.array([[1.0, 0.0, 1.0],[0.0, 0.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 1.0]])
deltas = np.array([0.2, 0.5])
def Mult(x):
return x*deltas
#I can do this...
for x in x_vals:
print Mult(x.reshape(3,1))
Ich kann dies nicht mit Tensorflow tun?
x_vals = np.array([[1.0, 0.0, 1.0],[0.0, 0.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 1.0]])
deltas = np.array([0.2, 0.5])
def Mult(x):
return x*deltas
x = tf.placeholder('float', (None,3))
delta = tf.constant(deltas)
result = Mult(tf.reshape(x, shape=(3,1)))
init = tf.global_variables_initializer()
# create session and run the graph
with tf.Session() as sess:
sess.run(init)
arr = sess.run(result, feed_dict={x: x_vals})
Es scheint, dass es in der gesamten x_val
Array übergibt, und ich bin nicht sicher, für jeden Eintrag über den session.run Looping ist, wie seine funktionieren soll. Kann mir jemand einen Zeiger geben?
ich sehe, erweitert man die Dimensionen des Tensor:
x_vals[:,:,np.newaxis]*deltas[np.newaxis,:]
Dies auch in tensorflow funktionieren sollte. Vielen Dank – Kevin