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实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
详解python之协程gevent模块
Jun 14 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
python 列表推导式使用详解
Aug 29 Python
Python3运算符常见用法分析
Feb 14 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
基于Python词云分析政府工作报告关键词
Jun 02 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字符串处理的10个简单方法
2010/06/30 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
PHP中比较时间大小实例
2014/08/21 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
JS获取地址栏参数的小例子
2013/08/23 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
通过C++学习Python
2015/01/20 Python
Python批量更改文件名的实现方法
2017/10/29 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
策划助理岗位职责
2013/11/18 职场文书
公司委托书格式
2014/08/01 职场文书
珍惜资源的建议书
2014/08/26 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
《西门豹》教学反思
2016/02/23 职场文书