我正在尝试从本文的文档中获取卷积 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)
设置:
点:
我完成了Python和cuda的全新安装,...,但是并没有解决问题。 我现在不知道还有什么可能丢失。据我了解,cuppy只是在gpu上处理了numpy,因此numpy的每个函数都应该在cupy中。
答案 0 :(得分:0)
似乎cupy 7.8.0不支持convolve,仅在版本8.0.0中支持 所以我现在安装了当前的候选版本cupy_cuda110-8.0.0rc1
pip install --pre -U cupy-cuda110
现在卷积效果很好