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实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
Flask-Mail用法实例分析
Jul 21 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
python实现图片插入文字
Nov 26 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
python 如何将office文件转换为PDF
Sep 22 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Python 随机按键模拟2小时
Dec 30 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 引用是个坏习惯
2010/03/12 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
修复IE9&safari 的sort方法
2011/10/21 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python提取字典key列表的方法
2015/07/11 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
编码实现字符串转整型的函数
2012/06/02 面试题
护士找工作求职信
2014/07/02 职场文书
信访稳定工作汇报
2014/10/27 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
服务器间如何实现文件共享
2022/05/20 Servers