我正在尝试使用人工整理的图像数据集和相关标签来训练简单的神经网络。
我创建了一个numpy来创建名为facey_label的标签。
我已经使用过matplotlib的imread函数将811张图像中的每张图像转换为形状数组(255,255,3),然后计划使用np.array函数创建形状张量img_array(811,255, 255,3)
model = keras.Sequential([
keras.layers.Flatten(input_shape=(811, 255, 255, 3)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(img_array, facey_label, epochs=5)
但是,我收到错误消息:
ValueError: Error when checking input: expected flatten_1_input to have 5 dimensions, but got array with shape (811, 250, 250, 3)
我怎么了?
答案 0 :(得分:2)
您不应将批次大小包含在input_shape中。尝试使用此模型:
model = keras.Sequential([
keras.layers.Flatten(input_shape=(255, 255, 3)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])