2016-08-17 4 views
3

Ich habe eine einfache Frage zur tf.py_func Funktion.Tensorflow: Py_func gibt unbekannte Form zurück

Ich habe ein Bild Tensor my_img der Form (1,224,224,3). Um py_func zu testen, füttere ich den Tensor zu einer Python-Funktion return_tf, die den gleichen Tensor zurückgeben sollte (nach Konvertierung in ein numpy-Array wie in der Dokumentation).

Hier ist der Code:

def return_tf(x): 
    return np.array(x) 

test = tf.py_func(return_tf,[my_img],[tf.float32]) 

Aber wenn ich die Form des zurück Tensor test, ich rief geprüft:

tf.Tensor 'PyFunc:0' shape=unknown dtype=float32 

Ich bin auch nicht in der Lage eval() auf dem Tensor zu laufen, da ich erhalte den Fehler:

AttributeError: 'list' object has no attribute 'eval'. 

Jeder weiß, wie kann ich das te beheben nsor Form des Tensors von tf.py_func zurückgegeben?

Antwort

4

gefunden Nur ein Work-around .. seit py_func eine tensorflow Liste zurückgibt, kann ich das tun ff:

test = tf.reshape(tf.concat(1, test), [ <<a shape>> ]) 

einen Tensor mit einer gewünschten Form zu erhalten

Verwandte Themen