首页 > 解决方案 > Python + NumPy - 循环移位 3D 数组

问题描述

现在正在使用 keras 研究 RNN。我已经成功地训练了网络,现在我正在寻找验证/使用我的模型。RNN 已经过训练,可以根据 15、4 个数字元组的输入生成 4 个数字。

我想要做的是将 15 个数字向量向上移动1 以使最后一行数据为零,然后在最后一行替换网络所做的预测。这是我到目前为止的位置。

tempData = trainX[4:10]
preds = []

for i in range(5):
    # sample shape = (1,15,4)
    sample = tempData[0:1]
    # pred shape = (1,4)
    pred = model.predict(sample)
    # shift the array down so that the last row of sample = 0,0,0,0
    # then replace the null values with pred
    sample[0, len(sample) - 1] = pred[0]
    tempData[0] = sample[0]
    preds.append(pred)

在这里,我从训练数据中抽取一个子样本,并简单地使用第一组 15 个数字作为预测的基础。没有发生变化,但据我了解,预测至少应该覆盖数据的最后一行,但是目前这不起作用。

标签: pythonnumpy

解决方案


推荐阅读