访问冲突(0xC0000005)Numpy数组

时间:2016-01-07 22:31:20

标签: python arrays numpy limit memory-access

我在下面有这个简单的numpy / python代码:

from numpy import zeros, float32

v = 3039345
d = 400
i = 354993
j = 0

var1 = zeros((v,d), dtype=float32)
var1[i, j] = 0 #the problem pops here

当解释最后一行时,我有这个:

Process finished with exit code -1073741819 (0xC0000005)

如果我< 354993执行没问题。我在Windows 8 64位上使用32位32位Python。这是由于内存的限制?在这种情况下,最好的解决方案是什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

它是由32位版本的numpy二进制文件引起的。 Numpy使用特定于平台的整数计算分配的内存区域的大小,以字节为单位测量的数组大小不适合2 ** 32。这听起来像个错误,因为在我看来它应该在数组创建时引发错误。

你可以安装64位版本的任何python和numpy,这将解决你的问题。