weixin_47525569
2022-03-27 18:00
采纳率: 0%
浏览 27

dask如何解决numpy大矩阵内存问题

要对一个 (20956320, 100)的矩阵进行计算,
报错:numpy.core._exceptions.MemoryError: Unable to allocate 7.81 GiB for an array with shape (20956320, 100) and data type float32
随后看到使用dask转化ndarray可以避免类似问题,便尝试使用

tile_all = parallize(n_jobs=njobs, func=tile_func, iterable=predict_y_all, front_y=front_y)#用joblib写的并行化计算程序
da_tile_all = da.from_array(np.float32(tile_all), chunks=(100,100))
pi = np.sum(1 - da_tile_all, axis=1) / self.number

依然报错
da_tile_all = da.from_array(np.float32(tile_all), chunks=(100,100))
numpy.core._exceptions.MemoryError: Unable to allocate 7.81 GiB for an array with shape (20956320, 100) and data type float32
da方法似乎没有起到作用,dask.array怎么解决大矩阵的问题

1条回答 默认 最新

相关推荐 更多相似问题