深度學習八股文:混合精度訓練過程出nan怎么辦

其實如果是FP32的訓練,基本的調試方法還是差不多,這里就講一下混合精度訓練過程中的nan。

混合精度訓練使用較低的數值精度(通常是半精度浮點數,例如FP16)來加速模型訓練,但在一些情況下,可能會引發數值不穩定性的問題,導致 NaN 的出現。處理混合精度訓練中的 NaN 問題時,可以考慮以下步驟:

數值檢查: 在訓練過程中,定期檢查模型參數、梯度等是否包含 NaN 或 Inf(無窮大)值。你可以在訓練循環中添加斷言語句,及時發現異常值

assert not torch.isnan(model.parameters()).any(), "Model parameters contain NaN!"

梯度縮放(Gradient Scaling): 在混合精度訓練中,通常會使用梯度縮放來抵消使用較低精度帶來的梯度范圍減小的問題。你可以嘗試調整梯度縮放的比例。

scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()

注意,相比與前向出nan,混合精度訓練會多一個梯度縮放的過程,這個是前向沒有出nan的前提下實現的,影響的梯度更新:

前向計算過程中沒有nan,loss算完后,乘以scale后導致inf,這時候再往后反向傳播出nan了,那在梯度更新的時候就會在梯度更新前進行數值檢查,check finite and unscale過程會去檢查權重的梯度發現有nan或者inf就會跳過更新,此時就可以調整scale的值,把scale降低,然后跑下一個step的前向。如果scale調整后,乘以loss,沒有inf,就調成功了,繼續正常更新參數,如果還是inf就得繼續調小scale

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167051.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

盤點43個Python登錄第三方源碼Python愛好者不容錯過

盤點43個Python登錄第三方源碼Python愛好者不容錯過 學習知識費力氣,收集整理更不易。 知識付費甚歡喜,為咱碼農謀福利。 項目名稱 bnuz中國電信校園網模擬登錄,python selenium BNUZ教務系統認證爬蟲Python語言實現,你可以用…

NX二次開發UF_CSYS_create_temp_csys 函數介紹

文章作者:里海 來源網站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_create_temp_csys Defined in: uf_csys.h int UF_CSYS_create_temp_csys(const double csys_origin [ 3 ] , tag_t matrix_id, tag_t * csys_id ) overview 概述 Creates …

win10 tensorrt源碼編譯onnx

直接利用官方源碼,如下圖,trtexec源碼在TensorRT安裝目錄下,雙擊trtexec.sln文件,使用vs2019打開源碼工程。 如下圖,以yolov8為例子,編譯成功項目之后,設置命令行參數: --onnxd:/yo…

便攜式工業RFID讀寫器怎么選?

便攜式工業RFID讀寫器在物流、零售、制造等行業都有著極為廣泛的應用。企業利用RFID手持終端設備,可以將采集到的物品信息自動傳輸到中央信息系統,實現數據的實時交換和共享。目前市面上RFID手持終端品牌、型號眾多,ANDEAWELL作為國內物聯網產…

案例精選|聚銘網絡流量智能分析審計系統加強南京市溧水區人社局信息安全防護能力

一字排開的社保綜合服務窗口、實時滾動的數“智”人社大屏、便捷快速的社保卡自助服務機……每位到溧水市民中心人社大廳進行業務辦理的市民對高效的社保服務經辦效率贊嘆不已。 黨的二十大報告提出,健全覆蓋全民、統籌城鄉、公平統一、安全規范、可持續的多層次社…

淺談Linux bash腳本----截取字符串

# 用于刪除左起第一個匹配內容,即截取右側內容 ## 用于刪除右起第一個匹配內容,即截取右側內容 % 用于刪除右起第一個匹配內容,即截取左側內容 %% 用于刪除左起第一個匹配內容,即截取左側內容 舉例 file/dir1/dir2/dir3/…

GPT2-chitchat項目運行

git clone https://github.com/yangjianxin1/GPT2-chitchat.git把項目拉下來 下載模型文件: 從[模型分享]中下載模型文件,例如 model_epoch40_50w。 將模型文件放到正確的位置: 將下載的模型文件夾 model_epoch40_50w 放到項目的 model 目錄…

深入理解數據結構:隊列的實現及其應用場景

文章目錄 🍂前言🍂隊列的基本概念和特性🍂隊列的實現方式?🌱順序隊列?🌱鏈式隊列 🍂隊列的基本操作及示例代碼?🥑創建隊列?🥑判空操作?🥑入隊操作?🥑出…

GEE:APP中的遙感圖像下載接口設計

作者:CSDN @ _養樂多_ 本文將詳細介紹如何通過Google Earth Engine(GEE)的用戶界面(ui)模塊創建一個下載按鈕,以觸發遙感圖像下載的操作。通過按鈕的點擊事件,我們生成了包含特定參數的圖像下載鏈接,實現了一鍵式遙感圖像下載功能,使整個過程更加智能和直觀。 此外,…

java操作富文本插入到word模板

最近項目有個需求,大致流程是前端保存富文本(html的代碼)到數據庫,后臺需要將富文本代碼轉成帶格式的文字,插入到word模板里,然后將word轉成pdf,再由前端調用接口下載pdf文件! 1、思…

代碼隨想錄算法訓練營第30天|回溯總結 332. 重新安排行程

回溯是遞歸的副產品,只要有遞歸就會有回溯,所以回溯法也經常和二叉樹遍歷,深度優先搜索混在一起,因為這兩種方式都是用了遞歸。 回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。 回溯算法能解…

Linux安裝Tesseract-OCR(操作系統CentOS)

Linux安裝Tesseract-OCR 第一步,安裝依賴第二步,下載安裝包第三步,安裝leptonica庫第四步,安裝tesseract第五步,添加語言包第六步,測試 第一步,安裝依賴 sudo yum install libpng-devel rpm -q…

從零學算法400

400.給你一個整數 n ,請你在無限的整數序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的數字。 示例 1: 輸入:n 3 輸出:3 示例 2: 輸入:n 11 輸出:0 解釋:第…

ubuntu22.04 arrch64版在線安裝mysql8

腳本 # todo參考鏈接 Ubuntu服務器配置mysql8_ubuntu安裝mysql8-CSDN博客

樂得瑞LDR6020 VR串流線方案:實現同時充電傳輸視頻信號

VR(Virtual Reality),俗稱虛擬現實技術,是一項具有巨大潛力的技術創新,正在以驚人的速度改變我們的生活方式和體驗,利用專門設計的設備,如頭戴式顯示器(VR頭盔)、手柄、定…

三菱PLC定時中斷應用編程(計數器+比較器)

三菱PLC如何開啟定時中斷可以查看下面文章鏈接: PLC定時中斷程序應用注意事項(西門子三菱信捷)_plc設置斷點之后會怎樣_RXXW_Dor的博客-CSDN博客文章瀏覽閱讀2.5k次,點贊5次,收藏6次。首先我們了解下什么是中斷。中斷(打斷的意思),在PLC執行當前程序時,由于系統出現了…

抖音推廣實戰,教你如何快速成長

一、背景介紹 隨著移動互聯網的飛速發展,抖音作為一款短視頻平臺,已經成為越來越多人生活中的一部分。它不僅提供了豐富多彩的內容,還為商家提供了推廣產品的絕佳平臺。本文將為大家詳細解析抖音推廣實戰,幫助大家快速成長。 二…

基于SSM的老年公寓信息管理(有報告)。Javaee項目

演示視頻: 基于SSM的老年公寓信息管理(有報告)。Javaee項目 項目介紹: 采用M(model)V(view)C(controller)三層體系結構,通過Spring SpringMvc …

Spring Boot 應用的 Docker 化:從 Maven 構建到 Docker 部署的完整指南

1. 使用Dockerfile部署 # 使用Java 8基礎鏡像 FROM java:8 LABEL authors"mabh"# 設置時區為Asia/Shanghai,可以根據需要更改 ENV TIME_ZONEAsia/Shanghai# 更新時區 RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_…

堆的實現(C語言版)

文章目錄 概述堆的實現初始化銷毀插入刪除取堆頂元素求堆的長度判斷堆是否為空 完整代碼 概述 如果有一個關鍵碼的集合K {k0,k1,k2…kn-1}&#xff0c;把它的所有元素按完全二叉樹的順序存儲方式存儲在一個一維數組中&#xff0c;并滿足&#xff1a;Ki <K2*i1 且 Ki<K2…