def test_get_ImageDataGenerator(tmpdir): file_path = tmpdir.join('Image2.jpg') img = Image.new('RGB', (30, 30), color=(255, 0, 0)) img.save(file_path.strpath) data_gen = utils.get_ImageDataGenerator(['Image2.jpg'], (32, 24, 3), file_path.dirname) assert (isinstance(data_gen, ImageDataGenerator)) x = img_to_array(img, data_format=keras.backend.image_data_format()) x = x.reshape((1, ) + x.shape) X_batch = data_gen.flow(x).next() assert X_batch.shape[0] == x.shape[0] assert X_batch.shape[1:] == x.shape[1:] assert (X_batch >= 0).all() and (X_batch <= 1).all()
print(c.shape) return [f, c] images_train = random.sample(all_image_names, int(len(all_image_names) * 0.9)) images_test = [i for i in all_image_names if i not in set(images_train)] def couples_generator(images): for i in images: yield load_pair(i), labels[i] def gen_func(images): return couples_generator(images) train_couples_len = sum(1 for e in gen_func(images_train)) test_couples_len = sum(1 for e in gen_func(images_test)) data_gen = utils.get_ImageDataGenerator(all_images, input_shape) train_iterator = utils.CouplesIterator(utils.make_infinite(gen_func, images_train), input_shape, data_gen, BATCH_SIZE) test_iterator = utils.CouplesIterator(utils.make_infinite(gen_func, images_test), input_shape, data_gen, BATCH_SIZE) model = network.create(input_shape, args.network) network.compile(model, args.optimizer) model.fit_generator(train_iterator, steps_per_epoch=train_couples_len / BATCH_SIZE, epochs=EPOCHS) score = model.evaluate_generator(test_iterator, steps=test_couples_len / BATCH_SIZE) print(score)