我在处理丘比特的问题。我目前正在使用丘比特,它工作在一个非常满意的高速。但是当我使用cupy.einsum()方法时,我遇到了一个问题,我在Numpy中使用了相同的语法,没有任何错误。但是当使用Cupy时,它给了我一个错误。这是代码部分
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时,它给了我一个错误。这是一个错误:
跟踪(最近一次调用):
文件"",第4行,在C= cp.einsum('ijk,jl->ijl',A,B)中
文件"C:\Users\Okan\anaconda3\lib\site-packages\cupy\linalg\einsum.py",第389行,在einsum result_dtype =cupy.result_type(*操作数)中,如果dtype不是其他dtype
文件"<array_function internals>",第6行,在result_type中
array_function::在实现TypeError 的类型上没有找到“numpy.result_type”的实现
如果你对这个问题有一个想法或解决办法,我会很高兴的。谢谢。
发布于 2021-09-23 14:54:00
对于那些遇到同样问题的人,在Conda中打开一个新的环境并安装高于3.9的python版本。之后,当您安装cupy by
conda install cupy它将直接安装最新版本(7.8或更高版本)。这个问题是基于cupy版本的。升格后,问题解决了。
https://stackoverflow.com/questions/64001487
复制相似问题