Python 如何使用增强设置培训,同时确保未经整理的实际图像也经过培训?

Python 如何使用增强设置培训,同时确保未经整理的实际图像也经过培训?,python,keras,data-augmentation,Python,Keras,Data Augmentation,我正在为一个模型使用数据增强,希望在培训中包括原始未经整理的图像以及增强的图像 到目前为止,我使用了以下代码: main_dir = "____" (file directory) train_dir = os.path.join(main_dir, 'training_set') validation_dir = os.path.join(main_dir, 'validation_set') test_dir = os.path.join(main_dir, 'test_set') co

我正在为一个模型使用数据增强,希望在培训中包括原始未经整理的图像以及增强的图像

到目前为止,我使用了以下代码:

main_dir = "____" (file directory)

train_dir = os.path.join(main_dir, 'training_set')
validation_dir = os.path.join(main_dir, 'validation_set')
test_dir = os.path.join(main_dir, 'test_set')

conv_base = VGG16(weights='imagenet',include_top=False,input_shape=(150, 150, 3))

conv_base.summary()

model = models.Sequential()
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()

conv_base.trainable = True
model.summary()

train_datagen = ImageDataGenerator(rescale=1./255,rotation_range=40,width_shift_range=0.2,height_shift_range=0.2,
  shear_range=0.2,zoom_range=0.2,horizontal_flip=True,fill_mode='nearest')

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(train_dir,target_size=(150, 150),batch_size=20,class_mode='binary')
validation_generator = test_datagen.flow_from_directory(validation_dir,target_size=(150, 150),batch_size=20,class_mode='binary')
test_generator = test_datagen.flow_from_directory(test_dir,target_size=(150, 150),batch_size=20,class_mode='binary')

model.compile(loss='binary_crossentropy',optimizer=optimizers.RMSprop(lr=2e-5),metrics=['acc'])

start = time.time()
history=model.fit_generator(train_generator,steps_per_epoch=300,epochs=15,validation_data=validation_generator,validation_steps=50,verbose=2)
print("Time taken to train the MLP %.1f seconds."%(time.time()-start))

如果有人能帮忙,请告诉我!谢谢:)

因此,
ImageDataGenerator
不会创建一批图像,您只需将图像添加到其中即可。它在每个纪元上创建随机变换的图像。虽然这可能会影响您在培训数据方面的性能,但它应该会提高验证和测试数据方面的性能。说到这里,您不应该对验证和测试数据运行图像生成器,因为它每次都会随机更改它们,并为您的模型提供一个移动目标


这很好地讨论了主题,应该会有帮助

因此,
ImageDataGenerator
并没有创建一批可以简单地添加图像的图像。它在每个纪元上创建随机变换的图像。虽然这可能会影响您在培训数据方面的性能,但它应该会提高验证和测试数据方面的性能。说到这里,您不应该对验证和测试数据运行图像生成器,因为它每次都会随机更改它们,并为您的模型提供一个移动目标


这个话题讲得很好,应该会有帮助

你已经试过什么了?你有没有简单地把一个附加到另一个上?你已经试过什么了?你有没有简单地把一个附加到另一个上?