Python Keras形状不工作

Python Keras形状不工作,python,keras,Python,Keras,我一直在尝试做一个自动编码器,我一直有一些问题。因此,我将一幅32x32的灰度图像加载到网络中,它一直给我这个错误 Using TensorFlow backend. (32, 32, 1) 253.0 Traceback (most recent call last): File "test.py", line 32, in <module> model.fit(out,out, batch_size=16, epochs=10) File "C:\Users\na

我一直在尝试做一个自动编码器,我一直有一些问题。因此,我将一幅32x32的灰度图像加载到网络中,它一直给我这个错误

Using TensorFlow backend.
(32, 32, 1)
253.0
Traceback (most recent call last):
  File "test.py", line 32, in <module>
    model.fit(out,out, batch_size=16, epochs=10)
  File "C:\Users\nathanmoosh\Anaconda3_2\lib\site-packages\keras\models.py", line 965, in fit
    validation_steps=validation_steps)
  File "C:\Users\nathanmoosh\Anaconda3_2\lib\site-packages\keras\engine\training.py", line 1593, in fit
    batch_size=batch_size)
  File "C:\Users\nathanmoosh\Anaconda3_2\lib\site-packages\keras\engine\training.py", line 1426, in _standardize_user_data
    exception_prefix='input')
  File "C:\Users\nathanmoosh\Anaconda3_2\lib\site-packages\keras\engine\training.py", line 110, in _standardize_input_data
    'with shape ' + str(data_shape))
ValueError: Error when checking input: expected dense_1_input to have 4 dimensions, but got array with shape (32, 32, 1)

请帮忙

正如@MatiasValdenegro所建议的,输入的形状应该是(num_samples,32,32,3)。在您的例子中,它是(1,32,32,3),而不是(32,32,3)

为此,在
out=numpy.array(x)
之后添加以下行:

out = out[numpy.newaxis, :, :, :] # (1, 32, 32, 3)

不确定这是否有帮助,但是,当您在第一层上期望形状(32,32,3)时,图像的形状是(32,32,1)。您的训练数据应该有形状(num_samples,32,32,3)。我更改了它,但它没有做任何更改。您应该改为执行此操作
out=numpy.array([x])
。你的图像应该是(32,32,3)维而不是(32,32,1)维。
out = out[numpy.newaxis, :, :, :] # (1, 32, 32, 3)