【课程介绍】
PyTorch是目前深度学习的主流框架之一,它有着成熟的生态、大量开源的源码以及最新的模型,无论学术研究还是工程落地,PyTorch都是主流选择。同时,PyTorch比其他深度学习框架更易学,也是新手入门的好选择。本课程将算法、模型和基础理论知识进行有机结合,结合多个不同的CV与NLP实战项目,帮助大家掌握PyTorch框架的基础知识和使用方法,并学会利用PyTorch框架解决实际问题。通过本课程,可以较平稳地快速入门深度学习领域,初步掌握解决深度学习基础问题的关键性技能。
【课程目录】
第1章 课程介绍-选择Pytorch的理由
本章节主要介绍课程的主要内容、核心知识点、课程涉及到的应用案例、深度学习算法设计通用流程、适应人群、学习本门课程的前置条件、学习后达到的效果等,帮助大家从整体上了解本门课程的整体脉络。
1-1 课程导学
第2章 初识PyTorch框架与环境搭建
本章节主要介绍PyTorch框架基础知识,对比其他的深度学习框架(比如:Tensorflow等),分析优缺点,以及介绍如何在Linux(Ubuntu16.04)系统下搭建Pytorch环境。
2-1 初识Pytorch基本框架
2-2 环境配置(1)
2-3 环境配置(2)
第3章 PyTorch入门基础串讲
主要介绍PyTorch框架中涉及到的基础知识、核心概念以及API,主要包括三个部分:1)Tensor以及相关的函数,2)Autograd机制以及相关函数,3)Torch.nn库。在介绍过程中,结合实际的例子进行Tensor操作函数、AutoGrad自动求导以及神经网络相关函数的使用说明,同时介绍其中涉及到的数学基础(导数,方向导数,偏导数,梯度等...
3-1 机器学习中的分类与回归问题-机器学习基本构成元素
3-2 Tensor的基本定义
3-3 Tensor与机器学习的关系
3-4 Tensor创建编程实例
3-5 Tensor的属性
3-6 Tensor的属性-稀疏的张量的编程实践
3-7 Tensor的算术运算
3-8 Tensor的算术运算编程实例
3-9 in-place的概念和广播机制
3-10 取整-余
3-11 比较运算-排序-topk-kthvalue-数据合法性校验
3-12 三角函数
3-13 其他数学函数
3-14 Pytorch与统计学方法
3-15 Pytorch与分布函数
3-16 Pytorch与随机抽样
3-17 Pytorch与线性代数运算
3-18 Pytorch与矩阵分解-PCA
3-19 Pytorch与矩阵分解-SVD分解-LDA
3-20 Pytorch与张量裁剪
3-21 Pytorch与张量的索引与数据筛选
3-22 Pytorch与张量组合与拼接
3-23 Pytorch与张量切片
3-24 Pytorch与张量变形
3-25 Pytorch与张量填充
3-26 Pytorch与傅里叶变换
3-27 Pytorch简单编程技巧
3-28 Pytorch与autograd-导数-方向导数-偏导数-梯度的概念
3-29 Pytorch与autograd-梯度与机器学习最优解
3-30 Pytorch与autograd-Variable$tensor
3-31 Pytorch与autograd-如何计算梯度
3-32 Pytorch与autograd中的几个重要概念-variable-grad-grad_fn
3-33 Pytorch与autograd中的几个重要概念-autograd例子
3-34 Pytorch与autograd中的几个重要概念-function
3-35 Pytorch与nn库
3-36 Pytorch与visdom
3-37 Pytorch与tensorboardX
3-38 Pytorch与torchvision
第4章 PyTorch搭建简单神经网络
主要介绍机器学习建模思维、神经网络基本概念以及PyTorch解决机器学习问题时搭建模型的基本组成模块,并使用PyTorch搭建简单的神经网络结构,完成手写数字识别和波士顿房价预测,两种不同问题(分类和回归)的数据处理、模型搭建、模型训练等不同过程。通过这个过程帮助大家梳理PyTorch搭建神经网络的基本流程,为后续解决...
4-1 机器学习和神经网络的基本概念(1)
4-2 机器学习和神经网络的基本概念(2)
4-3 利用神经网络解决分类和回归问题(1)
4-4 利用神经网络解决分类和回归问题(2)
4-5 利用神经网络解决分类和回归问题(3)
4-6 利用神经网络解决分类和回归问题(4)
4-7 利用神经网络解决分类和回归问题(5)
第5章 计算机视觉与卷积神经网络基础串讲
主要介绍计算机视觉的基本概念,涉及到图像数据表示,颜色空间,亮度对比度,边缘提取,滤波与锐化等基础概念,然后引入深度学习的基本概念(前向运算、反向传播等)、并详细介绍了基本网络单元(卷积层、池化层、激活层、Dropout层、BN层、FC层、损失层等)、感受野、参数量计算量评估等,另外,课程中帮助大家梳理了卷积
5-1 计算机视觉基本概念
5-2 图像处理常见概念
5-3 特征工程
5-4 卷积神经网(上)
5-5 卷积神经网(下)
5-6 pooling层
5-7 激活层-BN层-FC层-损失层
5-8 经典卷积神经网络结构
5-9 轻量型网络结构
5-10 多分支网络结构
5-11 attention的网络结构
5-12 学习率
5-13 优化器
5-14 卷积神经网添加正则化
第6章 PyTorch实战计算机视觉任务-Cifar10图像分类
主要介绍使用Pytorch完成cifar-10图像分类,具体包括了Cifar-10数据集介绍、Cifar-10数据下载、数据处理、PyTorch训练框架搭建、PyTorch网络搭建、PyTorch分类网络训练、PyTorch数据增强实现、Tensorboard数据分析、PyTorch分类模型测试以及模型优化,通过具体Cifar-10图像分类任务来帮助大家了解如何实战PyTorch搭建深度学...
6-1 图像分类网络模型框架解读(上)
6-2 图像分类网络模型框架解读(下)
6-3 cifar10数据介绍-读取-处理(上)
6-4 cifar10数据介绍-读取-处理(下)
6-5 PyTorch自定义数据加载-加载Cifar10数据
6-6 PyTorch搭建 VGGNet 实现Cifar10图像分类
6-7 PyTorch搭建cifar10训练脚本-tensorboard记录LOG(上)
6-8 PyTorch搭建cifar10训练脚本-tensorboard记录LOG(下)
6-9 PyTorch搭建cifar10训练脚本搭建-ResNet结构(上)
6-10 PyTorch搭建cifar10训练脚本搭建-ResNet结构(下)
6-11 PyTorch搭建cifar10训练脚本搭建-Mobilenetv1结构
6-12 PyTorch搭建cifar10训练脚本搭建-Inception结构(上)
6-13 PyTorch搭建cifar10训练脚本搭建-Inception结构(下)
6-14 PyTorch搭建cifar10训练脚本搭建-调用Pytorch标准网络ResNet18等
6-15 PyTorch搭建cifar10推理测试脚本搭建
6-16 分类问题优化思路
6-17 分类问题最新研究进展和方向
第7章 Pytorch实战计算机视觉任务-Pascal VOC目标检测问题
主要介绍使用Pytorch完成Pascal VOC目标检测问题,具体包括了目标检测算法综述,检测问题建模,Pascal VOC数据集介绍、Pascal VOC数据下载、数据处理,开源工具MMDetection介绍,使用MMDetection完成检测任务配置,使用MMDetection完成模型训练和结果分析。通过具体Passcal VOC目标检测任务来帮助大家了解如何使用MMDec...
7-1 目标检测问题介绍(上)
7-2 目标检测问题介绍(下)
7-3 Pascal VOC-COCO数据集介绍
7-4 MMdetection框架介绍-安装说明
7-5 MMdetection框架使用说明
7-6 MMdetection训练Passcal VOC目标检测任务(上)
7-7 MMdetection训练Passcal VOC目标检测任务(中)
7-8 MMdetection训练Passcal VOC目标检测任务(下)
7-9 MMdetection Test脚本
7-10 MMdetection LOG分析
第8章 PyTorch实战计算机视觉任务-COCO目标分割问题
主要介绍使用Pytorch完成COCO数据集目标分割问题,具体包括了目标分割算法综述(语义分割、实例分割、全景分割),目标分割问题建模,COCO数据集介绍、COCO数据下载、数据处理,开源工具detectron介绍,使用detectron完成实例分割模型MASK-RCNN任务配置,使用detectron完成模型训练和结果分析。通过具体COCO目标分割任务来...
8-1 图像分割基本概念
8-2 图像分割方法介绍
8-3 图像分割评价指标及目前面临的挑战
8-4 COCO数据集介绍
8-5 detectron框架介绍和使用简单说明
8-6 coco数据集标注文件解析
8-7 detectron源码解读和模型训练-demo测试
第9章 PyTorch搭建GAN网络实战图像风格迁移
主要介绍生成对抗模型,GAN网络的基础概念,以及GAN网络在各种不同计算机视觉任务中的应用。并重点介绍GAN网络的典型网络结构,其中包括了:GAN、CycleGAN、Pixel to Pixel等网络结构。帮助大家梳理GAN网络的基本理论、核心概念和框架结构,为后续模型的搭建提供理论基础。并通过使用Pytorch完成GAN网络搭建,并解决图像...
9-1 GAN的基础概念和典型模型介绍(上)
9-2 GAN的基础概念和典型模型介绍(下)
9-3 图像风格转换数据下载与自定义dataset类
9-4 cycleGAN模型搭建-model
9-5 cycleGAN模型搭建-train(上)
9-6 cycleGAN模型搭建-train(下)
9-7 cycleGAN模型搭建-test
第10章 循环神经网与NLP基础串讲
主要介绍循环神经网络与NLP理论基础,涉及到语音&NLP数据表示,语言模型,词向量等基础概念,然后介绍循环神经网络的基本网络单元(RNN层、BiRNN层、LSTM、GRU、Attention、Seq2seq、Transformer等)等,另外,课程中帮助大家梳理了循环神经网络发展的主要脉络以及目前工业届和学术界在解决NLP时的主要问题,主流模型和网络...
10-1 RNN网络基础
10-2 RNN常见网络结构-simple RNN网络
10-3 Bi-RNN网络
10-4 LSTM网络基础
10-5 Attention结构
10-6 Transformer结构
10-7 BERT结构
10-8 NLP基础概念介绍
第11章 PyTorch实战中文文本情感分类问题
主要介绍使用Pytorch搭建循环神经网络,并用来解决中文文本情感分类问题,具体包括了、数据集介绍和下载、数据处理,循环神经网络模型搭建,模型训练和结果分析。通过PyTorch+LSTM模型来帮助大家了解如何使用PyTorch解决自然语言处理问题中的基础任务——中文文本情感分类问题。
11-1 文本情感分析-情感分类概念介绍
11-2 文本情感分类关键流程介绍
11-3 文本情感分类之文本预处理
11-4 文本情感分类之特征提取与文本表示
11-5 文本情感分类之深度学习模型
11-6 文本情感分类-数据准备
11-7 文本情感分类-dataset类定义
11-8 文本情感分类-model类定义
11-9 文本情感分类-train脚本定义
11-10 文本情感分类-test脚本定义
第12章 PyTorch实战机器翻译问题
主要介绍使用Pytorch搭建Attention-Seq2seq网络,并用来解决机器翻译问题,具体包括了:数据集介绍和下载、数据处理,循环神经网络模型搭建,模型训练和结果分析。通过PyTorch+Attention+Seq2Seq模型来帮助大家了解如何使用PyTorch解决自然语言处理问题中的基础任务——机器翻译(序列到序列)问题。...
12-1 机器翻译相关方法-应用场景-评价方法
12-2 Seq2Seq-Attention编程实例数据准备-模型结构-相关函数
12-3 Seq2Seq-Attention编程实例-定义数据处理模块
12-4 Seq2Seq-Attention编程实例-定义模型结构模块(上)
12-5 Seq2Seq-Attention编程实例-定义模型结构模块(下)
12-6 Seq2Seq-Attention编程实例-定义train模块(上)
12-7 Seq2Seq-Attention编程实例-定义train模块(下)
12-8 Seq2Seq-Attention编程实例-定义train模块-loss function
12-9 Seq2Seq-Attention编程实例-定义eval模块
第13章 PyTorch工程应用介绍
主要介绍如何在工程应用中进行模型选择、模型优化、模型存储、模型部署、分布式训练等问题,帮助大家了解如何将算法模型实际应用于工程项目中,并提供稳定的服务。
13-1 PyTorch模型开发与部署基础平台介绍
13-2 PyTorch工程化基础--Torchscript
13-3 PyTorch服务端发布平台--Torchserver
13-4 PyTorch终端推理基础--ONNX
第14章 【选修】Linux操作基础串讲
为帮助不熟悉linux系统的同学快速掌握并入门Linux系统实战技能,本章重点介绍Linux操作系统的使用技巧和相关知识。具体包括:Ubuntu系统介绍、Ubuntu环境搭建、Ubuntu常用命令、Ubuntu系统文件目录介绍、Shell脚本、Make编译、vim简单操作、Git使用基础等,帮助大家在进行实操时打好基础。
14-1 linux操作基础串讲
第15章 课程总结与回顾
主要对之前内容进行总结和回顾,并针对大家在学习中的一些问题和后续的算法职业发展提供一些建议,最后对后续的课程规划进行展望。
15-1 课程总结