【问题标题】:Keras(Tensorflow) LSTM error in spyder and jupyterspyder 和 jupyter 中的 Keras(Tensorflow) LSTM 错误
【发布时间】:2020-03-30 10:46:11
【问题描述】:

当我使用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 中发生错误。

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

错误代码

ValueError: 形状为 (260, 1, 5) 的目标数组被传递给形状为 (1, 5) 的输出,同时用作损失 mean_squared_error。这种损失期望目标具有与输出相同的形状。

【问题讨论】:

    标签: tensorflow keras anaconda lstm


    【解决方案1】:

    你应该重塑你的标签/目标:

    y_train_data = y_train_data.reshape((260,5))
    

    由于您在输入层中使用 batch_input_shape 并指定批量大小为 1,因此模型将在每一步从您的标签中提取一个示例,无论如何标签的形状均为 (1, 5)。

    【讨论】:

    • 那么,当我在 colab 中这样做时,为什么它会起作用?只是版本 tensorflow 2.2.0 和 2.0.0 的区别??
    • 你可以在colab上创建和编译模型,不会报错。您可以训练这样的模型,并提供适当的输入数据。错误是当您尝试训练或拟合模型并按照您的解释提供数据时。你在 colab 上调用 model.fit 吗?
    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2020-03-20
    • 1970-01-01
    相关资源
    最近更新 更多