Loading

yolov5项目cuda错误解决

CUDA报错解决

# 报错详情
AssertionError: CUDA unavailable, invalid device 0 requested

查看cuda版本

先看一下电脑是否支持GPU,打开任务管理器就能查看(ctrl+shift+esc

image-20230606095042553

# cmd命令
nvcc --version
# 如果上面命令不是内部或外部命令,也不是可运行的程序,就输入下面的命令
NVIDIA-smi
# 如果没有cuda的话,可以官网直接下载(下载有点慢,多等待一下)
全部版本:https://developer.nvidia.com/cuda-toolkit-archive(选择一个想要的版本点进去)
这里示例11.7.0:https://developer.nvidia.com/cuda-11-7-0-download-archive

image-20230606100041543

image-20230606100127402

image-20230606100436645

torch三件套安装

pytorch官网:https://pytorch.org/get-started/previous-versions/

找到指定的版本安装(最好是安装到虚拟环境中,Python安装虚拟环境:https://www.cnblogs.com/hkwJsxl/p/17211497.html)

# 先卸载之前的包
pip uninstall torch torchvision torchaudio
# CUDA 11.7
pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117

image-20230606100945390

因为是国外的网站,所以会慢一些,也可以多次下载失败,可以多尝试几次,或换一个时间段进行下载

Upsample报错解决

# 报错详情(我的项目是解决完上面的cuda报错后就出现了这个报错)
AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'
# 解决办法
点进去源码,把forward函数代码换成下面这一句
return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)

报错信息

_VF.meshgrid警告

D:\Virtualenvs\gesture_recognition\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\TensorShape.cpp:3484.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]

# 点进去源码,修改

# return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
# 改为
return _VF.meshgrid(tensors, **kwargs, indexing = "ij") # type: ignore[attr-defined]
posted @ 2023-06-06 11:09  hkwJsxl  阅读(942)  评论(0编辑  收藏  举报