我很难理解这个错误。我以BSR格式在python scipy.linalg中构建了一个稀疏线性构造器。(欲了解更多信息:BSR matrix scipy)
下面是我在错误中得到的一行:
File "/home/tcimic/INRIA/ALS_CMB/ALS_functions.py", line 289, in __init__
self.P = sp.bsr_matrix((data,ij),shape=(nb_row,nb_col))
File "/scratch/tcimic/miniconda3/envs/toast/lib/python3.8/site-packages/scipy/sparse/bsr.py", line 212, in __init__
self.check_format(full_check=False)
File "/scratch/tcimic/miniconda3/envs/toast/lib/python3.8/site-packages/scipy/sparse/bsr.py", line 247, in check_format
raise ValueError("index pointer size (%d) should be (%d)" %
ValueError: index pointer size (2285732) should be (15906)
但是,当我打开init并检查bsr.py文件中的\u format函数时,我自己进行计算,不应该得到这个奇数2285732。您可以在此处找到具有不同行号的相同文件:source code of bsr.py
基本上,有一个元组名blocksize=(R,C)和一个元组形状=(M,N),还有一个指针indptr,其长度设置为M//R+1,但M//R+1在我的例子中不是2285732,实际上是15906。。。顺便说一句,如果没有给出,blocksize=(1,1)
我不知道该怎么办
Thks寻求此问题的建议和解决方案
平静下来
因此,很显然,正如@WarrenWeckesser所建议的,它来自一个从那时起就被修复的scipy bug。所以一个简单的scipy更新就做到了。 这对社区很重要
回头见
相关问题 更多 >
编程相关推荐