ValueError: Error when checking input: expected input_1 to have 2 dimensions, but got array with shape (100, 100, 100, 3)
原文链接:http://www.one2know.cn/bug6/
- 报错
Traceback (most recent call last):
File "D:/PyCharm 5.0.3/WorkSpace/3.Keras/1.Sequential与Model模型、Keras基本结构功能/2_1.py", line 22, in <module>
model.fit(data,labels,epochs=3)
File "D:\Anaconda3\lib\site-packages\keras\engine\training.py", line 952, in fit
batch_size=batch_size)
File "D:\Anaconda3\lib\site-packages\keras\engine\training.py", line 751, in _standardize_user_data
exception_prefix='input')
File "D:\Anaconda3\lib\site-packages\keras\engine\training_utils.py", line 128, in standardize_input_data
'with shape ' + str(data_shape))
ValueError: Error when checking input: expected input_1 to have 2 dimensions, but got array with shape (100, 100, 100, 3)
- 原因
输入第一层的张量与数据集的shape不同 - 解决
将data转置:
data = data.reshape(len(data),-1)
然后会报错:
ValueError: Error when checking input: expected input_1 to have shape (784,) but got array with shape (300,)
再把shape按照提示改正:
inputs = Input(shape=(300,))