我想训练AI,但是遇到了squeeze dim的错误,怎么解决?

问题描述 投票:0回答:1

我正在研究这样的 LSTM 神经网络编码:

hist = model.fit(train, label,batch_size=16, epochs=1000)

但是遇到错误:

ValueError:无法挤压暗淡[1],预期尺寸为1,'{{node Squeeze}} = SqueezeT = DT_INT64,squeeze_dims = [-1]'的尺寸为16,输入形状:[?,16]。

这是模型序列的第一个代码:

from keras.models import Sequential
from keras.layers import LSTM, Dense, Dropout
import numpy as np

batch_size = 16

model = Sequential()
model.add(LSTM(56, activation='relu',input_shape=(window_length, number_of_features),return_sequences=True))

model.add(Dropout(0.2))
model.add(LSTM(56, activation='relu', return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(number_of_features))
model.compile(loss='mse', optimizer='adam', metrics=['accuracy'])

请问可以解决吗?谢谢!

我正在尝试在 LSTM 神经网络上制作 AI 训练模型,代码应该像这样运行: (https://i.stack.imgur.com/cSSrz.png)

python neural-network lstm
1个回答
0
投票

尝试检查模型摘要以查看数据集形状如何在网络中流动,并检查初始数据集形状。当数据集不匹配时就会发生这种情况。您需要以正确的方式塑造形状。当谈到暗淡兼容性时,任何数字都可以与 1 兼容,但不能与其他数字兼容。

(1, 1) 对于 (1, 16) 和 (16, 任何数字) 都可以,但如果 (1, 16 之外的任何其他数字) 或 (16, 任何其他数字) 则 (1, 16) 不起作用。检查广播的 Numpy 规则。张量流也是如此。

如果 = 是兼容性的标志,那么:

1 = any number
same number = same number 
one number not = same number
© www.soinside.com 2019 - 2024. All rights reserved.