Подушка: Как показать данные MNIST? - PullRequest
0 голосов
/ 28 апреля 2018

Я создал модель (LeNet-5), которая дает довольно хорошую точность (98%).

Затем я попытался посмотреть, как это будет работать с моими рукописными данными (очевидно, из другого дистрибутива, просто любопытно). Поэтому я сделал снимок 5 и преобразовал его в оттенки серого, используя PIL, и увидел, что он предсказывает. Это не очень хорошо.

Код для преобразования в оттенки серого:

# Open the file
im = Image.open(path)

# Resize the image
im_resized = im.resize(size)

# Convert to grayscale
gr = ImageOps.grayscale(im_resized)

И это также не очень хорошо работает на некоторых других изображениях из Интернета. Тогда я стал подозрительным из числа.

MNIST : фон черный, а число белым

мое изображение : фон белый, а число черным

Так что я хотел увидеть изображения MNIST. Но все, что я получаю, это несколько белых точек. Нет значимого изображения вообще.

Вот фрагмент кода, чтобы увидеть изображение:

from mnist import MNIST
mndata = MNIST(mndir)

train_images, train_labels = mndata.load_training()
test_images, test_labels = mndata.load_testing()

ar = np.array(test_images[10], np.int32)
ar = np.resize(ar, (28, 28))
im = Image.fromarray(ar, 'L')
im.show()

За это я получаю что-то вроде:

a weird number

1 Ответ

0 голосов
/ 23 октября 2018

вот небольшой код, чтобы увидеть изображение. Это помогает напечатать встроенное изображение MNIST

get_ipython().magic(u'matplotlib inline') #to print inline images

import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt

#load the data

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', validation_size=0)

#we can plot an example image from the MNIST dataset.
img = mnist.train.images[2]
plt.imshow(img.reshape((28, 28)), cmap='Greys_r')

в идеале это должно работать.

...