博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决“RuntimeError: expected backend CUDA and dtype Float but got backend CUDA and dtype Half”问题
阅读量:4127 次
发布时间:2019-05-25

本文共 1383 字,大约阅读时间需要 4 分钟。

问题描述

在运行Gituhub程序的时候,出现报错

......y[..., 0:2] = (y[..., 0:2] * 2. - 0.5 + self.grid[i].to(x[i].device)) * self.stride[i]  # xyRuntimeError: expected backend CUDA and dtype Float but got backend CUDA and dtype Half

解决方法

经过网上搜索之后,发现可能是Pytorch的版本问题

查询本机的Python版本和Pytorch版本

import torchprint(torch.__version__)

可以看到Python版本为3.6.3,Pytorch版本为1.1.0

查看程序运行所需要的环境

Python >= 3.7 Pytorch == 1.5.x

所以需要升级Python和Pytorch的版本,但是如果只是简单的对Python和Pytorch版本进行简单的升级,以后再跑其他程序的时候说不定还需要再次更改版本,非常麻烦;所以建议采用创建虚拟环境的方法,为每一个程序创建一个专属的虚拟环境,互不打扰,这样程序的配置环境也不会十分混乱。

创建方法具体可见该

为了方便只保留记录一下关键步骤

# 创建环境conda create -n pytorch1.5 python=3.8.5# 添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --set show_channel_urls yesconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/# 查看CUDA版本sudo nvidia-smi# CUDA版本为10.1对应的Pytorchpip install torch==1.5.1+cu101 torchvision==0.6.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html# 安装完成后查看是否安装成功import torchtorch.cuda.is_available

【备注】为什么把之前的Python=3.7改成了Python=3.8.5?

在跑实验的时候发现,如果是3.7会有一个CPU计算的bug,还需要改Python代码,如这篇博客所示:;如果是3.8.5则直接无痛跑成实验。

PS:真的是奇了怪了,可能是因为改了YOLOV5的模型,今天再跑实验又出错了,还是上面的错误,看来Python3.8也没那么好用......

转载地址:http://wgrpi.baihongyu.com/

你可能感兴趣的文章
在osg场景中使用GLSL语言——一个例子
查看>>
关于无线PCB中 中50欧姆的特性阻抗的注意事项
查看>>
Spring的单例模式源码小窥
查看>>
后台服务的变慢排查思路(轻量级应用服务器中测试)
查看>>
MySQL中InnoDB事务的默认隔离级别测试
查看>>
微服务的注册与发现
查看>>
bash: service: command not found
查看>>
linux Crontab 使用 --定时任务
查看>>
shell编程----目录操作(文件夹)
查看>>
机器学习-----K近邻算法
查看>>
HBASE安装和简单测试
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>
搞笑--一篇有趣的文章编译自一篇西班牙博客。有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…
查看>>
非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
查看>>
Tomcat启动错误,端口占用
查看>>
laravel 修改api返回默认的异常处理
查看>>
高德坐标转换百度坐标 javascript
查看>>
tp5封装通用的修改某列值
查看>>
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>