python - 尝试训练 RNN 网络时出错。ValueError: 层序贯_20 的输入 0 与层不兼容:预期 ndim=3,发现 ndim=4
问题描述
我是关于训练图像的这个话题的新手。我有两个目录,其中包含手写字符的训练和测试图像。我正在尝试使用 RNN 网络进行训练,但我在 fit_generator 函数上有此错误。
代码如下所示:
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(
directory = '/datasets/training',
target_size = (32,32),
batch_size = 32,
class_mode = 'categorical'
)
test_generator = test_datagen.flow_from_directory(
directory = '/testing',
target_size = (32,32),
batch_size = 32,
class_mode = 'categorical'
)
model = Sequential()
model.add(
LSTM(32,
activation='relu',
input_shape=(32,32))
)
model.add(Dense(1))
model.compile(loss='categorical_crossentropy', optimizer="Adam", metrics=['acc'])
model.fit_generator(train_generator,
steps_per_epoch = 16,
epochs = 18,
validation_data = test_generator,
validation_steps = 16)
ValueError: 层序贯_20 的输入 0 与层不兼容:预期 ndim=3,发现 ndim=4。收到的完整形状:(无,无,无,无)