python - 检查目标时出错:预期 dense_1 有 2 个维度,但得到了形状为 (20, 84, 1) 的数组
问题描述
这是我第一次尝试 LSTM 层并且无法完成这项工作。我检查了 github bug tracker 和 SO 主题,但没有一个可用的解决方案解决了我的问题。
每当我更改密集层尺寸或数据形状时,我都会收到类似的错误。
Traceback (most recent call last):
File "F:/Programowanie/GitHub Repositories/MYOPM/ui_main.py", line 640, in train_ml_algorithm
self.ml.keras_LSTM_train()
File "F:\Programowanie\GitHub Repositories\MYOPM\machine_learning.py", line 648, in keras_LSTM_train
verbose=2)
File "F:\Programowanie\GitHub Repositories\MYOPM\venv\lib\site-packages\keras\engine\training.py", line 1154, in fit
batch_size=batch_size)
File "F:\Programowanie\GitHub Repositories\MYOPM\venv\lib\site-packages\keras\engine\training.py", line 621, in _standardize_user_data
exception_prefix='target')
File "F:\Programowanie\GitHub Repositories\MYOPM\venv\lib\site-packages\keras\engine\training_utils.py", line 135, in standardize_input_data
'with shape ' + str(data_shape))
ValueError: Error when checking target: expected dense_1 to have 2 dimensions, but got array with shape (20, 84, 1)
我得到了仅包含二进制数据的 3d 数组:
火车- 形状 (20, 84, 147)
[[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
...
[[1 0 0 ... 0 0 0]
[1 0 0 ... 0 0 0]
[1 0 0 ... 0 0 0]
...
[0 0 0 ... 1 0 0]
[0 0 0 ... 1 0 0]
[0 0 0 ... 1 0 0]]
标签- 形状 (20, 84, 1)
[[[0]
[0]
[0]
...
[1]
[1]
[1]]
...
[[1]
[1]
[1]
...
[1]
[1]
[1]]
代码:
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers.core import Dense, Dropout, Activation
model = Sequential()
model.add(LSTM(32, input_shape=(84, 147), return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(32, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(1))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(train,
label,
epochs=100,
batch_size=64,
verbose=2)
解决方案
推荐阅读
- r - googledrive unnest 返回未使用的参数错误
- ios - ViewController 不能使用通过 sender 参数传递的字符串
- linux - 从 Windows 到 Linux 的 C++ 可移植性
- javascript - node-config Config 在 typescript jest 上下文中是“未定义”吗?
- mysql - Django ORM 获取每个组的最新数据
- c# - 定位程序集的清单定义与程序集引用不匹配
- amazon-cognito - 如何在 AWS Cognito 身份验证过程中包含 TOTP MFA
- python - 如何获得完美的音频时序
- firebase-authentication - 使用 Firebase 身份验证保护 NextJS 中的路由
- sqlite - 谁使用 Dismissible 从数据库中删除任务,使用颤振和 sqlite?