keras-layer - 如何修复 InvalidArgumentError:输入和过滤器必须具有相同的深度:3 vs 32?
问题描述
我的图像数据量太小(大约 100 个),所以我使用 ImagDataGenerator 进行扩充。我不知道为什么错误是图像分类(4 类),我使用卷积。我认为错误的原因是 input_shape。输入与过滤器-> 3:42 是什么意思?如何修复我的代码?
model = Sequential()
model.add(Conv2D(32, (3, 3) padding = 'same', input_shape=(150,150,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
...
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
batch_size = 16
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'picture/train/makkne',
target_size=(150, 150),
batch_size=batch_size,
class_mode='categorical')
test_generator = test_datagen.flow_from_directory(
'picture/test/makkne',
target_size=(150, 150),
batch_size=batch_size,
class_mode='categorical')
model.fit_generator(
train_generator,
steps_per_epoch=15,
validation_data=test_generator,
epochs=50)
model.save_weights('first_try.h5')
解决方案
推荐阅读
- visual-studio-code - 在 VSCode 中悬停描述时防止滚动整个窗口
- augmented-reality - 为什么 ARGeoTrackingConfiguration 并非随处可用?
- remote-server - 如何在无头 ubuntu 服务器中运行多个需要 x 服务器的应用程序?
- flask - 如何创建影响两个表的注册烧瓶表单,以便将设备链接到其所有者
- java - 如何将 Spring RequestBody 中的参数定义为不为空?
- java - Camel SpringBoot rest servlet连接被拒绝(camel 2.22.0)
- python - png 文件的 Numpy 数组在 matplotlib.pyplot 中旋转
- arrays - 制作一个程序,允许您加载两个列表,每个列表包含 15 个数字。用消息通知两个列表中哪个具有更大的累积值
- flutter - 运行 Flutter 项目后出错(任务 ':app:compileFlutterBuildDebug' 执行失败)
- java - 使用 Maven 版本控制的 Docker 层