项目目标

8周时间学完PyTorch训练营,做好笔记,学通PyTorch

参与人员

@DarrenZhang(darrenzhang)


项目拆解

  • 第一周
    • PyTorch简介 与 环境配置
    • PyTorch的数据结构 - TensorVariable
    • PyTorch的自动微分 - autograd
    • PyTorch的nn模块— 逻辑回归
    • 作业讲解:
      • Tensor操作
      • 实现自动微分
      • 采用nn实现逻辑回归分类器
  • 第二周
    • DataSetDataLoader
    • 让PyTorch读取自己的数据
    • 数据预处理及从硬盘到模型
    • 数据增强的二十二种模块
    • 作业讲解:
      • 构建 DataSet 读取自己的数据
      • 实现数据增强
  • 第三周
    • 模型搭建要素及 sequential
    • 常用网络层介绍及使用.
    • 10种模型参数初始化方法
    • 卷积神经网络 Lenet-5 搭建及训练
    • 作业讲解:
      • 采用 sequential非sequenial 构建Lenet-5进行图像分类
      • 采用不同初始化方法对 Lenet-5 参数初始化
  • 第四周
    • 特殊的 Module - Function
    • 17种损失函数讲解
    • 10种优化器讲解
    • 6种学习率调整策略
    • 作业讲解:
      • 手算并对比PyTorch损失函数
      • 构建一个优化器并打印其属性
      • 实现学习率调整策略并打印学习率变化
  • 第五周
    • TensorBoard 介绍
    • LossAccuracy 可视化
    • 卷积核及特征图可视化
    • 梯度及权值分布可视化
    • 混淆矩阵及其可视化
    • 类激活图可视化(Grad-CAM)
    • 作业讲解:
    • 采用 TensorboradLenet-5lossaccuracy混淆矩阵 进行可视化
    • AlexNet 的卷积核及特征图可视化
    • 采用 Grad-CAMLenet-5 进行类激活图可视化
  • 第六周
    • 过拟合正则化
    • L1L2 正则项
    • Dropout
    • Batch Normalization
    • module.eval()dropoutBN 的影响
    • 作业讲解:
      • 采用 L1L2 对逻辑回归进行正则化,并采用 TensorBoard 对权值分布进行对比;
      • Lenet-5 采用 dropoutBN ,并理解 module.eval()原理
  • 第七周
    • 迁移学习之—模型 Finetune
    • 模型保存与加载
    • EarlyStop
    • GPU使用— 调用、选择、模型保存与加载
    • 作业讲解:
      • 采用10分类模型进行2分类Finetune;
      • GPU模型训练与加载
  • 第八周
    • 图像分类实战 — ResNet18
    • 图像分割实战 — Unet
    • 图像目标检测实战 — YOLOV3
    • 图像生成对抗网络实战 — GAN
    • 递归神经网络实战 — RNN/LSTM
  • 项目:采用自己的数据实现上述5种模型

排期和程碑

[20200312~20200312] 里程碑 1
[20200326~20200326] 里程碑 2
[20200427~20200428] Week1 【任务1】
[20200430~20200430] Week1【任务2】
[20200501~20200501] Week1【任务3】
[20200503~20200503] Week1总结
[20200504~20200505] Week2【任务1】
[20200507~20200508] Week2【任务2】
[20200510~20200510] Week2总结
[20200511~20200512] Week3【任务1】
[20200514~20200515] Week3【任务2】
[20200517~20200517] Week3总结
[20200518~20200519] Week4【任务1】
[20200521~20200521] Week4【任务2】
[20200522~20200522] Week4【任务3】
[20200524~20200524] Week4总结
[20200525~20200526] Week5【任务1】
[20200528~20200528] Week5【任务2】
[20200529~20200529] Week5【任务3】
[20200531~20200531] Week5总结
[20200601~20200602] Week6【任务1】
[20200604~20200605] Week6【任务2】
[20200607~20200607] Week6总结
[20200608~20200609] Week7【任务1】
[20200611~20200612] Week7【任务2】
[20200614~20200614] Week7总结
[20200615~20200616] Week8【任务1】
[20200618~20200619] Week8【任务2】
[20200621~20200621] Week8总结
[20200622~20200623] Week9【任务1】
[20200625~20200626] Week9


项目资料

PyTorchtutorial_0.0.5余霆嵩.pdf