其他分享
首页 > 其他分享> > PyTorch使用中出现问题记录

PyTorch使用中出现问题记录

作者:互联网

问题一:当出现urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1125)>

出现证书认证失败,证书已经过期问题

解决方式如下:取消全局验证即可

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

问题二:GeForce RTX 3060 Laptop GPU 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.
If you want to use the GeForce RTX 3060 Laptop GPU GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

原因:当前pytorch的版本不匹配显卡,需要最新版本的pytorch和cudatoolkit11.1,原先安装的是10.2

解决办法:先执行卸载命令后重新安装最新版本pytorch和cudatoolkit

conda uninstall pytorch

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

使用的命令:(base) > conda info --envs 查看环境

 import torch

使用conda卸载Pytorch

pip卸载Pytorch重新安装

使用pip更新Pytorch和torchvision

更新Pytorch和torchvision安装包

使用Conda更新Pytorch和torchvision

问题三:RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor)

问题原因:输入类型是CPU(torch.FloatTensor),而参数类型是GPU(torch.cuda.FloatTensor)

解决方案:首先检查是否正确使用了CUDA

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

inputs = inputs.to(device)

这样就把input这个tensor转换成了CUDA 类型

tensor.to()  这个函数功能是产生一个新的tensor,并不会改变原数据。

测试时,torch.load("训练文件名", map_location="cpu")  即使用cpu作为输入类型

问题四:import torch 时出现问题,key already registered with the same priority

问题原因:之前有安装cpu版本的torch,最近又安装了gpu cuda版本的,两个版本的torch folder名字重合了

解决方案:

1. 将两个版本的torch全部卸载,否则可以成功Import torch,但实际上无法运行

conda uninstall pytorch

pip uninstall torch

pip uninstall torch # 需要跑两次pip uninstall

2. 重新安装所需要的版本

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

标签:记录,torch,pytorch,PyTorch,conda,cuda,使用,pip,uninstall
来源: https://blog.csdn.net/jiangyangll/article/details/120710300