【发布时间】:2020-07-04 21:28:43
【问题描述】:
我有形状为m 和n 的二维数据,我想沿第一轴将大小为w 的窗口放入m-w 的数据集中,每个数组的大小为w通过n。例如,如果数据是:
[[0, 1, 2 ],
[3, 4, 5 ],
[6, 7, 8 ],
[9, 10, 11]]
然后我想把它窗口化
[[[0, 1 , 2 ],
[3, 4 , 5 ],
[6, 7 , 8 ]],
[[3, 4 , 5 ],
[6, 7 , 8 ],
[9, 10, 11]]]
我可以将数据一起窗口化到正确的集合中:
dataset = tf.data.Dataset.from_tensor_slices(np.arange(5*3).reshape(5,3))
dataset = dataset.window(size=3,shift=1,drop_remainder=True)
for window in dataset : print(list(window.as_numpy_iterator()))
>>>[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
>>>[array([3, 4, 5]), array([6, 7, 8]), array([ 9, 10, 11])]
>>>[array([6, 7, 8]), array([ 9, 10, 11]), array([12, 13, 14])]
但我不知道如何将数据重新恢复为堆叠形状。我想也许是 tf.stack,但没有骰子。有人知道如何完成这个吗?
【问题讨论】:
标签: python tensorflow tensorflow2.0 tensorflow-datasets