2017-03-24 8 views
5

Wie finde ich die tatsächlichen numerischen Werte in einem MXNet-Symbol?MXNet druckt Zwischensymbolwerte

Angenommen, ich habe,

x = mx.sym.Variable('x') 
y = mx.sym.Variable('y') 
z = x + y, 

wenn x = [100,200] und y = [300.400], Ich möchte drucken:

z = [400,600],

Art wie tensorflow der eval () Methode

Antwort

8

Nachdem ich mich ein bisschen umgeschaut habe, habe ich folgendes gefunden:

x = mx.sym.Variable('x') 
y = mx.sym.Variable('y') 
z = x + y 
executor = z.bind(mx.cpu(), {'x': mx.nd.array([100,200]), 'y':mx.nd.array([300,400])}) 
output = executor.forward() 

gibt Ihnen den 'Output':

[<NDArray 2 @cpu(0)>] 

die tatsächliche numerische Ausgabe zu drucken:

print output[0].asnumpy() 
array([ 400., 600.], dtype=float32)