【发布时间】:2020-12-12 03:07:42
【问题描述】:
我有38910 rows and 2 columns 的数据。由于它是一个字符串数据,所以我使用了 A 和 B 两种特征创建方法。
方法 A 为我提供了以下形状的 numpy 数组的数据:
a.shape = (38910, 17, 21)
方法 B 为我提供了以下形状的 numpy 数组的数据:
b.shape = (38910, 16, 441)
现在,为了应用卷积神经网络和其他方法,我需要结合这两种功能来制作一个 shape = (38910, 17, 21, 16, 441) 的 numpy 数组。我能做到这一点的最好方法是什么,这样我就不会遇到记忆问题。
【问题讨论】:
-
您能否详细说明为什么需要一次将整个数据集放入内存中?是否可以批量组装行并将它们保存到磁盘,然后在训练时批量加载它们?
-
没有任何具体原因,但这似乎很容易,因为我是这个领域的初学者。所以,我没有任何知识来批量组装行,将它们保存到磁盘然后加载。如果您能回答我的问题,包括组装、保存和加载行,我将非常感谢@MatthewCox
-
这似乎很容易:您要求将大量数据放入内存而不面临内存问题。我不认为这很容易。您无需组装批次、保存到磁盘和加载。而是将批次视为
(a_part, b_part),其中每个组件都是较大对应部分的一小部分,例如长度100。这样做,您可以有效地将38910替换为100,这使您的问题变得容易得多。