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

yipeiwu_com7年前Python基础

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

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

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

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

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

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

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

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

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

相关文章

单链表反转python实现代码示例

单链表反转python实现代码示例

单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表 循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可。 代码:...

python实现两个经纬度点之间的距离和方位角的方法

最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(la...

Python实现查找系统盘中需要找的字符

本文实例讲述了Python实现查找系统盘中需要找的字符。分享给大家供大家参考。具体如下: ''' Created on 2011-7-13 @author: 123 ''' impo...

Python中扩展包的安装方法详解

Python中扩展包的安装方法详解

前言 作为一个pythoner ,包的安装时必须懂的,这个语言跟matlab很类似,开源、共享,只要你有好的方法,都可以作为一个库,供大家下载使用,毕竟俗话说:"人生苦短,请用Pytho...

详解python调度框架APScheduler使用

最近在研究python调度框架APScheduler使用的路上,那么今天也算个学习笔记吧! # coding=utf-8 """ Demonstrates how to use t...