Server - PyTorch BFloat16 “TypeError: Got unsupported ScalarType BFloat16“ 解决方案

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132665807

Img

BFloat16 类型是 16 位的浮点数格式,可以用来加速深度学习的计算和存储。BFloat16 类型的特点是保留 32 位浮点数(float32)的 8 位指数部分,但是只有 8 位的有效数字部分(而不是 float32 的 24 位)。这样,BFloat16 类型,可以表示和 float32 类型相同的数值范围,但是精度会降低。BFloat16 类型的优势在于,可以减少内存占用和数据传输的开销,从而提高深度学习模型的训练和推理速度。同时,由于 BFloat16 类型的指数部分和 float32 类型一致,可以更好地处理梯度消失和梯度爆炸的问题,以及在低精度下保持数值稳定性。PyTorch 支持 BFloat16 类型的计算和存储。PyTorch 提供一些工具和方法来使用 BFloat16 类型进行混合精度训练和推理,例如 torch.bfloat16 数据类型,torch.cuda.amp 模块,torch.nn.BFloat16Module 类等。使用 BFloat16 类型进行混合精度训练和推理的基本思路是:对于计算密集型的操作,如卷积和矩阵乘法,使用 BFloat16 类型进行计算;对于其他的操作,如激活函数和归一化层,使用 float32 类型进行计算。这样可以平衡计算速度和精度损失。

在 PyTorch 使用 BFloat16 时,遇到 Bug,TypeError: Got unsupported ScalarType BFloat16,即:

File "[your file].py", line 38, in [function]reference_np = reference.detach().cpu().numpy()    
TypeError: Got unsupported ScalarType BFloat16

原因 PyTorch Version: 1.13.0 版本,不支持直接转换 BFloat16 格式, 在 detach() 之后,增加 to(torch.float),再转换 cpu(),即可:

reference_np = reference.detach().to(torch.float).cpu().numpy()

参考:

  • Error: TypeError: Got unsupported ScalarType BFloat16
  • 源码:sd-webui-additional-networks commit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/97575.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随机发生器硬件功能

除了c标准库的随机发生器得到随机数以外; stm也有一个硬件随机发生器,是通过种子信号模块模拟噪音得到的随机数; RNG 简介 RNG 处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的 随机数。 RNG 主…

2000-2022年上市公司融资约束SA指数(含原始数据+计算方法+计算结果)

2000-2022年上市企业的融资约束指数(含原始数据计算方法计算结果) 1、时间:2000-2022年 2、范围:沪深A股上市公司 3、指标: 证券代码、证券简称、统计截止日期、是否发生ST或*ST或PT、是否发生暂停上市、行业代码、…

栈和队列OJ

一、括号的匹配 题目介绍: 思路: 如果 c 是左括号,则入栈 push;否则通过哈希表判断括号对应关系,若 stack 栈顶出栈括号 stack.pop() 与当前遍历括号 c 不对应,则提前返回 false。栈 stack 为空&#xff1…

音频修复和增强工具 iZotope RX 10 for mac激活最新

iZotope RX 10是一款音频修复和增强软件,主要特点包括: 声音修复:iZotope RX 10可以去除不良噪音、杂音、吱吱声等,使音频变得更加清晰干净。音频增强:iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等…

Spring框架中如何处理事务管理

文章目录 **1. 声明式事务管理:****定义事务管理器:****配置事务通知:****将事务通知应用到方法:** **2. 编程式事务管理:****通过编程方式启动事务:** **3. 配置事务属性:** 🎈个人…

【2023集创赛】加速科技杯二等奖作品:基于ATE的电源芯片测试设计与性能分析

本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)加速科技杯二等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼…

DES和3DES等常见加解密的关键要素---安全行业基础篇3

DES和3DES DES和3DES是对称加密算法,其加密和解密的关键要素包括: 密钥:DES和3DES使用相同长度的密钥进行加密和解密。DES使用56位密钥,而3DES可以使用112位或168位密钥。密钥是保护数据安全的关键,必须保持机密并只…

SQLite简单介绍

一.简单介绍 SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低&…

【django开发手册】详解drf filter中DjangoFilterBackend,SearchFilter,OrderingFilter使用方式

💖 作者简介:大家好,我是Zeeland,开源建设者与全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客:Zeeland📚 Github主页: Undertone0809 (Zeeland)&…

uniapp集成windicss的流程

一、背景介绍 Windicss是一个基于Tailwind CSS 灵感的库,它更快、更兼容,使用 TypeScript 构建。Windicss的目标是为了解决与Tailwind CSS 类似的问题,提供一个可以快速上手开发的组件库,让开发者不再需要繁琐地编写 CSS 样式。Windicss包含了几乎所有的 CSS 样式,因此开发…

大数据课程K20——Spark的SparkSql概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的SparkSQL由来; ⚪ 了解Spark的SparkSQL特点; ⚪ 了解Spark的SparkSQL优势; ⚪ 掌握Spark的SparkSQL入门; 一、SparkSQL概述 1. 概述 Spark为结构化数据处理引入了一个称…

Unity设置TextMeshPro文本超出范围显示...

TextMtshPro文本超出范围,展示省略。选择Overflow为Ellipsis。