Tensorflow: Py_func devuelve una forma desconocida

Tengo una pregunta simple sobre la función tf.py_func .

Tengo un tensor de imagen my_img de forma (1,224,224,3) . Para probar py_func , alimento el tensor a una función de python return_tf que debería devolver el mismo tensor (después de convertirlo en una matriz numpy según los documentos).

Aquí está el código:

 def return_tf(x): return np.array(x) test = tf.py_func(return_tf,[my_img],[tf.float32]) 

Pero cuando comprobé la forma del tensor devuelto llamado test , obtengo:

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

Tampoco puedo ejecutar eval() en el tensor, ya que aparece el error:

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

¿Alguien sabe cómo podría arreglar la forma tensorial del tensor devuelto por tf.py_func ?

Acabo de encontrar una solución alternativa … ya que py_func devuelve una lista de tensorflow, puedo hacer el ff:

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

para obtener un tensor con una forma deseada