Pytorch训练过程出现nan的解决方式

yipeiwu_com6年前Python基础

今天使用shuffleNetV2+,使用自己的数据集,遇到了loss是nan的情况,而且top1精确率出现断崖式上升,这显示是不正常的。

在网上查了下解决方案。我的问题是出在学习率上了。

我自己做的样本数据集比较小,就三类,每类大概三百多张,初始学习率是0.5。后来设置为0.1就解决了。

按照解决方案上写的。出现nan的情况还有以下几种:

学习率太大,但是样本数据集又很小。(我的情况)

自定义的loss除以了一个很小的数字,小到接近0。

数据不干净,数据本身就有nan,可以用numpy.isnan检查。

target,即label是大于等于0的。从1到类别数目-1变化。

以上这篇Pytorch训练过程出现nan的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中使用MELIAE分析程序内存占用实例

写的dht协议搜索的程序,这几天优化了一下发现速度确实快了好多。但是出现了一个新的问题,内存直接飙升,我开了十个爬虫占用内存800m。开始我以为是节点太多了,找了几个小问题修改一下,发现...

wxPython色环电阻计算器

本文实例为大家分享了wxPython色环电阻计算器的具体代码,供大家参考,具体内容如下 import wx # 导入wxPython class MyFrame(wx.Frame):...

python将字符串转变成dict格式的实现

python将字符串转变成dict格式的实现

字符串的内容是字典,需将字符串转变成字典格式 s1 = '{"lid":2,"date":"20190211","type":"1,2","page":1}' # dict的key和...

Pytorch提取模型特征向量保存至csv的例子

Pytorch提取模型特征向量 # -*- coding: utf-8 -*- """ dj """ import torch import torch.nn as nn impor...

Python Print实现在输出中插入变量的例子

Python Print实现在输出中插入变量的例子

如果想在打印的字符串中的任意地方加入任意的变量,可以使用python的格式化输出。 用例如下: s = 'Hello' x = len(s) print("The length...