【问题标题】:Running into Memory Error for Large Data (Simulation)遇到大数据的内存错误(模拟)
【发布时间】:2021-03-26 15:00:01
【问题描述】:

我目前正在做一个物理模拟,计算单个物体的轨道,每个轨道大约有 250 万个数据点。我需要跟踪轨道的最大值,我有代码可以做到这一点,但我遇到了内存错误。我需要为大约 500 个轨道执行此操作,即大约 1.25e9 个数据点。

我想知道是否有办法,一旦我记录了轨道的最大值,我是否可以转储剩余的 250 万个数据点以释放内存并让程序运行。有没有办法释放内存?我目前正在为这些数据使用 numpy 数组。我还没有找到任何方法来做到这一点。

这是我想要做的简化版本:

  1. 计算单个轨道的轨迹(约 2.5 米双)
  2. 记录最大值
  3. 转储该数组并继续(真的只需要此转储功能)

【问题讨论】:

    标签: python numpy memory


    【解决方案1】:

    我不确定我是否理解正确,但您可以使用np.savetxt, 或pickle 用于将数据保存到磁盘并使用del 运算符删除阵列,例如:

    arr = np.array([])
    del arr
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2013-01-12
      • 1970-01-01
      • 2019-12-25
      • 2019-03-05
      • 2010-09-11
      相关资源
      最近更新 更多