Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/datawhalechina/thorough-pytorch
PyTorch入门教程,在线阅读地址:https://datawhalechina.github.io/thorough-pytorch/
https://github.com/datawhalechina/thorough-pytorch
deep-learning machine-learning python pytorch
Last synced: 4 days ago
JSON representation
PyTorch入门教程,在线阅读地址:https://datawhalechina.github.io/thorough-pytorch/
- Host: GitHub
- URL: https://github.com/datawhalechina/thorough-pytorch
- Owner: datawhalechina
- License: other
- Created: 2021-07-31T07:03:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T03:31:11.000Z (about 2 months ago)
- Last Synced: 2024-12-04T22:03:03.881Z (19 days ago)
- Topics: deep-learning, machine-learning, python, pytorch
- Language: Jupyter Notebook
- Homepage: https://datawhalechina.github.io/thorough-pytorch/
- Size: 82.7 MB
- Stars: 2,645
- Watchers: 18
- Forks: 424
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 深入浅出PyTorch
>[!IMPORTANT]
>[在线阅读地址](https://datawhalechina.github.io/thorough-pytorch/) | [配套视频教程](https://www.bilibili.com/video/BV1L44y1472Z) | [智海(国家级AI科教平台)](https://aiplusx.momodel.cn/classroom/class/664bf5db24cff38ad7d2a20e?activeKey=intro)
>
>请注意:在线文档更新落后于主仓库更新,建议看source文件夹下的markdown文件## 一、项目初衷
PyTorch是利用深度学习进行数据科学研究的重要工具,在灵活性、可读性和性能上都具备相当的优势,近年来已成为学术界实现深度学习算法最常用的框架。
考虑到PyTorch的学习兼具理论储备和动手训练,两手都要抓两手都要硬的特点,我们开发了《深入浅出PyTorch》课程,期望以组队学习的形式,帮助大家从入门到熟练掌握PyTorch工具,进而实现自己的深度学习算法。
我们的愿景是:通过组队学习,大家能够掌握由浅入深地PyTorch的基本知识和内容,经过自己的动手实践加深操作的熟练度。同时通过项目实战,充分锻炼编程能力,掌握PyTorch进行深度学习的基本流程,提升解决实际问题的能力。
学习的先修要求是,会使用Python编程,了解包括神经网络在内的机器学习算法,勤于动手实践。
《深入浅出PyTorch》是一个系列,一共有三个部分。已经上线的是本系列的第一、二部分,后续会不断更新《深入浅出PyTorch》(下),给出更贴合实际应用的实战案例。
## 二、内容简介
- 第零章:前置知识(选学)
- 人工智能简史
- 相关评价指标
- 常用包的学习
- Jupyter相关操作
- 第一章:PyTorch的简介和安装
- PyTorch简介
- PyTorch的安装
- PyTorch相关资源简介
- 第二章:PyTorch基础知识
- 张量及其运算
- 自动求导简介
- 并行计算、CUDA和cuDNN简介
- 第三章:PyTorch的主要组成模块
- 思考:完成一套深度学习流程需要哪些关键环节
- 基本配置
- 数据读入
- 模型构建
- 损失函数
- 优化器
- 训练和评估
- 可视化
- 第四章:PyTorch基础实战
- 基础实战——Fashion-MNIST时装分类
- 基础实战——果蔬分类实战(notebook)
- 第五章:PyTorch模型定义
- 模型定义方式
- 利用模型块快速搭建复杂网络
- 模型修改
- 模型保存与读取
- 第六章:PyTorch进阶训练技巧
- 自定义损失函数
- 动态调整学习率
- 模型微调-torchvision
- 模型微调-timm
- 半精度训练
- 数据扩充
- 超参数的修改及保存
- PyTorch模型定义与进阶训练技巧
- 第七章:PyTorch可视化
- 可视化网络结构
- 可视化CNN卷积层
- 使用TensorBoard可视化训练过程
- 使用wandb可视化训练过程
- 第八章:PyTorch生态简介
- 简介
- 图像—torchvision
- 视频—PyTorchVideo
- 文本—torchtext
- 音频-torchaudio
- 第九章:模型部署
- 使用ONNX进行部署并推理
- 第十章:常见网络代码的解读(推进中)
- 计算机视觉
- 图像分类
- ResNet源码解读
- Swin Transformer源码解读
- Vision Transformer源码解读
- RNN源码解读
- LSTM源码解读及其实战
- 目标检测
- YOLO系列解读(与MMYOLO合作)
- 图像分割
- 自然语言处理
- RNN源码解读
- 音频处理
- 视频处理
- 其他
-## 三、人员安排
| 成员 | 个人简介 | 个人主页 |
| --------------- | --------------------------------------------------- | -------------------------------------------------- |
| 牛志康 | DataWhale成员,西安电子科技大学本科生 | [[知乎](https://www.zhihu.com/people/obeah-82)][[个人主页](https://nofish-528.github.io/)] |
| 李嘉骐 | DataWhale成员,清华大学研究生 | [[知乎](https://www.zhihu.com/people/li-jia-qi-16-9/posts)] |
| 刘洋 | Datawhale成员,中国科学院数学与系统科学研究所研究生 | [[知乎](https://www.zhihu.com/people/ming-ren-19-34/asks)] |
| 陈安东 | DataWhale成员,哈尔滨工业大学研究生 | [[个人主页](https://andongblue.github.io/chenandong.github.io/)] |教程贡献情况(已上线课程内容):
李嘉骐:第三章;第四章;第五章;第六章;第七章;第八章;内容整合
牛志康:第一章;第三章;第六章;第七章;第八章,第九章,第十章;文档部署
刘洋:第二章;第三章
陈安东:第二章;第三章;第七章
## 四、 课程编排与配套视频
部分章节直播讲解请观看B站回放(持续更新):https://www.bilibili.com/video/BV1L44y1472Z
- 课程编排:
深入浅出PyTorch分为三个阶段:PyTorch深度学习基础知识、PyTorch进阶操作、PyTorch案例分析。- 使用方法:
我们的课程内容都以markdown格式或jupyter notebook的形式保存在本仓库内。除了多看加深课程内容的理解外,最重要的还是动手练习、练习、练习
- 组队学习安排:
第一部分:第一章到第四章,学习周期:10天;
第二部分:第五章到第八章,学习周期:11天
## 五、关于贡献
本项目使用`Forking`工作流,具体参考[atlassian文档](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow)大致步骤如下:
1. 在GitHub上Fork本仓库
2. Clone Fork后的个人仓库
3. 设置`upstream`仓库地址,并禁用`push`
4. 使用分支开发,课程分支名为`lecture{#NO}`,`#NO`保持两位,如`lecture07`,对应课程目录
5. PR之前保持与原始仓库的同步,之后发起PR请求命令示例:
```shell
# fork
# clone
git clone [email protected]:USERNAME/thorough-pytorch.git
# set upstream
git remote add upstream [email protected]:datawhalechina/thorough-pytorch.git
# disable upstream push
git remote set-url --push upstream DISABLE
# verify
git remote -v
# some sample output:
# origin [email protected]:NoFish-528/thorough-pytorch.git (fetch)
# origin [email protected]:NoFish-528/thorough-pytorch.git (push)
# upstream [email protected]:datawhalechina/thorough-pytorch.git (fetch)
# upstream DISABLE (push)
# do your work
git checkout -b lecture07
# edit and commit and push your changes
git push -u origin lecture07
# keep your fork up to date
## fetch upstream main and merge with forked main branch
git fetch upstream
git checkout main
git merge upstream/main
## rebase brach and force push
git checkout lecture07
git rebase main
git push -f
```### Commit Message
提交信息使用如下格式:`: `
```
:
│ │
│ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│
└─⫸ Commit Type: [docs #NO]:others
````others`包括非课程相关的改动,如本`README.md`中的变动,`.gitignore`的调整等。
## 六、更新计划
| 内容 | 更新时间 |内容|
| :---- | :---- |:----:|
|apex| |apex的简介和使用|
|模型部署| |Flask部署PyTorch模型|
|TorchScript| |TorchScript|
|并行训练| |并行训练 |
|模型预训练 - torchhub| |torchhub的简介和使用方法|
|目标检测 - SSD| |SSD的简介和实现|
|目标检测 - RCNN系列| |Fast-RCNN & Mask-RCNN|
|目标检测 - DETR| |DETR的实现|
|图像分类 - GoogLeNet| |GoogLeNet的介绍与实现|
|图像分类 - MobileNet系列| |MobileNet系列介绍与实现|
|图像分类 - GhostNet| |GhostNet代码讲解|
|生成式对抗网络 - 生成手写数字实战| |生成数字并可视化|
|生成式对抗网络 - DCGAN| ||
|风格迁移 - StyleGAN| ||
|生成网络 - VAE| ||
|图像分割 Deeplab系列| |Deeplab系列代码讲解|
|自然语言处理 LSTM| |LSTM情感分析实战|
|自然语言处理 Transformer| ||
|自然语言处理 BERT| ||
|视频| | 待定|
|音频| | 待定|
|自定义CUDA扩展和算子|||## 七、鸣谢与反馈
- 非常感谢DataWhale成员 叶前坤 @[PureBuckwheat](https://github.com/PureBuckwheat) 和 胡锐锋 @[Relph1119](https://github.com/Relph1119) 对文档的细致校对!
- 如果有任何想法可以联系我们DataWhale也欢迎大家多多提出issue。
- 特别感谢以下为教程做出贡献的同学!并特别感谢MMYOLO的贡献者们!Made with [contrib.rocks](https://contrib.rocks).
## 八、关注我们
## LICENSE
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。