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基于回溯法子集树模板实现8皇后问题
Sep 01 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python 中字典嵌套列表的方法
Jul 03 Python
python 获取url中的参数列表实例
Dec 18 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
Django中提供的6种缓存方式详解
Aug 05 Python
python实现低通滤波器代码
Feb 26 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
Python collections模块的使用方法
Oct 09 Python
python如何获取网络数据
Apr 11 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
Laravel5中contracts详解
2015/03/02 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
php如何获取Http请求
2020/04/30 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
javascript实现yield的方法
2013/11/06 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
js的三种继承方式详解
2017/01/21 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
Python生成随机验证码的两种方法
2015/12/22 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
解决python os.mkdir创建目录失败的问题
2018/10/16 Python
python中的逆序遍历实例
2019/12/25 Python
Python运行异常管理解决方案
2020/03/09 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
采购主管的岗位职责
2013/12/17 职场文书
美德少年事迹材料
2014/01/23 职场文书
教师求职信
2014/06/17 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android