Model or dataset
harleyszhang/dl_note avatar
harleyszhang/dl_note

harleyszhang/dl_note: a Chinese-language deep learning systems notebook you read, not install

深度学习系统笔记,包含深度学习数学基础知识、神经网络基础部件详解、深度学习炼丹策略、模型压缩算法详解。

526 stars72 forksPythonApache-2.0

At a glance

What is it?
dl_note is a personal note collection covering deep learning math, neural network components, training practice, model compression and inference deployment. It ships no library, so the decision is whether its notes match the gaps in your own knowledge.
Who is it for?
Adopt dl_note if you read Chinese and want structured notes on CNN components, compression algorithms and inference deployment, particularly the ncnn source walkthroughs and the convolution-BN fusion write-up. Do not adopt it if you need an installable library, an English-language resource, or a maintained inference framework, since the repository is a notebook and the framework it advertises is a paid course.
Can I use it commercially?
Yes. Apache-2.0 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 last received commits 31 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

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

Editorial analysis

What dl_note actually is, and who it is written for

The repository describes itself as personal notes on computer vision and large language models, and the top-level layout confirms that reading: seven numbered directories plus a stray process_image.py, a blog recommendation file and a ChatGPT registration guide. There is no package, no module, no entry point. If you clone it expecting an importable library, you have misread the description.

The intended reader is a Chinese-speaking engineer or student working toward a CV algorithm role. The topics list points the same way: activation functions, CNN, loss functions, PyTorch, plus cpp and inference-framework. The notes assume you already write PyTorch and want the layer underneath explained, which is a different audience from someone learning Python.

The README also points to a separate repository, HarleysZhang/llm_note, for LLM fundamentals and inference optimization. That split matters. dl_note is the vision and systems side; anything about transformer training or LLM serving lives elsewhere.

The seven-part structure and what each directory holds

The numbering is the navigation. 1-math_ml_basic covers probability and information theory, machine learning fundamentals, the math behind stochastic gradient descent, and a Python learning mind map. 2-deep_learning_basic holds the component explanations: convolution layers, batch normalization, activation functions, backpropagation and gradient descent, parameter initialization, loss functions and optimizers.

3-classic_backbone splits into two groups. The first covers ResNet, DenseNet, ResNetv2 and a summary of classic backbones. The second, under efficient_cnn, covers MobileNetv1, ShuffleNetv2, RepVGG, CSPNet and VoVNet, plus a summary of lightweight model design that the README files under 5-model_compression rather than 3-classic_backbone.

4-deep_learning_alchemy is the training-practice directory: data normalization, data augmentation, imbalanced samples, hyperparameter setting and regularization. 5-model_compression covers pruning, knowledge distillation, quantization and an overview of compression methods. 6-model_deploy covers CNN complexity analysis, deployment overview, matrix multiplication and convolution optimization, and fusing convolution with BN layers.

The inconsistency worth noting: the README lists the two ncnn source-analysis files under 5-model_deploy in one place, while the top-level tree shows only a 6-model_deploy directory. Check the actual path before citing either.

How the notes are organized as a learning path

The data flow here is a reading order, not a runtime pipeline. Part one gives the math. Part two decomposes a network into its parts, one file per part. Part three assembles those parts into named architectures. Part four covers how you train them, part five how you shrink them, part six how you run them.

That ordering has a real payoff for someone preparing for interviews. The compression and deployment sections are the ones most candidates skip, and the repository puts pruning, distillation and quantization side by side in a single directory, which makes comparison easy. The convolution-BN fusion note in 6-model_deploy is the kind of material that usually only appears inside a framework's source tree.

The weakness of a personal notebook as a structure is versioning. There are no releases, so there is no way to tell which chapters reflect current PyTorch behavior and which were written against an older API. The last push was on 2026-08-31, so the repository is not stale, but a push date tells you the repository changed, not which files changed.

Getting the notes locally

There is nothing to install. The repository contains Markdown files and images, so the workflow is clone and read. The README gives no build step, no dependency file and no setup instructions, which is consistent with a notes repository.

Clone it and list the top-level directories to confirm the structure before opening anything:

bash
git clone https://github.com/harleyszhang/dl_note.git
cd dl_note
ls -d */

You should see the numbered directories 1-math_ml_basic through 6-model_deploy, plus images. If a numbered directory is missing from your checkout, you are on a different branch or a shallow clone dropped it.

For a first real use, pick one topic you already use but cannot explain, and open the matching file. The convolution layer note is the natural starting point because it sits under 2-deep_learning_basic and the README links it directly:

bash
ls 2-deep_learning_basic/

The listing shows the component notes as individual Markdown files. Open one in any Markdown reader; the images referenced from images/ resolve relative to the repository root, so keep the whole tree rather than copying a single file out.

Where dl_note stops being useful

The repository is a notebook, and that limits it in ways no amount of content fixes. There is no test suite, no example project and no runnable code tied to the explanations. If your goal is to train a model or deploy one, this repository gives you the concepts and leaves the implementation to you.

The README's most prominent section is not about the notes at all. It advertises a paid course, priced at 499, for a self-built LLM inference framework using Triton and PyTorch. The performance claim in that section, a speedup of up to 4 times compared with the transformers library on llama3 1B and 3B, belongs to the course project, not to this repository. Nothing in dl_note is benchmarked here, and the repository contains no code that would produce such a number.

Language is the other boundary. Every note is in Chinese. An English-speaking reader can follow the code excerpts and formulas but will lose the prose, which is where the explanation lives. Machine translation of technical Markdown is workable but degrades the parts that matter most, the reasoning between formulas.

dl_note compared with microsoft/AI-System

The README itself recommends microsoft/AI-System as a reference, and the two overlap enough that the comparison is worth making. AI-System is a textbook project, structured as a course with chapters on deep learning systems from the bottom up: hardware, compilers, matrix multiplication, acceleration methods. It is published as a book-length resource with a consistent editorial voice.

dl_note is the opposite approach. It is a collection of independent notes accumulated by one person, organized by topic rather than by curriculum, and it goes deeper on specific CNN architectures and compression algorithms than a systems textbook typically does. The ResNet, DenseNet, MobileNetv1, ShuffleNetv2, RepVGG, CSPNet and VoVNet notes have no equivalent in a systems-oriented textbook.

So the split is by axis. If you want to understand why a framework is built the way it is, AI-System is the better fit. If you want to understand why RepVGG can be reparameterized into a plain convolution at inference time, dl_note has the note and AI-System does not. The README also lists pytorch-deep-learning by mrdbourke for hands-on PyTorch work, which covers the runnable-example gap this repository leaves open.

Licence, maintenance and the cost of following along

The repository is Apache-2.0, which permits commercial use, modification and redistribution provided you keep the licence and notice files and state significant changes. For a notes repository the practical question is attribution: if you lift a chapter into internal documentation, Apache-2.0 requires you to carry the notice. That is not legal advice, and the licence text is the authority, not this paragraph.

Maintenance is the honest weak point. The last push was on 2026-08-31, so the repository is not abandoned, but there are no releases, no changelog and no versioning of the notes. Upgrading means pulling the default branch and diffing Markdown files, which is fine for prose and awkward when a note embeds code that depends on a PyTorch API.

If you build on the repository rather than read it, budget for that. Pin a commit hash in whatever internal reference system you use, and re-read the affected note when you bump PyTorch, because nothing in the repository will tell you a snippet went out of date.

Editorial conclusion

Adopt dl_note if you read Chinese and want structured notes on CNN components, compression algorithms and inference deployment, particularly the ncnn source walkthroughs and the convolution-BN fusion write-up. Do not adopt it if you need an installable library, an English-language resource, or a maintained inference framework, since the repository is a notebook and the framework it advertises is a paid course. Before relying on any chapter, open the directory for that topic and confirm the file exists on the default branch, because the README's own links are inconsistent about whether ncnn notes live under 5-model_deploy or 6-model_deploy.

Frequently asked questions

Is harleyszhang/dl_note a library I can install?

No. The repository contains Markdown notes and images, plus a process_image.py script at the top level. There is no package, dependency file or build step, so you clone it and read it rather than install it.

What topics does harleyszhang/dl_note cover?

The README lists seven areas: math and programming basics, neural network components, classic CNN backbones, training practice, model compression, model inference deployment, and an advanced section with recommended courses and blogs. LLM-specific notes live in a separate repository, HarleysZhang/llm_note.

What language are the notes in?

The notes are written in Chinese, including the file names and the README. Code excerpts and formulas are language-neutral, but the explanations around them assume a Chinese-speaking reader.

Does harleyszhang/dl_note cover ncnn?

The README lists two ncnn source-analysis notes, one on running the sample and one on the Net class. The README files them under 5-model_deploy in one place while the top-level tree shows 6-model_deploy, so confirm the actual path in your checkout.

Is the LLM inference framework mentioned in the README part of harleyszhang/dl_note?

No. The Triton and PyTorch inference framework is a paid course advertised in the README, priced at 499, not code in this repository. The performance figures quoted there apply to the course project.

Official sources

  1. harleyszhang/dl_note on GitHub
  2. Issues
  3. License: Apache-2.0
  4. README
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/harleyszhang-dl-note.svg)](https://hysenlabs.com/projects/harleyszhang-dl-note)