Open-source project
sozykin/dlpython_course avatar
sozykin/dlpython_course

sozykin/dlpython_course: A Notebook Companion for a Russian-Language Deep Learning Course

Примеры для курса "Основы нейронных сетей"

322 stars236 forksJupyter NotebookLicense varies

At a glance

What is it?
This repository holds the example notebooks for Andrey Sozykin's course on programming deep neural networks in Python. It is a teaching aid tied to a specific video course, not a library, and it should be evaluated as course material rather than as a framework.
Who is it for?
Adopt this repository if you want a folder-by-folder set of runnable notebooks that track a structured video course and you are comfortable reading Russian-language course pages. Do not adopt it if you need a maintained library, an English-language curriculum, or a reference implementation with tests and version pins.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 118 days ago.
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 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the repository is, and what problem it addresses

The README describes the project as example programs for a course titled Programming Deep Neural Networks in Python. The course page at asozykin.ru hosts video lectures and practical assignments, and this repository supplies the code that accompanies them. The problem it addresses is a common one in deep learning teaching: a lecture explains convolutions or transfer learning, and the student has nothing concrete to type. Here the notebooks are grouped by topic, so a lecture on recurrent networks maps to the 06_rnn folder and a lecture on one-dimensional convolutions maps to 07_cnn1d. The intended audience is a learner following that specific course, not a developer looking for a reusable component. There is no package to install, no importable module, and no API surface. The primary language is Jupyter Notebook, and the repository is not archived, with a last push recorded on 2026-05-21.

The ten folders and what each one covers

The README lists ten numbered or named directories. 01_introduction covers the basics of neural networks on Keras and TensorFlow, with a classification example on Fashion-MNIST and a regression example on California Housing. 02_cnn moves to convolutional networks for image classification. 03_pretrained_networks uses pretrained networks for the same task, and 04_transfer_learning applies transfer learning. 05_text_processing introduces text analysis with neural networks, 06_rnn uses recurrent networks for text classification, and 07_cnn1d does the same task with one-dimensional convolutions. 08_timeseries applies both recurrent and one-dimensional convolutional networks to time series. Two folders sit outside the numbered sequence: keras_callbacks collects examples of Keras callbacks, and archive holds deprecated examples. That archive folder is worth noting. It signals that the author has revised the material over time and moved older notebooks aside rather than deleting them, so a reader who finds a stale import in an archived notebook should treat it as intentionally retired rather than as a bug to report.

Software requirements and how you get a notebook running

The README states two requirements: Python 3, and the TensorFlow and PyTorch libraries. That is the whole of the stated setup. There is no requirements.txt, no environment.yml and no Dockerfile mentioned in the supplied material, so the exact versions the notebooks were written against are not pinned anywhere the README describes. The practical path is to clone the repository, create a Python 3 environment, install TensorFlow and PyTorch into it, and start Jupyter from the repository root so that relative paths inside the notebooks resolve. Because the course page is the delivery mechanism for the assignments, the README points there rather than reproducing instructions. The absence of a lockfile is the first thing to plan around: a notebook written for one TensorFlow release may need small edits on a later one, and you will be making those edits yourself.

Keras and PyTorch in the same course

Both frameworks appear in the requirements, which tells you the course does not commit to a single API. The first folder is described as Keras and TensorFlow, and the recommended reading list includes Dive into Deep Learning, a textbook whose code is offered in PyTorch, MXNet, JAX and TensorFlow. A learner working through this repository will therefore meet more than one way of expressing the same model. For teaching, that is a defensible choice: seeing a sequential model in Keras and the equivalent module definition in PyTorch makes the abstraction level of each framework visible. For anyone trying to lift a notebook into a production pipeline, it means checking folder by folder which framework a given example uses before assuming anything. The README does not state which folders use which framework beyond the Keras and TensorFlow label on 01_introduction.

Where this material stops being the right tool

This is course support material, and several ordinary expectations do not apply. There is no test suite described, so nothing verifies that a notebook still runs after a dependency update. There are no releases, and the supplied metadata retrieved none, so there is no versioned artifact to depend on. The licence is unknown, which matters more than usual here: if you intend to reuse notebook code in your own teaching or in a product, you cannot confirm from the repository metadata what terms apply, and the acknowledgements section mentions grant funding from the Russian Znanie society for the first version of the course, which says something about the origin of the material but nothing about reuse rights. The README and course page are in Russian, so a reader without that language will be working from the folder names and the code alone. Finally, the topic list stops at time series and callbacks. If you need object detection, segmentation, or transformer architectures, the folder structure does not cover them.

How it differs from the two books it recommends

The README recommends two free resources: Deep Learning with Python by François Chollet and Matthew Watson, with a companion repository of notebooks, and Dive into Deep Learning by Zhang, Lipton, Li and Smola, also free with source on GitHub. The difference is scope and independence. Deep Learning with Python is written by the creator of Keras and its notebooks follow that book's own progression; Dive into Deep Learning is a full interactive textbook with code in four frameworks. Both stand alone as self-study material. This repository does not. Its notebooks are the practical half of a course whose lectures and assignments live on an external page, so the code is sequenced against a syllabus you cannot see from the repository alone. If you want a self-contained curriculum, either book is the better starting point. If you are already enrolled in the course, the notebooks are the correct companion and the books are supplementary.

Maintenance cost and licence status

The repository is not archived and the last push is dated 2026-05-21, so it is still being touched. There are no releases to track, which means upgrades arrive as commits to the master branch rather than as tagged versions. In practice your maintenance cost is the cost of keeping TensorFlow and PyTorch working with notebooks that have no pinned versions: expect to re-run a notebook after a major framework release and fix whatever the API change broke. The archive folder reduces that burden slightly, since deprecated examples have been separated out. On licensing, the metadata supplied here records the licence as unknown. That is a factual gap, not a judgement, and it is the single item to resolve before you reuse any notebook content outside personal study. Checking the repository for a LICENSE file, or asking the author through the course site, is the only way to close it.

Editorial conclusion

Adopt this repository if you want a folder-by-folder set of runnable notebooks that track a structured video course and you are comfortable reading Russian-language course pages. Do not adopt it if you need a maintained library, an English-language curriculum, or a reference implementation with tests and version pins. Before committing time, open a single notebook such as the Fashion-MNIST classification example in 01_introduction, confirm which TensorFlow or PyTorch version it was written against, and check whether your environment can run it without edits.

Official sources

  1. Issues
  2. Project website
  3. README
  4. sozykin/dlpython_course on GitHub
Community notes

Community notes