《CPN源码解析》

文章目录

  • 0 博客目录
  • 1 前言
  • 2 源码结构

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函数和优化器

  • Loss Function
  • Optimizer

3 数据加载

  • 数据加载

4 模型监控

  • 主要是训练过程中,监控loss变化,或valid预测效果等
  • 训练可视化

  PyTorch 中使用 TensorBoardX 对神经网络进行统计可视化,如Loss 曲线、Accuracy 曲线、卷积核可视化、权值直方图及多分位数折线图、特征图可视化、梯度直方图及多分位数折线图及混淆矩阵图等
  TensorBoardX是借助TensorFlow的tensorboard,模型训练也不是非要可视化,所以这部分暂时先不更新,以后有时间再总结

Pytorch模型训练(0) - CPN源码解析相关推荐

  1. Android8.0 bindService源码解析

    1.AMS的bindService 我们从调用bindService方法开始来看 bindService(intent,serviceConnection, Context.BIND_AUTO_CRE ...

  2. Android7.0 bindService源码解析

    看到标题的时候,有些同学可能会有些质疑:现在都Android12了,你讲Android7,是不是太过时了.这里有两个原因: (1)Android8.0和Android7.0的源码有些不同,但是Andr ...

  3. EventBus1.0.1源码解析

    很久没有更新过源码解析类文章,以下内容作为源码分析类的笔记.分析方法适用于其它源码分析. 分析工具说明 许久以来,阅读源代码最得力的工具就非Source Insight莫属了.然,后来微软出了一款轻量 ...

  4. YYModel V1.0.4源码解析

    YYKit出现了很长时间了,一直想要详细解析一下它的源码,都是各种缘由推迟了. 最近稍微闲了一点,决定先从最简单的YYModel开始吧. 首先,我也先去搜索了一下YYModel相关的文章,解析主要AP ...

  5. 部署测试fabric1.0及源码解析

    开发环境 UBUNTU 16.04 LTS docker docker-compose git go 1.8以上 docker,docker-compose以及go的安装这里不再描述. 部署测试 新建 ...

  6. android9.0 UsbService源码解析

    文章目录 前言 一.服务启动 二.服务创建 三.系统就绪 四.系统启动完毕 前言 USBManager作为一接口类,客户端,当然要有一个服务端来支持工作,这个服务就是UsbService.我这里先从他 ...

  7. android9.0 UsbManager源码解析

    文章目录 前言 一.UsbManager是什么? 二.每个类的简介 总结 前言 安卓手机可以通过USB连接外设,比如键盘,鼠标,摄像头.还可以与电脑互联进行数据传输,加强了对外扩展的能力. 这功能无疑 ...

  8. [Dubbo3.0.8源码解析系列]-12-全局视野来看Dubbo3.0.8的服务启动生命周期

    目录 12 全局视野来看Dubbo3的服务启动生命周期 12.1 启动方法简介 12.2 启动器启动方法的调用逻辑start() 12.3 应用程序发布器DefaultApplicationDeplo ...

  9. react native 0.50 源码解析 再出发 持续更新

    1.核心类 1.1 RCTRootView 一个RCTRootView持有一个RCTBridge成员变量 RCTRootView : UIViewRCTBridge *bridge;UIViewCon ...

  10. [源码解析] PyTorch 分布式(2) ----- DataParallel(上)

    [源码解析] PyTorch 分布式(2) ----- DataParallel(上) 文章目录 [源码解析] PyTorch 分布式(2) ----- DataParallel(上) 0x00 摘要 ...

最新文章

  1. Hdu-6249 2017CCPC-Final G.Alice’s Stamps 动态规划
  2. java 判断日期是同一天_如何检查Java中的两个日期是否在同一天
  3. 关于HTTP_CLIENT_IP,HTTP_X_FORWAR
  4. 前台线程和后台线程(Foreground and Background Threads)
  5. 精美技术图赏-技术精华|二期
  6. asp.net中大文件下载
  7. Ubuntu下selenium+Chrome的安装使用
  8. Google C++编程风格指南(一):背景
  9. C语言——二维数组转置
  10. 内存耗尽后,Redis会发生什么?
  11. [USACO14JAN]Recording the Moolympics
  12. 【VMware vSAN 6.6】5.4.vSAN 配置提示:vSAN硬件服务器解决方案
  13. 将Excel VBA封装成exe程序[老贴收藏]
  14. MySQL服务器状态变量
  15. 解压后缀.tar.gz的软件包
  16. nacl溶解度_运用溶解度曲线判断混合物分离、提纯的方法
  17. 【Ceres基本使用方法】使用Ceres拟合曲线求解最小二乘问题
  18. pytorch使用说明2
  19. MySQL中的蠕虫复制
  20. primordials is not defined错误,正确的解决方案 亲测 完美 好用

热门文章

  1. 联想计算机启机按F1,电脑开机提示按f1不能正常启动怎么办
  2. Node.js 之 Crypto模块
  3. 【模型加速】PointPillars模型TensorRT加速实验(4)
  4. cc2530dma控制器功能_dma控制器是什么_dma控制器工作方式
  5. RZR 丝印RZR Marking RZR 12Pin 芯片,终于找到型号了
  6. 新更新....llq原创考试第二题
  7. 曾经的荣誉,偶然被唤醒
  8. pip install时timeout设置
  9. sd卡受损怎么修复?这个技巧一定要看
  10. 微型计算机硬件系统包括什么,微型计算机的硬件系统包括什么?