Eu tenho o seguinte código:
try:
# faster, but requires more memory
G = self.sparse.to_dense().t() @ self.sparse.to_dense()
except torch.cuda.OutOfMemoryError:
# slower, but requires less memory
G = torch.sparse.mm(self.sparse.t(), self.sparse)
Meu pylance parece pensar que essa torch.cuda.OutOfMemoryError
não é uma classe de erro válida. (Veja a imagem.)
Porém, quando executo o código, ele é torch.sparse.mm
executado, mostrando que a exceção foi detectada.
Por que o pylance pensa que é inválido quando funciona claramente?
A razão para esse problema é que
torch.cuda.OutOfMemoryError
não estendeException
a classe do Python. Este problema foi corrigido pelo PyTorch agora. 109961