x, y = emnist.mean_sort(x, y, classes, task_count) #Convert test data to be used in model val_x, val_y = data_util.prep(val_x, val_y, classes) test_x, test_y = data_util.prep(data['test_x'], data['test_y'], classes) #Set up syllabus which handles splitting into tasks syllabus = Syllabus( training_data =(x,y), epochs=epochs, task_amount=task_count, weightings=distribution, ) #Until we have finished training while not syllabus.training_complete(): #Get our next task and prep it x, y = syllabus.next() x, y = data_util.prep(x, y, classes) print("epoch : {0}\ttask: {1}".format(syllabus.current_epoch, syllabus.current_task_index)) model.fit( x=x, y=y, batch_size=batch_size, epochs=1, validation_data=(val_x, val_y) ) #Evaluate our model score = model.evaluate(