我正在尝试在我的数据集上训练神经网络。图片示例(所有图像都是位图)。
模型创建代码:
model = Sequential()
model.add(Dense(1296, activation='relu', input_shape=(27, 48)))
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer=RMSprop(), metrics=['accuracy'])
学习和创建生成器的代码:
datagen = ImageDataGenerator()
dirTrain = "D:\\GeneratedI\\train"
train_data = datagen.flow_from_directory(dirTrain, target_size=(27, 48), batch_size=20,
class_mode="categorical", color_mode="grayscale")
dirVal = "D:\\GeneratedI\\val"
validation_data = datagen.flow_from_directory(dirVal, target_size=(27, 48), batch_size=20,
class_mode="categorical", color_mode="grayscale")
print("Training the network...")
t_start = time.time()
history = model.fit_generator(train_data,
steps_per_epoch=60000 / 20,
epochs=10,
validation_data=validation_data,
validation_steps=6000 / 20)
print(time.time() - t_start)
PS 由于我的处理器上没有 AVX,我使用 tensorflow 1.5 和 keras 2.1.6。
从错误的文本来看,您正在为网络输入提供一个 4 维张量,所以试试这个:
input_shapePS维度中没有考虑样本数/batch_size ,所以维度input_shape必须比输入张量的维度小一。