运行pytorch代码遇到的error解决办法
1.no CUDA-capable device is detected
首先考虑的是cuda的驱动问题,查看gpu显示是否正常,然后更新最新的cuda驱动;
第二个考虑的是cuda设备的默认参数是否修改,平常一块显卡的设置是0,多块可能会修改此参数:
CUDA_VISIBLE_DEVICES="3" ,把它修改为0即可解决。
2.out of gpu memory
调小batch_size。
换一个简单的模型,例如从resnet101换成resnet50
根据任务不同,情况不同可以修改base_size和crop_size.
图片格式从float换成int
优化程序,每一步都释放掉多余的占用显存的变量
3.因为模型结构下载出现问题,或者别的预加载文件出现问题
直接换网络,或者用外网。
4.明显的存在的文件,但是导入代码出现错误,例如
from ..utils import get_upsampling_weight
两点代表上上一级目录,这里识别不出来,可以直接设定根目录,然后把两个点去掉.
5.Error: Expected more than 1 value per channel when training
,增大batchsize,因为在batch中计算平均值和方差时不能设置batchsize为1.
6.UserWarning: invalid index of a 0-dim tensor.
修改loss.data[0]为loss.item()
7.torch 未定义
重新输入,让ide重新识别
8.RuntimeError: invalid argument 0:
- 你输入的图像数据的维度不完全是一样的,比如是训练的数据有100组,其中99组是256*256,但有一组是384*384,这样会导致Pytorch的检查程序报错
- 可以尝试添加
img = img.convert('RGB')到您__getitem__的Dataset。(有时已经添加也无法改变) - 另外一个则是比较隐晦的batchsize的问题,Pytorch中检查你训练维度正确是按照每个batchsize的维度来检查的,比如你有1000组数据(假设每组数据为三通道256px*256px的图像),batchsize为4,那么每次训练则提取(4,3,256,256)维度的张量来训练,刚好250个epoch解决(250*4=1000)。但是如果你有999组数据,你继续使用batchsize为4的话,这样999和4并不能整除,你在训练前249组时的张量维度都为(4,3,256,256)但是最后一个批次的维度为(3,3,256,256),Pytorch检查到(4,3,256,256) != (3,3,256,256),维度不匹配,自然就会报错了,这可以称为一个小bug。
那么怎么解决,针对第一种,很简单,整理一下你的数据集保证每个图像的维度和通道数都一直即可。第二种来说,挑选一个可以被数据集个数整除的batchsize或者直接把batchsize设置为1即可。
9.
运行pytorch代码遇到的error解决办法的更多相关文章
- Ubuntu 16.04 LTS 下安装MATLAB2015b 以及Matlab system error解决办法
下载MATLAB2015b破解版 操作系统:Ubuntu 16.o4 LTS 程序文件:Matlab2015b-glnxa64破解版 解压提取文件:在ubuntu系统下可以直接提取压缩文件,得到三个文 ...
- C++运行出现"what(): std::bad_alloc"的解决办法
注:这里只是我的代码出现这种情况及对应的解决办法,你的代码不一定出现和我一样的情况.左移这篇随笔仅供参考. 运行程序出现如下结果: terminate called after throwing an ...
- iOS - xcode经常报的经典error解决办法大全
1.错误信息: 2015-10-28 10:39:55.933 XFW[2696:55982] *** Assertion failure in -[UITableView _configureCel ...
- vue页面加载前显示{{代码}}的原因及解决办法
进入正题,简单说说自己对html中出现{{}}的原因及解决办法: 这样写的话,就会出现{{}}一闪的情况: 原因:html的加载顺序: 解析html结构 -> 加载外部脚本和样式表文件 -> ...
- 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究
参考网址1:http://www.csharpwin.com/csharpspace/2360.shtml...参考网址2:http://www.oschina.net/question/234345 ...
- Win64位操作系统无法运行暗黑2战网D2GS的解决办法
前几天想在我的Win7 x64系统里做个战网自己玩,搭建完毕后进入战网创建房间出现经典的问题,“排队1”. 原因很清楚,就是D2GS无法启动:但是使用之前的各种办法尝试后无果,后来查看D2GS同目录下 ...
- gtk程序运行报 main_loop!=NULL 错误的解决办法
现象是将按钮的clicked Action与gtk_main_quit函数绑定起来会发生如上错误. 原因不明. 如果将window的destroy Action与gtk_main_quit绑定是没有问 ...
- Smokeping配置完成之后出现Software error解决办法
下面是在浏览器中输入http://localhost/smokeping点击回车之后出现的错误: Software error: ERROR: creating /usr/local/smokepin ...
- phpstudy 500 Internal Server Error 解决办法
版本:phpstudy 2018 报错:500 Internal Server Error 原因:手动选择路径的时候,产生了斜杠不同 (正确:"D:/phpStudy/PHPTutoria ...
随机推荐
- hdoj:2084
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题
https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...
- socket.timeout: The read operation timed out 更改pip源至国内镜像,显著提升下载速度
出现socket.timeout: The read operation timed out 错误的时候,可能是pip源不稳定,改改试试看! 经常在使用Python的时候需要安装各种模块,而pip ...
- redis服务器学习一
一:什么是redis服务器 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zs ...
- [原]win10下编译lua5.3.4
1.下载lua源码http://www.lua.org/ftp/ 2.打开vs2012工具命令提示 3.cd 到lua源码的src目录 4.依次执行以下代码 cl /MD /O2 /c /DLUA_B ...
- 【Dubbo 源码解析】08_Dubbo与Spring结合
Dubbo 与 Spring 结合 基于 dubbo.jar 内的 META-INF/spring.handlers 配置,Spring 在遇到 dubbo 名称空间时,会回调 DubboNamesp ...
- SQL 问题记录
今天在处理SQL的时候遇到几个问题: 1.如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中 select distinct id from 收费站 ...
- Aspose.Words使用技巧
咨询个问题啊,我在使用aspose生成word,遇到了两个问题,一个是用aspose自动生成的目录的字体与标题的字体一致,但是用户不想他们一致,如何修改:二是,用户只想在正文部分显示页码,目录等页面不 ...
- Golang & GitLab-CI 详细实例步骤
1.安装GitLab-Runner 1)curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi- ...
- 禅道docker化(Centos7.2)
操作步骤 确认服务器禅道版本及容器禅道版本 服务器禅道版本:9.6.2 容器禅道版本:9.6.3 版本sql比对 下载官方9.6.3源码包url:http://dl.cnezsoft.com/zent ...