我收到内存错误,因为由于使用的数据超过十亿,因此结果数据太大。
我可以使用哪种方法对数据进行分块?
答案 0 :(得分:2)
如果要存储所有结果数据,则可以先将分块的数据存储到h5py。供参考http://docs.h5py.org/en/stable/。请详细说明您的问题
尝试首先创建linspace总大小的分块大小列表。
示例代码: 大小是您的linspace的形状,限制是分块值
def create_list_sample_size(self, size, limit):
list_sample_size= []
while True:
if size > limit:
list_sample_size.append(limit)
samples = samples - limit
else:
list_sample_size.append(limit)
break
return list_sample_size
然后创建您自己的linspace方法,在其中计算分块版本:
def generate_linspace(list_sample_size)
for sample in list_sample_size:
length += sample
length -= 1
for sample in samples:
index += 1
high_range = low_range + sample
_sample = np.arange(low_range, high_range, dtype=dtype)
step = delta / length
if step == 0:
_sample *= delta
else:
_sample *= step
low_range = high_range