Как открыть извлеченные изображения из базы данных MNIST

По сути, я пытаюсь получить изображение из набора данных MNIST, а затем показать его на своем компьютере. Проблема в том, что когда я пытаюсь открыть одно изображение (используя функцию подушки Image.open()), он говорит, что не может его «прочитать». Я не могу сказать, это одна вещь, которая не работает, или все сразу. На самом деле, я просто балуюсь новыми вещами.

Я пытался использовать «tensorflow.examples.tutorials.mnist», но он просто продолжает портиться, не знаю почему. Затем я решил, что мне нужно просто загрузить данные MNIST и открыть их, и теперь он говорит, что не может «читать» «numpy.ndarray».

from PIL import Image
from tensorflow.contrib.learn.python.learn.datasets.mnist import extract_images, extract_labels

with open('train-images-idx3-ubyte (2).gz', 'rb') as f:
  train_images = extract_images(f)
with open('train-labels-idx1-ubyte (1).gz', 'rb') as f:
  train_labels = extract_labels(f)

with open('t10k-images-idx3-ubyte.gz', 'rb') as f:
  test_images = extract_images(f)
with open('t10k-labels-idx1-ubyte.gz', 'rb') as f:
  test_labels = extract_labels(f)

myImage = Image.open(train_images[0])
myImage.show()

Я ожидал, что он откроет файл, но он просто показывает ошибку об открытии train_images[0]


person Teige Needs some help pls    schedule 15.05.2019    source источник


Ответы (1)


Ничего, я узнал ответ.

Что вам нужно было сделать, так это изменить форму данных, используя np.reshape(), а затем использовать Image.fromarray() вместо Image.open(). Например:

MyImage = train_images[0]
MyImage = MyImage.reshape(28, 28)
MyImage = Image.fromarray(MyImage)
person Teige Needs some help pls    schedule 29.05.2019