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
并没有创建一批可以简单地添加图像的图像。它在每个纪元上创建随机变换的图像。虽然这可能会影响您在培训数据方面的性能,但它应该会提高验证和测试数据方面的性能。说到这里,您不应该对验证和测试数据运行图像生成器,因为它每次都会随机更改它们,并为您的模型提供一个移动目标
这个话题讲得很好,应该会有帮助你已经试过什么了?你有没有简单地把一个附加到另一个上?你已经试过什么了?你有没有简单地把一个附加到另一个上?