【问题标题】:Keras input shape, simple array of input listsKeras 输入形状,输入列表的简单数组
【发布时间】:2019-07-03 07:14:00
【问题描述】:

其中每个数组([x1, x2, x3, ... , x15]) 表示单个输入

[array([0.        , 0.08333333, 0.08333333, 0.08333333, 0.08333333,
   0.08333333, 0.08333333, 0.        , 0.08333333, 0.08333333,
   0.08333333, 0.08333333, 0.08333333, 0.08333333, 0.        ])
 array([0.04166667, 0.10416667, 0.10416667, 0.08333333, 0.        ,
       0.10416667, 0.10416667, 0.02083333, 0.10416667, 0.08333333,
       0.        , 0.        , 0.125     , 0.125     , 0.        ])
 array([0.04166667, 0.        , 0.125     , 0.10416667, 0.02083333,
       0.125     , 0.125     , 0.02083333, 0.10416667, 0.        ,
       0.02083333, 0.02083333, 0.14583333, 0.14583333, 0.        ])
 ...
 array([0.4375    , 0.0625    , 0.        , 0.        , 0.        ,
       0.0625    , 0.        , 0.25      , 0.        , 0.08333333,
       0.04166667, 0.02083333, 0.        , 0.04166667, 1.        ])
 array([0.45833333, 0.        , 0.02083333, 0.02083333, 0.02083333,
       0.08333333, 0.        , 0.25      , 0.        , 0.08333333,
       0.04166667, 0.02083333, 0.        , 0.        , 1.        ])
 array([0.5       , 0.        , 0.        , 0.02083333, 0.02083333,
       0.        , 0.02083333, 0.27083333, 0.02083333, 0.10416667,
       0.0
       4166667, 0.        , 0.        , 0.        , 1.        ])]

进入模型

model = Sequential()
model.add(Dense(15, input_dim=15, kernel_initializer='uniform', activation='relu'))
model.add(Dense(16, kernel_initializer='uniform', activation='relu'))
model.add(Dense(14, kernel_initializer='uniform', activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

抱怨:

ValueError: Error when checking input: expected dense_1_input to have shape (15,) but got array with shape (1,)

如何重塑输入数据以适应该模型?

【问题讨论】:

    标签: python tensorflow keras reshape


    【解决方案1】:

    它不想要一个 numpy 数组,它应该是内部列表,但只有最顶层的数组

    X_train = np.array([x.tolist() for x in df['board_in'].values])
    y_train = df['target']
    y_train = np.array([y for y in df['target'].values])
    

    【讨论】:

      猜你喜欢
      • 2018-02-16
      • 1970-01-01
      • 2019-12-16
      • 2020-06-10
      • 2017-08-14
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多