使用 Numpy.Load - 这是最快的方法吗?看起来很慢

Using Numpy.Load - is this the fastest method? It seems slow

提问人:lara_toff 提问时间:8/11/2020 更新时间:8/13/2020 访问量:1129

问:

我正在循环加载以 .npy 格式保存的 10-15MB numpy 数组,每次加载在 Google Colab 中大约需要 1.5 秒。这是一个可以接受的速度吗?到目前为止,这是我循环中最慢的部分。此外,我第二次运行循环时它的速度更快(可能是因为加载的文件已保存到 RAM 中?),但最终它又变慢了(RAM 用完了?

这是我用来加载数组的代码:

data = np.load('/content/drive/My Drive/Share/Daily Data/Processed/' + str(fileName))

任何加快速度的建议将不胜感激,现在我每个循环加载了 1500 个数组,因此每个循环大约需要 25 分钟。数组必须单独加载(请不要建议我将它们全部附加并一次加载所有数组,我不能)。

python numpy 加载

评论

1赞 hpaulj 8/11/2020
np.load是将文件加载到数组中的唯一方法。这项任务很简单,但磁盘/网络操作需要时间。对于许多大型阵列,内存管理可能会减慢速度。npy

答:

0赞 jsmart 8/13/2020 #1

作为近似测试, 我可以在 6 毫秒内(从我的本地磁盘)加载一个包含 1_000_000 个元素 (int64) 的 .npy 文件。

  • 您的文件(/content/drive/...)是在 Google 数据中心还是在您自己的存储空间中?
  • 在后一种情况下,您能否复制到文件,以便它们与计算一起在 Google 上?

评论

0赞 lara_toff 8/13/2020
它们在我的 Google Drive 中,我在 Google Colab 上使用 RAM。所以他们应该靠得很近......