有人知道numpy ndarray使用了多少内存? (让我们说10,000,000个浮动元素)。
答案 0 :(得分:32)
数组只是存储在内存中的一个连续块中。假设“float”表示标准的双精度浮点数,那么数组每个元素需要8个字节。
通常,您可以简单地查询nbytes
属性以获取数组的总内存需求,并itemsize
查询单个元素的大小(以字节为单位):
>>> a = numpy.arange(1000.0)
>>> a.nbytes
8000
>>> a.itemsize
8
除了实际的数组数据外,还会有一个包含数组元信息的小数据结构。特别是对于大型阵列,这种数据结构的大小可以忽略不计。
答案 1 :(得分:0)
我很容易高斯,我们可以用print(a.size // 1024 // 1024, a.dtype)
进行计算
它的使用量类似于MB
的使用量,但是对于参数dtype
,float = 8B,int8 = 1B ...