在 google colab Python 上处理大型数组

Posted

技术标签:

【中文标题】在 google colab Python 上处理大型数组【英文标题】:Working with large arrays on google colab Python 【发布时间】:2021-11-02 14:24:49 【问题描述】:

我想在 google colab 中创建一个大小为 100k x 100k 的 numpy.zeros 数组。每当我尝试执行此操作时,RAM 都会崩溃。有什么方法可以使用磁盘空间并创建一个吗?另外,我必须通过向它添加值来对其执行操作。

import numpy as np
arr = np.zeros((100000,100000))
arr

【问题讨论】:

【参考方案1】:

np.zeros() 正在尝试分配 80GB 的 RAM 以适应 100k x 100k 数组,这对您的实例不可用。您尝试改用np.empty()

import numpy as np
arr = np.empty((100000,100000))
arr

这会给你:

 array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]])

【讨论】:

是的,这仅适用于创建数组。但是当我尝试执行任何操作时,RAM 就会崩溃。

以上是关于在 google colab Python 上处理大型数组的主要内容,如果未能解决你的问题,请参考以下文章

超过最大递归深度 google colab

不使用多处理但在使用 PyTorch DataLoader 时在 google colab 上出现 CUDA 错误

将 Google Drive 挂载到 Python Colab 错误

Google colab 无法处理 hdf5 文件

如何使用opencv在google colab上播放视频?

在 Google Colab 平台上的 Jupyter Notebook 中显示/渲染 HTML 文件