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,))

posted @ 2019-07-08 16:19  鹏懿如斯  阅读(7158)  评论(0编辑  收藏  举报