¿Cómo convertir un tensor en una matriz numpy cuando se usa Tensorflow con enlaces de Python?
python
numpy
tensorflow
mathetes
fuente
fuente
Para volver a convertir de tensor a matriz numpy, simplemente puede ejecutar
.eval()
en el tensor transformado.fuente
ValueError: Cannot evaluate tensor using 'eval()': No default session is registered. Use 'with sess.as_default()' or pass an explicit session to 'eval(session=sess)'
¿Esto se puede usar solo durante una sesión de decenas de flujo?.eval()
llamada al método desde una sesión:sess = tf.Session(); with sess.as_default(): print(my_tensor.eval())
TensorFlow 2.x
Eager Execution está habilitada de forma predeterminada, por lo que solo debe llamar
.numpy()
al objeto Tensor.Vale la pena señalar (de los documentos),
El énfasis en negrita es mío. Una copia puede o no ser devuelta, y este es un detalle de implementación.
Si Eager Execution está deshabilitado, puede crear un gráfico y luego ejecutarlo a través de
tf.compat.v1.Session
:Ver también TF 2.0 Symbols Map para una asignación de la API antigua a la nueva.
fuente
eval()
.Necesitas:
Código:
Esto funcionó para mí. Puedes probarlo en un cuaderno de ipython. Simplemente no olvides agregar la siguiente línea:
fuente
Quizás puedas probar este método:
fuente
He enfrentado y resuelto la conversión de tensor-> ndarray en el caso específico de los tensores que representan imágenes (adversarias), obtenidas con la biblioteca / tutoriales de cleverhans .
Creo que mi pregunta / respuesta ( aquí ) puede ser un ejemplo útil también para otros casos.
Soy nuevo con TensorFlow, el mío es una conclusión empírica:
Parece que el método tensor.eval () puede necesitar, para tener éxito, también el valor de los marcadores de posición de entrada . Tensor puede funcionar como una función que necesita sus valores de entrada (proporcionados en
feed_dict
) para devolver un valor de salida, por ejemploTenga en cuenta que el nombre del marcador de posición es x en mi caso, pero supongo que debe encontrar el nombre correcto para el marcador de posición de entrada .
x_input
es un valor escalar o matriz que contiene datos de entrada.En mi caso también proporcionar
sess
era obligatorio.Mi ejemplo también cubre la parte de visualización de imágenes matplotlib , pero esto es OT.
fuente
Un ejemplo simple podría ser,
n ahora si queremos que este tensor a se convierta en una matriz numpy
¡Tan sencillo como eso!
fuente
//
no es para comentar en python. Por favor edite su respuesta.Estuve buscando por días este comando.
Esto funcionó para mí fuera de cualquier sesión o algo así.
https://kite.com/python/answers/how-to-convert-a-tensorflow-tensor-to-a-numpy-array-in-python
fuente
Puede usar la función de backend keras.
¡Espero que ayude!
fuente