# TensorBoard * 使用kohya內建的TensorBoard時,SD-trainer要關閉,不然會導致kohya的訓練日誌無法顯示 * 開啟  * 可選要查看那些模型數據  ## 功能 1. Scalars: 記錄訓練過程數值,Accuracy、Loss 等等,可以記錄任何你想要追蹤的數值  2. Images: 輸入的圖像 3. Graphs: TensorFlow 的 Graph 流程架構圖 4. Distributions: 記錄一個 Tensor 輸出數值大小的分佈圖 5. Histograms: 跟上面 distributions 雷同,只是方式為直方圖 6. Projector: 強大的映射降維模組,內建 PCA 以及 T-SNE 兩種降維方式 ## 圖表解釋  * loss:以圖表的坡度及震盪來判別模型好壞 * loss逐漸減少,學習越準確 * 震盪過大或loss增大=>模型需調整 * loss/average: * 通常指的是損失函數的平均值,這個指標用來追蹤模型訓練過程中損失的變化情況,可以反映模型的訓練進展和性能。 * **每個訓練周期(或批次)中損失函數值的平均**。在每次訓練迭代中,模型通過反向傳播和優化算法(如梯度下降)來更新權重,以使損失函數盡可能減小。 * 理想情況為逐漸減小,表示模型對訓練數據的擬合程度不斷提高。如果沒有降低,或者在某個階段開始上升,可能意味著模型的訓練出現了問題,需要調整學習率、模型結構或其他超參數。 * loss/current: * 指的是當前迭代或當前批次的損失函數值。與"loss/average" 不同,它不是損失函數值的平均值,而是某一時刻或某一批次的實際損失值。 * 提供了當前訓練步驟的損失函數值,可以幫助我們更直觀地了解模型在訓練過程中每一步的表現。 * 通常情況下,我們會關注 "loss/current" 的變化趨勢,以便在訓練過程中監控模型的表現。與 "loss/average" 相比,"loss/current" 更能夠反映模型在每一步的訓練中實際損失情況,有助於更及時地調整模型的參數和訓練策略。 * loss/epoch: * 指的是每個訓練周期(epoch)的損失函數值。 * 一個 epoch 指的是對整個訓練數據集進行一次正向傳播和反向傳播的過程。 * 有助於評估模型在整個訓練過程中的表現。通常情況下,我們希望隨著訓練的進行,"loss/epoch" 逐漸減小,表示模型對訓練數據的擬合程度不斷提高。 * lr/textencoder: * 藉由模型測試後效果推斷步數找出最適學習率 * lr/Unet: * 同上 * 震盪: * 短期內的震盪可能是正常的,但如果震盪持續存在且幅度較大,則可能需要考慮進行調整或優化 * 原因: 1. 學習率過高或過低:學習率是控制模型參數更新的重要參數。 * 模型可能會在最優點附近來回震盪而無法收斂 * 過低,則模型可能會收斂緩慢,或者在局部最優點處停滯。 2. 批量大小不合適:批量大小影響模型參數更新的頻率和穩定性。如果批量大小太小,模型可能會受到噪聲的影響而導致震盪,模型可能會收斂緩慢或不穩定。 3. 模型結構複雜度:模型的複雜度可能導致訓練過程中的震盪。過於複雜的模型可能會在訓練集上過度擬合,導致泛化性能差。 4. 數據質量問題:訓練數據的質量問題,例如噪聲、標籤錯誤或不平衡的數據分佈,都可能導致模型訓練過程中的震盪。 5. 優化算法選擇:不同的優化算法對於不同的模型和數據集可能表現不同。選擇不合適的優化算法可能導致訓練過程中的震盪 ## 看圖表微調參數(待研究) ## 參考 https://blog.csdn.net/mimiduck/article/details/117111445 https://pytorch.zhangxiann.com/5-ke-shi-hua-yu-hook/5.1-tensorboard-jie-shao https://zhuanlan.zhihu.com/p/471198169 https://medium.com/ai-academy-taiwan/tensorboard-tutorial-43153779038a
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up