L16|Learner 框架與 Callback(The Learner framework)

零基礎提示

  • 這一課不用額外數學
  • Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
  • 字幕:離線網站選「中英」(電腦翻譯,大意正確)
  • 看不懂的詞查 白話小辭典

打造有彈性的訓練框架 Learner:callback、取消例外、MetricsCB、DeviceCB、context manager,再用 hooks 和激活值直方圖檢查訓練過程。 (Build a flexible Learner: callbacks, cancel exceptions, MetricsCB, DeviceCB, context managers, then inspect training with hooks and activation histograms.)

項目內容
所屬Part 2:Deep Learning Foundations to Stable Diffusion
影片YouTube
對應書本章節無對應章節(Part 2 以 notebook 為主)
原始頁面Lessons/lesson16
難度(F3 視角)★★★★★ 大學程度(F3 只求理解概念)

影片

本課重點

  1. Callback:在訓練的特定時刻(每個 fit、epoch、batch 的前後)呼叫的函數或類別,讓你不改主程式就能加功能。
  2. 取消例外:CancelFitException、CancelEpochException、CancelBatchException 讓 callback 可以中途停止訓練、跳過某個 epoch 或 batch。
  3. 常用 callback:MetricsCB 用 torcheval 計算並印出指標;DeviceCB 把模型和資料搬到正確裝置(GPU)。用 context manager 重構程式,之後加 callback 更容易。
  4. 看進模型裡面:用 set_seed 固定亂數,故意用很高的學習率 0.6 測試穩定性。
  5. Hooks 與直方圖:用 PyTorch hooks 收集每一層激活值的平均和標準差,畫成直方圖,看出訓練是否健康(例如激活值大量變成 0)。

關鍵概念

英文術語中文一句話解釋
Callback回呼在特定時機自動被呼叫的程式
Exception例外用來中斷正常流程的訊號
Context manager情境管理器用 with 語法自動處理開始與結束
Hook鉤子掛在層上、在前向或反向時自動執行的函數
Activation statistics激活值統計每層輸出的平均與標準差
torchevaltorchevalPyTorch 的評估指標函式庫

認識關聯圖與重點圖

L16_關聯圖_202611041526

練習題

  1. 用生活例子解釋 callback。
  2. 為什麼要觀察每一層激活值的平均和標準差?
  3. 如果想在驗證準確率達到 95% 時自動停止訓練,可以怎麼用這課的工具?

資源連結

英文延伸資源(零基礎可以先略過,點開看)

相關筆記

Built with LogoFlowershow