pytorch 如何使用float64训练


Posted in Python onMay 24, 2021

pytorch默认使用单精度float32训练模型,

原因在于:

使用float16训练模型,模型效果会有损失,而使用double(float64)会有2倍的内存压力,且不会带来太多的精度提升。

本人,最近遇到需要使用double数据类型训练模型的情况,具体实现需要把模型的权重参数数据类型和输入数据类型全部设置为torch.float64即可。

可使用torch的一个函数,轻松地把模型参数转化为float64

torch.set_default_dtype(torch.float64)

输入类型可使用

tensor.type(torch.float64)

补充:float32和float64的本质区别

首先我们需要知道何为bits和bytes?

bits:名为位数bytes:为字节简单的数就是MB和G的关系!

那么8bits=1bytes,下面是各个单位的相互转化!

 

pytorch 如何使用float64训练

那么float32和float64有什么区别呢?

数位的区别一个在内存中占分别32和64个bits,也就是4bytes或8bytes数位越高浮点数的精度越高它会影响深度学习计算效率?

float64占用的内存是float32的两倍,是float16的4倍;

比如对于CIFAR10数据集,如果采用float64来表示,需要60000*32*32*3*8/1024**3=1.4G,光把数据集调入内存就需要1.4G;

如果采用float32,只需要0.7G,如果采用float16,只需要0.35G左右;

占用内存的多少,会对系统运行效率有严重影响;(因此数据集文件都是采用uint8来存在数据,保持文件最小)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中给List添加元素的4种方法分享
Nov 28 Python
Python实现的RSS阅读器实例
Jul 25 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
Python 多维List创建的问题小结
Jan 18 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
python实战之90行代码写个猜数字游戏
Apr 22 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 Python
pytorch 使用半精度模型部署的操作
May 24 #Python
解决Pytorch半精度浮点型网络训练的问题
May 24 #Python
Python办公自动化之Excel(中)
May 24 #Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 #Python
python3读取文件指定行的三种方法
May 24 #Python
pytorch中Schedule与warmup_steps的用法说明
May 24 #Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 #Python
You might like
PHP中基本符号及使用方法
2010/03/23 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
python中set()函数简介及实例解析
2018/01/09 Python
python实现月食效果实例代码
2019/06/18 Python
Python自动化操作实现图例绘制
2020/07/09 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
关于Assembly命名空间的三个面试题
2015/07/23 面试题
自我鉴定怎么写
2013/12/05 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
数学教学随笔感言
2014/02/17 职场文书
前处理班长职位说明书
2014/03/01 职场文书
公司委托书格式
2014/08/01 职场文书
党的生日演讲稿
2014/09/10 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
旅行社计调工作总结
2015/08/12 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
导游词之日月潭
2019/11/05 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis
详细介绍python类及类的用法
2021/05/31 Python