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下使用状态机的教程
Apr 11 Python
python基于socket实现网络广播的方法
Apr 29 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
wxpython实现图书管理系统
Mar 12 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
简单了解django缓存方式及配置
Jul 19 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
python 字符串常用方法汇总详解
Sep 16 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 Python
Python实现拼音转换
Jun 07 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转换颜色为其反色的方法
2015/04/27 PHP
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
JS常用算法实现代码
2016/11/14 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
python选择排序算法的实现代码
2013/11/21 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python中for循环控制语句用法实例
2015/06/02 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Python实现自动上京东抢手机
2018/02/06 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
护士工作失误检讨书
2014/09/14 职场文书
庆祝国庆节标语
2014/10/09 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python