访问冲突 (0xC0000005) NumPy 数组
Access Violation (0xC0000005) NumPy array
我有下面这个简单的 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)
如果 i < 354993 则执行正常。我使用的是 Python 2.7 32 位,而不是 Windows 8 64 位。这是由于内存限制?在这种情况下,最好的解决方案是什么?
这是由 32 位版本的 numpy 二进制文件引起的。 Numpy 确实使用 platform-specific 整数计算分配的内存区域的大小,并且以字节为单位测量的数组大小不适合 2**32。这听起来像是一个错误,因为在我看来它应该在创建数组时引发错误。
您可以安装任何 python 和 numpy 的 64 位版本,这将解决您的问题。
我有下面这个简单的 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)
如果 i < 354993 则执行正常。我使用的是 Python 2.7 32 位,而不是 Windows 8 64 位。这是由于内存限制?在这种情况下,最好的解决方案是什么?
这是由 32 位版本的 numpy 二进制文件引起的。 Numpy 确实使用 platform-specific 整数计算分配的内存区域的大小,并且以字节为单位测量的数组大小不适合 2**32。这听起来像是一个错误,因为在我看来它应该在创建数组时引发错误。
您可以安装任何 python 和 numpy 的 64 位版本,这将解决您的问题。