Как преобразовать Тензор в массив Numpy того же размера - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь преобразовать тензор изображения, имеющего форму (253 223), в массив с одинаковыми размерами, чтобы я мог построить изображение. Я посмотрел на документацию, и они предложили мне использовать функцию eval как

sess = tf.Session()
with sess.as_default():
   print(type(tf.constant([img1]).eval()))

но выдает ошибку «Список тензоров, когда ожидается одиночный тензор».

Здесь тип (img1) равен <class 'tensorflow.python.framework.ops.Tensor'>, а форма - (253, 223). Использование keras

tf.keras.backend.eval(x)

бросает

InvalidArgumentError: Вход для DecodeRaw имеет длину 56419, которая не кратна 4, размер с плавающей точкой [[{{node DecodeRaw}}]] ошибка.

Как я могу преобразовать данный тензор в массив NumPy того же измерения?

1 Ответ

1 голос
/ 28 мая 2019

Любой тензор, возвращаемый Session.run или eval, является массивом NumPy.

>>> print(type(tf.Session().run(tf.constant([1,2,3]))))

Или:

>>> sess = tf.InteractiveSession()
    print(type(tf.constant([1,2,3]).eval()))
    <class 'numpy.ndarray'>
...