python - Keras 输入形状,输入列表的简单数组
问题描述
其中每个数组([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,)
如何重塑输入数据以适应此模型?
解决方案
它不想要一个 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])
推荐阅读
- dart - ExpansionTile 下 Flutter ListTile
- android - 是否可以在 Worker 中使用 WebView?
- javascript - express-validator,validationErrors 是一个空对象
- c# - Swagger 没有生成 swagger.json
- ruby-on-rails - 如何在rails活动管理索引页面的列表项中显示模型的多个属性项?
- xml - 如何编写 XSLT 以从元素中取出元素?
- javascript - 在Javascript中按下某些按钮时如何使文本框出现?
- php - 数据库中的所有内容都会更新,而不是单行
- oracle - 使用 sql developer Version 18.1.0.095 Build 095.1630 导出转储文件 oracle 期间出错
- reactjs - 如何循环每列中的每个列表项?