找不到杯状卷积

问题描述

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

>>> import cupy as cp
>>> b = cp.array([0,1,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,1])
>>> np.convolve(a,np.ones(3),'same') / 3
array([0.,0.,0.33333333,0.33333333])

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

>>> cp.add(b,b)
array([0,2,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中。

解决方法

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

pip install --pre -U cupy-cuda110

现在卷积效果很好

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...