在VSCode中使用Pytorch遇到的问题

PowerShell无法使用conda虚拟环境       

        按教程在VSCode中输入代码,提示缺少模块,于是在终端中安装缺少的模块,发现在VSCode的终端中激活不了conda的虚拟环境。

        由于VSCode的终端使用的是PowerShell,于是我直接打开PowerShell,发现果然在PowerShell中也不能激活conda的虚拟环境。上网查了查发现是因为PowerShell并不支持切换conda的虚拟环境,但是可以通过初始化的方法对终端进行设置。

        使用管理员权限打开powershell,执行如下命令

conda init powershell

        这个命令可以初始化PowerShell,然后输入如下命令更改PowerShell的执行策略

Set-ExecutionPolicy RemoteSigned

        输入之后回车,它会提示你是否要更改策略,输入A全部确认就可以了。

        设置完执行策略后,可以使用如下命令查询当前的执行策略

get-ExecutionPolicy

        重启PowerShell,发现输入conda activate 环境变量名 可以激活conda的虚拟环境了,打开VSCode也可以自动进入conda的虚拟环境,大功告成。

        如果上述步骤还是没有效果的话,找到anaconda的安装路径,把里面的bin目录和Scripts目录加入到环境变量中,然后再在PowerShell中执行conda init就可以了。


Pylance找不到导入的库

        使用VSCode写Python,通常都会安装Pylance插件。这个插件功能十分全,但是有时在我们导入包的时候,会找不到我们导入的包,在导入的包下面显示黄色的波浪线,并在下面提示Import "包名" could not be resolved。

         在网上找了很多资料都是说,是由于编译的路径下没有我们使用的模块,需要在settings.json文件中增加设置我们使用的Python路径。

"python.pythonPath": "C:\\Users\\JXD\\anaconda3\\envs\\test\\python.exe"

         但是我自己试了以后,发现警告还是在,并没有消失。在找了很多资料后,终于发现在最新的VSCode中已经弃用了使用"python.pythonPath"设置Python路径,转而使用"python.defaultInterpreterPath"设置路径。所以需要在settings.json文件中加入下面,后面的路径换成你自己的虚拟环境的路径:

"python.defaultInterpreterPath": "C:\\Users\\JXD\\anaconda3\\envs\\test\\python.exe"

        设置后,黄色的波浪线警告没了,也可以转到导入的包里的函数定义了。

 


模型运行时报错

GeForce RTX 3060 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

        报这种错误是因为Cuda版本的问题,当前电脑的GPU的算力是8.5,而Cuda版本的支持的算力最大只有7.5。需要Cuda的支持最大算力大于电脑GPU的算力才可以,所以需要安装其他版本的Cuda,直接去Pytorch的官网去Start Locally | PyTorch 找到下载最新版本的Cuda版本的命令即可。

        这里直接在终端中进入你的虚拟环境,输入命令安装新版本的Cuda:

        安装完成后,再运行模型不再报错 

猜你喜欢

转载自blog.csdn.net/Sakuya__/article/details/120888501