tensorflow - spyder 和 jupyter 中的 Keras(Tensorflow) LSTM 错误
问题描述
当我使用 google colab 时,代码中没有错误
但是当我使用 spyder 或 jupyter 时,就会发生错误。
Model_10 = Sequential()
Model_10.add(LSTM(128, batch_input_shape = (1,10,5), stateful = True))
Model_10.add(Dense(5, activation = 'linear'))
Model_10.compile(loss = 'mse', optimizer = 'rmsprop')
Model_10.fit(x_train, y_train, epochs=1, batch_size=1, verbose=2, shuffle=False, callbacks=[history])
x_train_data.shape = (260,10,5)
y_train_data.shape = (260,1,5)
我正在使用 python3.7 和 tensorflow 2.0 我不知道为什么错误只发生在 anaconda 中。
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ</p>
错误代码
ValueError: 形状为 (260, 1, 5) 的目标数组被传递为形状为 (1, 5) 的输出,同时用作 loss mean_squared_error
。这种损失期望目标具有与输出相同的形状。
解决方案
你应该重塑你的标签/目标:
y_train_data = y_train_data.reshape((260,5))
由于您batch_input_shape
在输入层中使用并指定批量大小为 1,因此模型将在每个步骤中从您的标签中提取一个示例,无论如何标签的形状均为 (1, 5)。
推荐阅读
- html - Bootstrap 4 .card 溢出时受父高度限制
- r - 分组并保留具有匹配模式的列
- flutter - 如何使用 Flutter 和 Dart 在后台监听 BLE 信号?
- c++ - 当从仿函数类模板参数推导出(衰减)类型时,完美转发失败。为什么?
- scala - Flink Streaming - 每天触发的 10 天事件时间窗口
- c++ - 使用 new[] 关键字时不允许不完整类型
- python - Python逐行读取并保持缩进
- automation - 在 sikulix 中,我如何制作一个 while 循环,条件是它在倒计时结束后不会重复?
- python - 如何使用 python 解析 xsd 并从中创建 XML?
- regex - 在 Google Data Studio 中提取最后一个 / 之后的字符串(REGEXP 问题)