gpt4 book ai didi

arrays - Numpy.count_nonzero 在 64 位 Windows 平台上崩溃

转载 作者:行者123 更新时间:2023-12-01 15:15:54 26 4
gpt4 key购买 nike

我有一段代码在我的 linux 系统上运行良好,但是当我让一位同事在他的 windows 系统上运行它时,它只会让 python 崩溃。我已经能够将其缩小为 non_zero 的 Numpy 函数的问题,但我想知道是否有人知道为什么会崩溃?

代码片段(足以让 64 位 python 2.7.3 崩溃)

import numpy as np
data = np.zeros(2500,dtype='float32, (25000,2)float32')
""" The following 3 lines are not necessary but asking for the amount
of non_zeros in an array filled with zeros feels 'silly'
"""
data[0][0] = 1
data[0][1][0] = 2
data[0][1][1] = 3
time_elements = np.count_nonzero(data)

我很可能会向 NumPy 的人员提交错误报告,因此如果可以重新创建此系统的人员指定他们用于重新创建它的版本/系统,我将不胜感激。

PS:安装的 numpy 是 64 位版本,取自 http://www.lfd.uci.edu/~gohlke/pythonlibs

最佳答案

这是一个 NumPy 错误;看起来平台不相关。来自 numpy/core/src/multiarray/arraytypes.c.src 的 VOID_nonzero 正在递归调用自身,直到它用完堆栈空间(我的系统上超过 87000 个堆栈帧):

#0  0x00002aaaaab98a4a in ?? ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#1 0x00002aaaaab9b2a4 in ?? ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#2 0x00002aaaaab9b6bd in _PyArg_ParseTuple_SizeT ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#3 0x00002aaaae7f7b72 in VOID_nonzero (ip=0x2aaab2d623f4 "",
ap=<value optimized out>)
at numpy/core/src/multiarray/arraytypes.c.src:2345
#4 0x00002aaaae7f7bc7 in VOID_nonzero (ip=0x2aaab2d623f0 "",
ap=0x7fffff3ff118) at numpy/core/src/multiarray/arraytypes.c.src:2363
[...]
#87292 0x00002aaaae7f7bc7 in VOID_nonzero (ip=0x2aaab2d0d010 "",
ap=0x7fffff3ff118) at numpy/core/src/multiarray/arraytypes.c.src:2363
#87293 0x00002aaaae7cce87 in reduce_count_nonzero_loop (iter=0xbcc670,
dataptr=0xbcc770, strides=0xbcc760, countptr=0xbcc738,
iternext=0x2aaaae7beb60 <npyiter_buffered_reduce_iternext_iters2>,
needs_api=0, skip_first_count=0, data=0x2aaaae7f7ac0)
at numpy/core/src/multiarray/item_selection.c:2127
#87294 0x00002aaaae8180f1 in PyArray_ReduceWrapper (operand=0xa099d7, out=0x0,
wheremask=<value optimized out>, operand_dtype=0xa04ce8,
result_dtype=<value optimized out>, casting=NPY_SAME_KIND_CASTING,
axis_flags=0x7fffffffcb90 "\001\024`", reorderable=1, skipna=0,
skipwhichna=0x0, keepdims=0, subok=0,
assign_identity=0x2aaaae811500 <assign_reduce_identity_zero>,
loop=0x2aaaae7ccdd0 <reduce_count_nonzero_loop>,
masked_loop=0x2aaaae7f8c00 <reduce_count_nonzero_masked_loop>,
advanced_masked_loop=0, data=0x2aaaae7f7ac0, buffersize=0,
funcname=0x2aaaae85fa61 "count_nonzero")
at numpy/core/src/multiarray/reduction.c:1000
#87295 0x00002aaaae827c6e in PyArray_ReduceCountNonzero (
__NPY_UNUSED_TAGGEDself=<value optimized out>, args=<value optimized out>,
kwds=<value optimized out>)
at numpy/core/src/multiarray/item_selection.c:2218
#87296 array_count_nonzero (__NPY_UNUSED_TAGGEDself=<value optimized out>,
args=<value optimized out>, kwds=<value optimized out>)
at numpy/core/src/multiarray/multiarraymodule.c:2091
#87297 0x00002aaaaab8cd14 in PyEval_EvalFrameEx ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87298 0x00002aaaaab8e4c2 in PyEval_EvalCodeEx ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87299 0x00002aaaaab8e512 in PyEval_EvalCode ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87300 0x00002aaaaaba7ff2 in ?? ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87301 0x00002aaaaaba81ea in PyRun_StringFlags ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87302 0x00002aaaaaba93b0 in PyRun_SimpleStringFlags ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87303 0x00002aaaaabb9a26 in Py_Main ()
from /opt/.../python/2.7.3/lib64/libpython2.7.so.1.0
#87304 0x00000036c961d994 in __libc_start_main () from /lib64/libc.so.6
#87305 0x0000000000400649 in _start ()

本地人是:

    key = 0xa82d00
value = 0xa05f80
savedflags = 1287
new = 0xa04c90
title = 0x7fffff3ff800
offset = 2
pos = 2
i = <value optimized out>
len = <value optimized out>

关于arrays - Numpy.count_nonzero 在 64 位 Windows 平台上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com