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动态性强类型用法实例
May 09 Python
将python代码和注释分离的方法
Apr 21 Python
Django Celery异步任务队列的实现
Jul 24 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
Django实现发送邮件找回密码功能
Aug 12 Python
基于python实现从尾到头打印链表
Nov 02 Python
django中的数据库迁移的实现
Mar 16 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
Python连接mysql方法及常用参数
Sep 01 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 Python
Django框架中表单的用法
Jun 10 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
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
php使用百度天气接口示例
2014/04/22 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
经验几则 推荐
2006/09/05 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
快速了解python leveldb
2018/01/18 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
pytorch 数据集图片显示方法
2018/07/26 Python
在python中bool函数的取值方法
2018/11/01 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
如何利用python发送邮件
2020/09/26 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
公司管理建议书范文
2014/03/12 职场文书
物流专业自荐信
2014/05/23 职场文书
银行求职自荐书
2014/06/25 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
八年级语文教学反思
2016/03/03 职场文书