前提:
- 在Anaconda Prompt中,切换到pytorch虚拟环境中,输入torch.cuda.is_available()显示的是True。
- 在pycharm中解释器已经切换到了pytorch的虚拟环境
- 代码中 import torch 处并未被标红
- 在pycharm的 Terminal 中报ModuleNotFoundError: No module named 'torch’这个错误,但如果直接通过 run运行,报的是其他错误;(这才是问题的关键!!!刚开始一直没意识到是这里的问题)
解决过程:
在做实验时遇到了这个问题,一开始以为是torch的问题,花了很长时间解决torch的问题。
网上有回答说是因为pycharm中不止一个torch,因为区分不出优先级而报错,对此我删除了pytorch的虚拟环境还有python中安装的torch,重新安装一个之后,还是不行;又有回答说是因为安装pytorch的方式问题,让通过下载torch、torchvision以及torchaudio的whl文件之后,通过pip install进行安装,试过之后出现了本机GPU与下载版本不匹配的问腿,我又将其卸载,最后还是通过新建pytorch虚拟环境,通过pytorch官网上的命令正常安装pytorch。
后来开始想为什么两种运行方式的报错不一致,有回答说是两者所使用的解释器不一样,然后我搜索了如何更改 terminal 的解释器的方法,改完之后,就不报这个错误了。
最后的解决方式:
修改pycharm中terminal所用的解释器:修改terminal解释器方法参考此链接