Я создал модель (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()
За это я получаю что-то вроде: