Ejemplo n.º 1
0
    def test_returns_non_uniform_array_after_training(self):
        x = [np.array([0] * 784, float)]
        y = [np.array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], float)]
        pixels_to_categories = (x, y)

        diggen = DigitGenerator()
        diggen.train(pixels_to_categories=pixels_to_categories)
        pixels = diggen.generate_digit(digit=1)
        expected_pixels = np.zeros(784, dtype=np.uint8)
        expected_pixels.fill(127)
        self.assertNotEqual(pixels.tolist(), expected_pixels.tolist())
Ejemplo n.º 2
0
def step(context):
    mnist.download_dataset()
    pixels_to_categories = mnist.get_training_data()
    generator = DigitGenerator()
    generator.train(pixels_to_categories=pixels_to_categories)
    context.generator = generator
Ejemplo n.º 3
0
import sys
import os

sys.path.insert(1, os.path.join(sys.path[0], '..'))
from digit_drawing import DigitGenerator
import helpers
from datasets import mnist

dest_folder = 'generated_digits'
image_width = 28
image_height = 28
nepochs = 5

gen = DigitGenerator()

mnist.download_dataset()
pixels_to_categories = mnist.get_training_data()
gen.train(pixels_to_categories=pixels_to_categories, nepochs=nepochs)

print('Training for {} epochs is complete'.format(nepochs))

for i in range(10):
    pixels = gen.generate_digit(i)
    helpers.create_image(dest_fname=os.path.join(dest_folder,
                                                 'digit_{}.png'.format(i)),
                         pixel_vector=pixels,
                         width=image_width,
                         height=image_height)
    print('Generated image of a digit {}'.format(i))