原因是什么没有摸清,但是基本上可以确定是由于__init__.pyi缺失或者存在问题
导致的。我的pytorch版本是0.4.1,但是在网上没有找到0.4.1的相关__init__.pyi的版本,所以我使用的是1.0.1的。
解决方法:
进入到这个链接中,在pytorch文件夹下,找到一个版本的__init__.pyi
放到你的虚拟环境所在目录下的torch中。如我的torch包所在位置为D:\Program Files (x86)\Anaconda\envs\pytorch\Lib\site-packages\torch
,然后将__init__.pyi复制进来
到这就结束了吗?并没有,当你重启运行pycharm时,可以自动补全torch.sum、torch.mean等函数,但是却无法引用torch.nn等模块,此时只需要在__init__.pyi文件中加入下面两行即可。
from torch import nn, cuda, ops, functional, optim, autograd, onnx, utils
from torch import contrib, distributions, for_onnx, jit, multiprocessing
加入前:
加入后:
然后,再重启pycharm即可。
可以看到,代码自动补全功能已经恢复了。