You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在可扩展统计自助法中使用Numpy视图?大数据内存优化

大规模数据集自助法的内存优化问题(基于xarray+dask)

我使用xarray+dask处理大规模数据集以实现可扩展性,这些库在多数计算场景中表现优异,但在最后一步遇到了问题:需对最大维度执行统计自助法(bootstrapping),随后计算其方差。

当前实现代码如下:

idx = xr.DataArray(
    np.random.randint(0, projections.n.size, (sample_count, sample_size)),
    dims=("sample", "n"),
)

bootstrapped_variations = xr.concat(
    [projections.isel(n=i).var(dim="n").sum(dim="ReIm") for i in idx], dim="sample"
).chunk("auto")

该代码在部分样本量下可行,但无法扩展到更大样本量,会出现内存不足错误。我推测核心问题是调用isel时会创建大量新数组,而实际上这些数组在计算方差后会立即被归约。

我希望为单个样本创建numpy视图,避免在内存中分配庞大的新数组,但当前使用的高级索引会返回副本而非视图。即使计算速度稍慢也可接受,我想知道是否可行;同时也想了解是否有其他处理大数据集自助法的高效方式,据我所知np.random.choice同样返回副本而非视图。

内容的提问来源于stack exchange,提问作者krokosik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:17:05