Python数据集最后一步的问题警告:tensorflow:输入的数据用完了;中断了培训。确保数据集或生成器至少可以生成steps_per_epoch * epochs
批处理(在本例中是2000批)。在构建数据集时,可能需要使用repeat()函数。从keras.preprocessing.image导入ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
training_set = train_datagen.flow_from_directory('dataset/training_set',
target_size=(64, 64),
batch_size=32,
class_mode='binary')
test_set = test_datagen.flow_from_directory('dataset/test_set',
target_size=(64, 64),
batch_size=32,
class_mode='binary')
classifer.fit_generator(training_set,
steps_per_epoch=(8000),
epochs=25,`enter code here`
validation_data=test_set,
validation_steps=2000)
发布于 2022-02-08 08:24:51
你有密码
classifer.fit_generator(training_set,
steps_per_epoch=(8000),
epochs=25,`enter code here`
validation_data=test_set,
validation_steps=2000)
条目'enter code here
‘不属于model.fit_generator。另外,.fit_generator是折旧的,只需使用.fit。您不需要在steps_per_epoch或validation_steps中指定.fit。它将在内部计算它们。但是,如果您希望指定它们,则使用代码
steps_per_epoch= total images in trainset//batch_size
对于验证步骤,您可以使用类似的代码,但是,如果您希望每一个时代精确地通过一次验证集,那么就使用以下代码
length=total number of images in test set
valid_batch_size=sorted([int(length/n) for n in range(1,length+1) if length % n ==0 and length/n<=80],reverse=True)[0]
validation_steps=int(length/test_batch_size)
使用valid_batch_size作为test_datagen中的批处理大小。代码所做的是确定批处理大小和步骤,以便valid_batch_size * validation_steps =测试集中的图像总数。
https://stackoverflow.com/questions/71034466
复制相似问题