找不到杯状卷积

时间:2020-09-04 13:08:11

标签: python python-3.x numpy cupy

我正在尝试从本文的文档中获取卷积 https://docs.cupy.dev/en/latest/reference/generated/cupy.convolve.html

>>> import cupy as cp
>>> b = cp.array([0,0,0,1,0,0,0,1])
>>> cp.convolve(b, cp.ones(3), 'same') / 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'cupy' has no attribute 'convolve'

因此,对numpy进行卷积似乎可以解决问题,但对cupy无效。

>>> import numpy as np
>>> a = np.array([0,0,0,1,0,0,0,1])
>>> np.convolve(a, np.ones(3), 'same') / 3
array([0.        , 0.        , 0.33333333, 0.33333333, 0.33333333,
       0.        , 0.33333333, 0.33333333])

尽管基本功能(例如add)可以与cupy配合使用。

>>> cp.add(b, b)
array([0, 0, 0, 2, 0, 0, 0, 2], dtype=int32)

设置:

  • Windows 10
  • Win32上的Python 3.8.5(tags / v3.8.5:580fbb0,2020年7月20日,15:57:54)[MSC v.1924 64位(AMD64)]
  • cuda 11.0.3 451.82
  • cuDNN 11.0 x64 v8.0.3.33
  • cuTENSOR 1.2.0

点:

  • numpy-1.19.1
  • cupy-cuda110-7.8.0
  • optuna-2.0.0

我完成了Python和cuda的全新安装,...,但是并没有解决问题。 我现在不知道还有什么可能丢失。据我了解,cuppy只是在gpu上处理了numpy,因此numpy的每个函数都应该在cupy中。

1 个答案:

答案 0 :(得分:0)

似乎cupy 7.8.0不支持convolve,仅在版本8.0.0中支持 所以我现在安装了当前的候选版本cupy_cuda110-8.0.0rc1

pip install --pre -U cupy-cuda110

现在卷积效果很好

相关问题