adavoudi / spdnet

Implementation of Deep SPDNet in pytorch
MIT License
58 stars 11 forks source link

RuntimeError: Lapack Error gesdd : 1 superdiagonals failed to converge. #9

Open raj-shah opened 5 years ago

raj-shah commented 5 years ago

I get a RuntimeError when running augment_data.py, which traces back to SVD (matrix_operator function invoked from tangent_space function). Possibly due to a badly-conditioned matrix?

Traceback (most recent call last):
  File "augment_data.py", line 35, in <module>
    tangent = tangent_space(data, data)
  File "/home/reddwarf/.local/lib/python3.6/site-packages/spdnet/utils.py", line 43, in tangent_space
    middle = matrix_operator(middle, 'expm')
  File "/home/reddwarf/.local/lib/python3.6/site-packages/spdnet/utils.py", line 20, in matrix_operator
    u, s, v = A.svd()
RuntimeError: Lapack Error gesdd : 1 superdiagonals failed to converge. at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/TH/generic/THTensorLapack.cpp:406
adavoudi commented 5 years ago

I am not sure how to properly augment SPD matrices. This function was an idea that I thought might work. Do you have any idea?

zhanghuayu-seu commented 4 years ago

I have the same problem.