0

cupyTypeError在 Windows 10 上运行以下代码时引发。

import cupy as cp
print(cp.nanstd(cp.asarray([1, 2, 3, 4, 5], dtype='float64')))

错误如下所示:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-167-1194b91fc5af> in <module>
      1 import cupy as cp
      2 
----> 3 cp.nanstd(cp.asarray([1, 2, 3, 4, 5], dtype='float64'))

~\Anaconda3\envs\py37\lib\site-packages\cupy\statistics\meanvar.py in nanstd(a, axis, dtype, out, ddof, keepdims)
    219     # TODO(okuta): check type
    220     return _statistics._nanstd(
--> 221         a, axis=axis, dtype=dtype, out=out, ddof=ddof, keepdims=keepdims)

cupy/core/_routines_statistics.pyx in cupy.core._routines_statistics._nanstd()

cupy/core/_routines_statistics.pyx in cupy.core._routines_statistics._nanstd()

cupy/core/_routines_statistics.pyx in cupy.core._routines_statistics._nanvar()

cupy/core/reduction.pxi in cupy.core._kernel.ReductionKernel.__call__()

cupy/util.pyx in cupy.util.memoize.decorator.ret()

cupy/core/_kernel.pyx in cupy.core._kernel._decide_params_type()

cupy/core/_kernel.pyx in cupy.core._kernel._decide_params_type_core()

TypeError: Type is mismatched. _count <class 'numpy.int32'> <class 'numpy.int64'>

以下是有关我的设备的一些信息:

操作系统:Windows 10 64 位

Python:3.7.5(默认,2019 年 10 月 31 日,15:18:51)[MSC v.1916 64 位 (AMD64)]

numpy 版本:1.74.4

CuPy 版本:7.0.0

CUDA 根目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

CUDA 构建版本:10000

CUDA 驱动程序版本:10020

CUDA 运行时版本:10000

cuBLAS 版本:10000

cuFFT 版本:10000

CURAND 版本:10000

cuSOLVER 版本 : (10, 0, 0)

cuSPARSE 版本:10000

NVRTC 版本 : (10, 0)

cuDNN 构建版本:7605

cuDNN 版本:7605

NCCL 构建版本:无

NCCL 运行时版本:无

提前感谢任何可以提供帮助的人!

4

1 回答 1

0

编辑

import cupy as cp
import numpy as np
cp.nanstd(cp.asarray(np.asarray([1, 2, 3, 4, 5], dtype='float64')))

或者

cp.nanstd(cp.array([1, 2, 3, 4, 5], dtype='float64'))
于 2019-12-05T08:35:32.247 回答