【发布时间】:2018-02-20 06:31:14
【问题描述】:
我有两个 ndarray,输入和结果,都由多个数组组成,如下所示:
inputs = [
[[1,2],[2,2],[3,2]],
[[2,1],[1,2],[2,3]],
[[2,2],[1,1],[3,3]],
...
]
results = [
[3,4,5],
[3,3,5],
[4,2,6],
...
]
我设法将它们分成训练和测试数组,其中训练包含 66% 的数组并测试另外 33%。现在我想重塑它们以便在我的 LSTM 中进一步使用,但是在将它们输入到 np.reshape() 函数时我的脚本失败了。
split = int(round(0.66 * results.shape[0]))
train_results = results[:split, :]
train_inputs = inputs[:split, :]
test_results = results[split:, :]
test_inputs = inputs[split:, :]
X_train = np.reshape(train_inputs, (train_inputs.shape[0], train_inputs.shape[1], 1))
X_test = np.reshape(test_inputs, (test_inputs.shape[0], test_inputs.shape[1], 1))
请告诉我在这种情况下如何正确使用 np.reshape()。
基本上我大致遵循本教程:https://github.com/Vict0rSch/deep_learning/tree/master/keras/recurrent
【问题讨论】:
-
这取决于你输入的数据,你能描述一下输入的这一行吗?
[[1,2],[2,2],[3,2]] -
感谢您的回答。这些数组是时间步长,每个都有两个特征。然而,这些时间步长只是众多序列之一的一部分。所以例如在第 1 小时 1 时,您有 1 个苹果和 2 个橙子。第 1 小时 2 你有 2 个苹果和 2 个橙子……第 2 小时 1 你有 2 个苹果和 2 个橙子,依此类推..
-
看来不需要reshape