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

2024-04-26 21:50:08 发布

您现在位置: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错误nplinerandomresultcpfile
1条回答
网友
1楼 · 发布于 2024-04-26 21:50:08

对于遇到相同问题的用户,请在Conda中打开一个新环境并安装3.9以上的python版本。之后,当你安装cupy的时候

conda install cupy

它将直接安装最新版本(v.7.8或更高版本)。这个问题是基于丘比的版本。经过改进,问题解决了

相关问题 更多 >