Pytorch模型訓練(0) - CPN源碼解析

《CPN源碼解析》

0 博客目錄

Pytorch模型訓練(0) - CPN源碼解析
Pytorch模型訓練(1) - 模型定義
Pytorch模型訓練(2) - 模型初始化
Pytorch模型訓練(3) - 模型保存與加載
Pytorch模型訓練(4) - Loss Function
Pytorch模型訓練(5) - Optimizer
Pytorch模型訓練(6) - 數據加載

1 前言

 本人在博客2D多人關鍵點–《Cascaded Pyramid Network for Multi-Person Pose Estimation》中簡述了CPN的原理,這裏則來解析下其源碼;論文作者提供的源碼是tensorflow版本的,之前有人分析過了;正好還有個pytorch版本的CPN
 本人想通過這份源碼的學習來總結學習Pytorch模型訓練的一些相關知識;pytorch-cpn這份源碼結構清晰,知識點豐富,非常適合拿來當學習案例
在這裏插入圖片描述

2 源碼結構

  1. 256.192.model與384.288.model:只是模型不同,其他類似;下面是train和test腳本

    	(下載鏈接:
    	https://pan.baidu.com/s/1IAIoT69m1xZAIo8Rax4ElQ 
    	提取碼:2zzq 
    	複製這段內容後打開百度網盤手機App,操作更方便哦)
    
  2. cocoapi:這是COCO數據集提供的操作數據的一些接口函數包

  3. data:放COCO數據的文件夾

  4. dataloader:數據加載包

  5. networks:網絡結構包

  6. utils:其他功能函數包

  7. label_transform.py:COCO的人體關鍵點label文件轉換腳本

 根據自己學習經驗,將代碼分解成下面4個模塊:
1 CPN模型

2 Loss函數和優化器

3 數據加載

4 模型監控

  • 主要是訓練過程中,監控loss變化,或valid預測效果等
  • 訓練可視化

  PyTorch 中使用 TensorBoardX 對神經網絡進行統計可視化,如Loss 曲線、Accuracy 曲線、卷積核可視化、權值直方圖及多分位數折線圖、特徵圖可視化、梯度直方圖及多分位數折線圖及混淆矩陣圖等
  TensorBoardX是藉助TensorFlow的tensorboard,模型訓練也不是非要可視化,所以這部分暫時先不更新,以後有時間再總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章