Я пытаюсь улучшить производительность модели трансферного обучения, которая использует Xception в качестве предварительно обученной модели, используя увеличение данных.Цель состоит в том, чтобы классифицировать породы собак.train_tensors
и valid_tensors
содержат обучающий и тестовый образы соответственно в массиве numpy.
from keras.applications.xception import Xception
model = Xception(include_top = False, weights = "imagenet")
datagen = ImageDataGenerator(zoom_range=0.2,
horizontal_flip=True,
width_shift_range = 0.2,
height_shift_range = 0.2,
fill_mode = 'nearest',
rotation_range = 45)
batch_size = 32
bottleneck_train = model.predict_generator(datagen.flow(train_tensors,
train_targets,
batch_size = batch_size),
train_tensors.shape[0]// batch_size)
bottleneck_valid = model.predict_generator(datagen.flow(valid_tensors,
valid_targets,
batch_size = batch_size),
test_tensors.shape[0]//batch_size)
print(train_tensors.shape)
print(bottleneck_train.shape)
print(valid_tensors.shape)
print(bottleneck_valid.shape)
Однако выходные данные из последних 4 строк:
(6680, 224, 224, 3)
(6656, 7, 7, 2048)
(835, 224, 224, 3)
(832, 7, 7, 2048)
Предикат_генератораФункция возвращает количество сэмплов, отличных от того, что было ей предоставлено.Образцы пропускаются или не учитываются?