Important
Online reading address | Supporting video tutorials | Zhihai (national AI science and education platform)
Please note: Online document updates lag behind the main repository updates. It is recommended to look at the markdown file in the source folder.
PyTorch is an important tool for data science research using deep learning. It has considerable advantages in flexibility, readability and performance. In recent years, it has become the most commonly used framework for implementing deep learning algorithms in the academic community.
Considering that PyTorch's learning has both theoretical reserves and hands-on training, and both hands must be strong, we have developed the "Easy to Understand PyTorch" course, hoping to help everyone from getting started to mastering PyTorch tools in the form of team learning, and then implement their own deep learning algorithms.
Our vision is: through team learning, everyone can master the basic knowledge and content of PyTorch from shallow to deep, and deepen their proficiency through their own hands-on practice. At the same time, through actual project operations, we can fully train our programming skills, master the basic process of PyTorch in deep learning, and improve our ability to solve practical problems.
The prerequisite for learning is to be able to use Python programming, understand machine learning algorithms including neural networks, and be diligent in hands-on practice.
"Easy to Understand PyTorch" is a series with three parts in total. The first and second parts of this series are already online. "In-depth and easy-to-understand PyTorch" (Part 2) will be updated in the future to give practical cases that are more in line with practical applications.
| member | Personal Profile | Personal homepage |
|---|---|---|
| Niu Zhikang | Member of DataWhale, undergraduate student of Xi'an University of Electronic Science and Technology | [Zhihu][Personal Home Page] |
| Li Jiaqi | Member of DataWhale, graduate student of Tsinghua University | [Zhihu] |
| Liu Yang | Member of Datawhale, graduate student at the Institute of Mathematics and Systems Science, Chinese Academy of Sciences | [Zhihu] |
| Chen Andong | Member of DataWhale, graduate student of Harbin Institute of Technology | [Personal Home Page] |
Tutorial contribution status (courses are already online):
Li Jiaqi: Chapter 3; Chapter 4; Chapter 5; Chapter 6; Chapter 7; Chapter 8; Content integration
Niu Zhikang: Chapter 1; Chapter 3; Chapter 6; Chapter 7; Chapter 8, Chapter 9, Chapter 10; Document deployment
Liu Yang: Chapter 2; Chapter 3
Chen Andong: Chapter 2; Chapter 3; Chapter 7
For some chapter live explanations, please watch the playback of B station (continuously updated): https://www.bilibili.com/video/BV1L44y1472Z
Course Orchestration: In-depth and easy-to-understand PyTorch is divided into three stages: basic knowledge of PyTorch deep learning, advanced operation of PyTorch, and case analysis of PyTorch.
How to use:
Our course content is stored in this repository in markdown format or jupyter notebook format. In addition to reading more to deepen the understanding of the course content, the most important thing is to practice, practice, practice
Team learning arrangements:
Part 1: Chapter 1 to Chapter 4, study cycle: 10 days;
Part 2: Chapter 5 to Chapter 8, Learning cycle: 11 days
This project uses the Forking workflow. For details, refer to the atlassian document, the steps are as follows:
upstream repository address and disable pushlecture{#NO} , and #NO remains two digits, such as lecture07 , corresponding to the course directoryCommand example:
# 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 Submit information using the following format: <type>: <short summary>
<type>: <short summary>
│ │
│ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│
└─⫸ Commit Type: [docs #NO]:others
others include non-course-related changes, such as changes in this README.md , adjustments to .gitignore , etc.
| content | Update time | content |
|---|---|---|
| apex | Introduction and use of apex | |
| Model deployment | Flask deploys PyTorch model | |
| TorchScript | TorchScript | |
| Parallel training | Parallel training | |
| Model pre-training - torchhub | Introduction and usage of torchhub | |
| Target Detection - SSD | Introduction and implementation of SSD | |
| Object Detection - RCNN Series | Fast-RCNN & Mask-RCNN | |
| Target Detection - DETR | Implementation of DETR | |
| Image Classification - GoogleLeNet | Introduction and implementation of GoogleLeNet | |
| Image Classification - MobileNet Series | Introduction and implementation of MobileNet series | |
| Image Classification - GhostNet | GhostNet code explanation | |
| Generative adversarial network - Generative handwritten digital practice | Generate numbers and visualize them | |
| Generative adversarial network - DCGAN | ||
| Style Transfer - StyleGAN | ||
| Generate network - VAE | ||
| Image segmentation Deeplab series | Deeplab series code explanation | |
| Natural Language Processing LSTM | LSTM emotional analysis practice | |
| Natural Language Processing Transformer | ||
| Natural Language Processing BERT | ||
| video | To be determined | |
| Audio | To be determined | |
| Custom CUDA extensions and operators |
Made with contrib.rocks.
This work is licensed under the Creative Commons Attribution-Non-Commercial-Share 4.0 International License.