Ex Data, Scientia

Home Contact

Building an AI-based image-classifier application

import numpy as np
import os
from PIL import Image
from keras import datasets

train, test = datasets.mnist.load_data()

inds = np.random.choice(np.arange(len(test[1])), len(test[1]), replace = False)

test_img = test[0][inds]
test_lbl = test[1][inds]

test = (test_img[:5000], test_lbl[:5000])
sample = (test_img[5000:], test_lbl[5000:])

os.mkdir('MNIST')
os.mkdir('MNIST/Train')
os.mkdir('MNIST/Test')
os.mkdir('MNIST/Sample')

digits = np.unique(train[1])

for i in range(len(digits)):
  os.mkdir('MNIST/Train/' + str(digits[i]))
  os.mkdir('MNIST/Test/' + str(digits[i]))

for i in range(len(train[0])):
  img_jpg = Image.fromarray(train[0][i])
  img_jpg.save('MNIST/Train/' + str(train[1][i]) + '/img_' + str(i) + '.jpg')

for i in range(len(test[0])):
  img_jpg = Image.fromarray(test[0][i])
  img_jpg.save('MNIST/Test/' + str(test[1][i]) + '/img_' + str(i) + '.jpg')

for i in range(len(sample[0])):
  img_jpg = Image.fromarray(sample[0][i])
  img_jpg.save('MNIST/Sample/img_' + str(i) + '.jpg')