Python模块Cupy函数在使用Cupy.einsum()时出错

2022-05-21 08:33:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在和丘比处理一个问题。我目前正在使用Cupy,它的工作速度非常令人满意。但是我在使用cupy.einsum()方法时遇到了一个问题 我对Numpy使用相同的语法,没有任何错误。但是当使用丘比特时,它给了我一个错误。下面是代码部分

import numpy as np
A = np.random.randn(2,3,10)
B = np.random.randn(3,4)
C = np.einsum('ijk,jl->ijl',A,B)

这很有效,我得到了我一直想要的结果。但是,当我用Cupy编写相同的代码时

import cupy as cp
A = cp.random.randn(2,3,10)
B = cp.random.randn(3,4)
C = cp.einsum('ijk,jl->ijl',A,B)

当我运行这个时,A和B被计算出来。但在计算C时,它给了我一个错误。这就是错误:

Traceback (most recent call last):

File "", line 4, in C = cp.einsum('ijk,jl->ijl',A,B)

File "C:\Users\Okan\anaconda3\lib\site-packages\cupy\linalg\einsum.py", line 389, in einsum result_dtype = cupy.result_type(*operands) if dtype is None else dtype

File "<array_function internals>", line 6, in result_type

TypeError: no implementation found for 'numpy.result_type' on types that implement array_function: [<class 'cupy.core.core.ndarray'>]

如果您对这个问题有什么想法或解决方案,我将非常高兴。 多谢各位


Tags: in错误nplinerandomresultcpfiledtypecupyjlrandneinsumijkijl