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实现sublime3的less编译插件示例
Apr 27 Python
python中xrange用法分析
Apr 15 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
创建pycharm的自定义python模板方法
May 23 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
Python用字典构建多级菜单功能
Jul 11 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python对常见数据类型的遍历解析
Aug 27 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 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
通过文字传递创建的图形按钮
2006/10/09 PHP
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php实现简单文件下载的方法
2015/01/30 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
毕业生求职的求职信
2013/12/05 职场文书
行政人事岗位职责
2014/03/17 职场文书
产品开发计划书
2014/04/27 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python