Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x cupy.linalg.eigh不支持多个矩阵输入_Python 3.x_Cupy - Fatal编程技术网

Python 3.x cupy.linalg.eigh不支持多个矩阵输入

Python 3.x cupy.linalg.eigh不支持多个矩阵输入,python-3.x,cupy,Python 3.x,Cupy,根据CuPy 8.0.0的文档,函数CuPy.linalg.eigh应该能够将多个M*M矩阵作为输入 Y = X[np.newaxis,:,:] Y = np.repeat(Y,5,axis=0) Y = cp.array(Y) cp.linalg.eigh(Y) 我得到的错误是: <ipython-input-6-6de0531e64a1> in <module> 4 Y = cp.array(Y) 5 X = cp.array(X) ----

根据CuPy 8.0.0的文档,函数CuPy.linalg.eigh应该能够将多个M*M矩阵作为输入

Y = X[np.newaxis,:,:]
Y = np.repeat(Y,5,axis=0)
Y = cp.array(Y)
cp.linalg.eigh(Y)
我得到的错误是:

<ipython-input-6-6de0531e64a1> in <module>
      4 Y = cp.array(Y)
      5 X = cp.array(X)
----> 6 cp.linalg.eigh(Y)

~\Anaconda3\lib\site-packages\cupy\linalg\eigenvalue.py in eigh(a, UPLO)
    120     if not cuda.cusolver_enabled:
    121         raise RuntimeError('Current cupy only supports cusolver in CUDA 8.0')
--> 122     return _syevd(a, UPLO, True)
    123 
    124 

~\Anaconda3\lib\site-packages\cupy\linalg\eigenvalue.py in _syevd(a, UPLO, with_eigen_vector)
     47     v = a.astype(inp_v_dtype, order='F', copy=True)
     48 
---> 49     m, lda = a.shape
     50     w = cupy.empty(m, inp_w_dtype)
     51     dev_info = cupy.empty((), 'i')

ValueError: too many values to unpack (expected 2)
in
4y=cp.array(Y)
5 X=cp.array(X)
---->6 cp.L.八(Y)
~\Anaconda3\lib\site packages\cupy\linalg\exhageneral.py在八(a,UPLO)中
120如果未启用cuda.cusolver_:
121 raise RUNTIMERROR('当前cupy仅支持CUDA 8.0中的cusolver')
-->122返回syevd(a、UPLO、True)
123
124
~\Anaconda3\lib\site packages\cupy\linalg\general.py in_syevd(a,UPLO,带_eigen_向量)
47 v=a.aType(inp_v_dtype,order='F',copy=True)
48
--->49米,lda=a形
50 w=杯空(m,inp_w_数据类型)
51 dev_info=cupy.empty((),'i')
ValueError:要解压缩的值太多(应为2个)
任何帮助都将不胜感激。我在其他线程或论坛上找不到任何帮助。

该功能是在中添加的,应该可以使用。你能检查一下版本吗?v8.0.0调用上的syevd,但堆栈跟踪显示第122行。