【发布时间】:2023-02-08 04:13:13
【问题描述】:
我试图进行图像增强并查看它将如何影响模型,但由于某种原因我收到了这个错误
TypeError: '>' not supported between instances of 'int' and 'ImageDataGenerator'
我正在使用 efficientNetb4 添加我自己的分类器层。
augment = ImageDataGenerator(horizontal_flip=True, vertical_flip=True, rotation_range=30, validation_split=0.15)
train = augment.flow_from_directory(path, target_size=(380,380), batch_size=35, subset='training')
valid = augment.flow_from_directory(path, target_size=(380,380), batch_size=35, subset='validation')
base_model = keras.applications.EfficientNetB4(weights="imagenet",include_top=False, input_shape=(380, 380,3))
for layer in base_model.layers:
layer.trainable = False
avg = keras.layers.GlobalAveragePooling2D()(base_model.output)
output = keras.layers.Dense(3, activation="softmax")(avg)
model = keras.Model(inputs=base_model.input, outputs=output)
earlystopping = keras.callbacks.EarlyStopping(monitor='loss', patience=3)
optimizer = keras.optimizers.SGD(learning_rate=0.001, momentum=0.9, decay=0.0001)
model.compile(loss="sparse_categorical_crossentropy",optimizer=optimizer,metrics=["accuracy"])
history = model.fit_generator(train, augment, validation_data=valid, epochs=25, verbose=2, callbacks=[earlystopping])
我认为问题是我指定的 batch_size 但无法理解害羞它导致了这个错误
【问题讨论】:
-
你的意思是你不会用不同的
batch_size得到这个错误? -
我尝试了不同的 '[batch_size]' 但同样的错误,我最初的想法是错误来自于 'batch_size' 的值
-
所以显然情况并非如此。
-
你在某处比较
>吗? -
model.fit_generator方法的文档是什么?您将augment作为第二个参数传递给它,这是一个ImageDataGenerator。也许那里需要一个整数?
标签: python-3.x keras deep-learning