Open-source project
yandexdataschool/Practical_DL avatar
yandexdataschool/Practical_DL

Practical DL: A University Deep Learning Course by YSDA, HSE, and Skoltech

DL course co-developed by YSDA, HSE and Skoltech

1,769 stars657 forksJupyter NotebookMIT

At a glance

What is it?
Practical DL is an MIT-licensed Jupyter notebook course on deep learning, co-developed by the Yandex School of Data Analysis, HSE University, and Skoltech. The fall 2026 iteration covers backpropagation, automatic differentiation, convolutional networks, and related topics, with assignments completable locally or in Google Colab.
Who is it for?
Practical DL is a good fit for engineers and graduate students who want structured university-level coverage of deep learning fundamentals, taught in PyTorch with working Jupyter notebooks. It is not a standalone tutorial: the grading rules and deadlines are managed through HSE's internal systems, and the Telegram chat for support is Russian-speaking.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Practical DL Covers and Who It Is For

Practical DL is a deep learning course developed jointly by the Yandex School of Data Analysis (YSDA), HSE University, and Skoltech. The repository supplements the live taught course and makes all materials publicly available under the MIT licence.

The stated audience is students enrolled in the course at these institutions, but the notebooks and lecture references are available to anyone. The course targets people who have basic programming experience and some linear algebra background, as the first week covers backpropagation from scratch in NumPy. The README links to PyTorch installation guidance for students who have not set up their environment before week two.

The fall 2026 iteration is on the fall26 branch. The README notes that the 2025 version is available on a separate branch for anyone who wants a complete previous iteration.

Repository Layout and the Weekly Structure

The repository organises content by week. As of the current branch, three week folders are visible: week01_backprop/, week02_autodiff/, and week03_convnets/. The README syllabus entry for weeks beyond three carries a note that the content is still to be updated, which is consistent with the course being taught live in fall 2026.

Each weekly folder contains a README with links to the lecture notebook, the seminar notebook, and the homework assignment. The course uses Google Colab links so students who do not want to set up a local environment can work entirely in the browser.

The top-level repository also contains a Dockerfile and a resources/ directory. The Dockerfile is historical: it installs PyTorch 0.3.0 and is based on an older binder-compatible base image from a prior course iteration. It does not reflect the current PyTorch version used in fall 2026 materials.

The README provides a Telegram chat link for Russian-speaking HSE track students, a wiki page for grading and deadlines, and an issue tracker for bug reports.

Running the Course Notebooks

Students can run the notebooks either locally with a standard Python and PyTorch installation, or in Google Colab by following the links in each week's README. The README encourages students to begin setting up PyTorch before week two, since the first week uses only NumPy.

The repository does not include a requirements file for the current course iteration. The Dockerfile in the top level pins PyTorch 0.3.0 from a 2018 wheel URL, which is not what the current course uses. For local setup, the README directs students to GitHub issue #6 for PyTorch installation instructions rather than providing them inline.

Google Colab requires a Google account and provides free GPU access within usage limits. The weekly notebooks are designed to run there without additional configuration.

The First Three Weeks: Backpropagation, PyTorch, and CNNs

Week one introduces deep learning fundamentals. The lecture covers the backpropagation algorithm, adaptive optimisation methods, and an overview of the field. The seminar notebook implements a neural network in NumPy from scratch, which gives students a concrete understanding of gradient flow before moving to a framework.

Week two covers the practical vocabulary of deep learning: dropout, batch normalisation, layer normalisation, and other training techniques. The framework used from this point forward is PyTorch. The seminar introduces the basic PyTorch API and the conceptual shift from manual gradient computation to automatic differentiation.

Week three addresses convolutional neural networks. The lecture covers image processing tasks, convolution and pooling operations, standard ConvNet architectures, and data augmentation. The seminar walks through training a first ConvNet on a classification task.

Contributors credited in the README include Victor Lempitsky for the main lecture videos (weeks one through eleven), Dmitry Ulyanov for generative model and autoencoder notebooks, and Arseniy Ashukha for image captioning materials.

Limitations and Where Practical DL Does Not Fit

Practical DL is a university course supplement, not a self-contained online course. The grading rules and submission deadlines are managed through HSE's internal systems. The README wiki link leads to the grading page, but accessing it as an independent learner is not documented.

The Telegram support chat is described as Russian-speaking (HSE track). Non-Russian speakers who need help with the materials would not find the chat accessible.

The course does not cover deployment, model serving, or production infrastructure. It focuses on understanding the mathematical foundations and training techniques through working implementations. Engineers looking for practical MLOps content would need to look elsewhere.

The syllabus entries from week four onward are listed in the README with a placeholder note indicating they have not been updated yet for fall 2026. Anyone who wants to run ahead of the live course schedule will find incomplete materials.

Comparison with Fast.ai Practical Deep Learning

Fast.ai's Practical Deep Learning for Coders is the most commonly cited open alternative in this category. It focuses on top-down teaching: start with a working model, then explain the mechanics. The fast.ai library is built on PyTorch and provides high-level abstractions for common training loops.

Practical DL takes the opposite approach: week one builds a network in raw NumPy so that the backpropagation mechanics are explicit before any framework is introduced. Students who want to understand what a framework does before using one will find Practical DL's approach more rigorous. Students who want to reach working results quickly and understand theory later will find fast.ai more direct.

Practical DL is also more closely tied to a formal university curriculum with graded assignments, while fast.ai is designed for fully independent study.

Maintenance Status and Licence

The last push to the repository was on 2026-09-18, and the project is not archived. The fall26 branch is the active branch for the current course iteration. The project has no GitHub releases.

The project is licensed under the MIT License, which permits use, modification, and redistribution with attribution.

Editorial conclusion

Practical DL is a good fit for engineers and graduate students who want structured university-level coverage of deep learning fundamentals, taught in PyTorch with working Jupyter notebooks. It is not a standalone tutorial: the grading rules and deadlines are managed through HSE's internal systems, and the Telegram chat for support is Russian-speaking. Independent learners outside the HSE track can work through the notebooks without submitting assignments, but the grading infrastructure is not accessible to them. Verify that the week folder for your intended topic exists on the fall26 branch before starting: the syllabus entry for week03 notes that later entries are still to be updated.

Frequently asked questions

What is Practical DL?

Practical DL is a university deep learning course co-developed by YSDA, HSE, and Skoltech. It provides Jupyter notebooks and lecture materials covering backpropagation, PyTorch, convolutional networks, and related topics, with assignments runnable locally or in Google Colab.

Can I take the Practical DL course without being a university student?

The notebooks and materials are publicly available under the MIT licence, so independent learners can work through them without enrolling. Grading, deadlines, and the Russian-speaking HSE Telegram support chat are tied to the university programme and are not accessible to outside learners.

Which framework does Practical DL use?

The course uses PyTorch from week two onward. Week one builds a neural network in NumPy to make the backpropagation mechanics explicit before any framework is introduced.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. yandexdataschool/Practical_DL on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/yandexdataschool-practical-dl.svg)](https://hysenlabs.com/projects/yandexdataschool-practical-dl)