【问题标题】:InvalidArgumentError: Incompatible shapes: [1150,64] vs. [1150] [Op:SquaredDifference]InvalidArgumentError:不兼容的形状:[1150,64] 与 [1150] [Op:SquaredDifference]
【发布时间】:2022-08-16 00:41:15
【问题描述】:

我一直在学习 Coursera 的序列、时间序列和预测课程。我在最后一个作业中遇到问题,但不能完全弄清楚问题是什么。它说形状无效,我不知道为什么。我尝试一遍又一遍地参考视频,但代码在我的初学者眼中似乎是正确的。这是我整个笔记本的链接,有人可以看看并说出问题所在吗?

Notebook

    标签: numpy tensorflow conv-neural-network


    【解决方案1】:

    错误是由于切片不当造成的。替换以下行

    # Slice the forecast to get only the predictions for the validation set
    rnn_forecast = rnn_forecast[G.SPLIT_TIME - G.WINDOW_SIZE:-1]
    

    使用下面的行来避免错误。

    rnn_forecast = rnn_forecast[G.SPLIT_TIME - G.WINDOW_SIZE:-1,-1, 0]
    

    【讨论】:

    • IndexError:数组的索引过多:数组是二维的,但索引了 3 个
    • 此外,以下代码(您要求编辑的代码)将用于评分,因此不要更改它。
    • 注意:不要修改下面的单元格。
    【解决方案2】:
    rnn_forecast = rnn_forecast[G.SPLIT_TIME - G.WINDOW_SIZE:-1,-1, 0]
    

    这是真的,但 Cousera 不允许修改他们的代码。

    【讨论】:

      【解决方案3】:

      请检查您的create_uncompiled_model 函数并确保您不会返回序列。从长时间的尝试和错误中学到了它...

      像这样tf.keras.layers.LSTM(60, return_sequences=False)

      【讨论】:

        【解决方案4】:

        我也有和你一样的错误!你修好了吗?你能和我分享吗?

        【讨论】:

          猜你喜欢
          • 2021-12-31
          • 2021-09-18
          • 2021-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多