【问题标题】:How to make 3 dimensions instead of 4 for training a model?如何制作 3 个维度而不是 4 个维度来训练模型?
【发布时间】:2020-12-29 18:25:25
【问题描述】:

如何解决这个问题?

train_images = train_images / 255.0

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(48, 48)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(26, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(train_images, train_labels, epochs=10)

堆栈跟踪:

line 75, in <module>
    model.fit(train_images, train_labels, epochs=10)
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training.py", line 1154, in fit
    batch_size=batch_size)
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training.py", line 579, in _standardize_user_data
    exception_prefix='input')
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training_utils.py", line 135, in standardize_input_data
    'with shape ' + str(data_shape))
ValueError: Error when checking input: expected flatten_1_input to have 3 dimens
ions, but got array with shape (20000, 48, 48, 3)

【问题讨论】:

  • 请将错误的完整堆栈跟踪作为文本放入您的帖子中。不是图片。
  • 我建议您改进您的问题,添加一些示例,一些代码并使其更清晰,并添加您的源代码,看看这里 => How to create a Minimal, Reproducible Example

标签: python keras


【解决方案1】:

问题在于您为模型提供了三维输入。您可能正在使用 48x48 像素的彩色图像。输入形状中的最后 3 个是通道 (48, 48, 3)。您可能想要使用 Conv2D 层或简单地跨通道展平整个输入。

【讨论】:

  • 在哪里可以阅读有关调整图像大小的信息?据我了解,最好使它们至少为 10x10?你的意思是我应该如何“使你的整个输入跨渠道变平”?
  • 不,有很多方法可以解决这个问题。您不必使其无色。您不必使它们至少为 10x10。您有 3 个红色绿色蓝色通道,每个通道都有 48 x 48 = 2304 个数字,因此跨通道展平将返回一个具有 2304 * 3 = 6912 个数字的向量。由于您定义输入的方式,您的网络已准备好仅接受 2304 个数字,因此请将其更改为 input_shape = (48, 48, 3)
  • 谢谢,它工作正常。但是有某种优化吗?我的 cmd 说训练一个 epoch 需要 42 小时。我的PK不是那么新。有什么建议吗?
  • 好吧,您有很多图像,而且它们的尺寸很大。 Idk 只需在模型拟合中添加 batch_size=n_batch 。将 n_batch 设置为 32 之类的数字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
相关资源
最近更新 更多