nndl/nndl: A Chinese-Language Deep Learning Textbook Distributed Through GitHub Releases
邱锡鹏《神经网络与深度学习》第二版与通识版:电子书、章节目录、学习资源与勘误。
At a glance
- What is it?
- The repository behind Qiu Xipeng's Neural Networks and Deep Learning ships two full books as PDFs, a chapter index, and an errata channel. It is a distribution and maintenance hub, not a code library, and it should be judged on that basis.
- Who is it for?
- Adopt this repository if you need a Chinese-language deep learning text with a stable download path and a public errata channel, and pick the general edition for intuition or the second edition for derivations. Do not adopt it if you need runnable code, English prose, or the LaTeX source, since none of those live here.
- 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 10 days ago.
- What is it written in?
- GitHub does not report a main language for this repository.
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
Two Books, One Repository, Two Different Readers
The repository hosts two distinct books by Qiu Xipeng, both titled Neural Networks and Deep Learning. The second edition is described as a systematic treatment of theory and methods, moving from machine learning fundamentals through neural networks, optimization, Transformers, graph neural networks, reinforcement learning, generative models and large language models. It runs 16 chapters plus 5 mathematical appendices. The general edition keeps the same 16-chapter count but trades formulas for stories, cases and everyday analogies, and extends into large language models, agents, multimodality, AI for science, embodied intelligence and AI safety. The README states plainly that the two can be read independently, or in sequence: build intuition first, then go deeper. That is the whole selection decision, and the repository does not pretend it is more complicated than that. The intended audiences are named directly. The second edition targets professional courses and research entry, and the README notes it requires linear algebra, calculus and probability, with the appendices available for review. The general edition targets non-specialist readers, cross-disciplinary beginners and university general-education courses. If you are choosing between them for a course syllabus, the deciding input is whether your students already have the mathematical background, not which book is newer.
What Actually Lives in the Repository
This is the part that surprises people who arrive expecting a codebase. The maintenance notes state that the second edition's LaTeX source is not in this public repository. What the repository does hold is the site metadata and description pages for each book, under nndl-v2/ and nndl-ge/ respectively, plus the assets and the chapter listings rendered in the README. Each book's table of contents has a _meta.yml file, and that file is the data source for the book cards on the main site. The aggregation is performed by a script at nndl.github.io/scripts/aggregate-books.py, which lives in a different repository. So the content pipeline is: metadata files here, aggregation script elsewhere, rendered site at nndl.ai. The first edition is archived rather than deleted. A legacy/nndl-v1/ directory holds the first edition PDF, errata and cover, and a separate nndl-v1 branch carries the complete first-edition material including per-chapter PDFs and teaching slides. If you need slides for a course, that branch is where they are, and the README says so. The practical consequence is that cloning this repository gets you metadata, covers, chapter lists and links. It does not get you a build system, a test suite, or anything you can run.
The Second Edition's Chapter Structure
The second edition is organized in three parts. The first covers machine learning foundations: an introduction, an overview of machine learning, and linear models. The second covers base models: feedforward networks, convolutional networks, recurrent networks, network optimization and regularization, attention mechanisms and Transformers, and graph neural networks. The third covers advanced topics: unsupervised learning, model-independent learning approaches, deep reinforcement learning, large language models and agents, probabilistic graphical models, deep belief networks, and deep generative models. Five appendices cover linear algebra, calculus, mathematical optimization, probability theory and information theory. Two details are worth noting for anyone planning a course around it. Attention and Transformers get their own chapter rather than being folded into recurrent networks, which reflects how the material is now taught. Large language models and agents also get a dedicated chapter, and the repository has a separate companion repository for that direction. The appendices being labeled as mathematical foundations rather than as review material suggests they are meant to be worked through, not skimmed, which matches the stated prerequisite of linear algebra, calculus and probability.
The General Edition's Four Reading Groups
The general edition's chapter list is presented in four groups, and the README is careful to note that these groups are browsing navigation aids, not formal divisions in the book. The first group, chapters 1 through 4, covers understanding learning: the third wave of intelligence, how machines learn on their own, from neurons to deep networks, and the art of training a network well. The second group, chapters 5 through 8, moves toward large models: attention as the engine behind them, self-supervised learning from data, reinforcement learning through trial and error, and the language chapter on large language models. The third group, chapters 9 through 12, covers systems and new forms of generation: the physical substrate of AI, agents, diffusion models, and multimodal AI. The fourth group, chapters 13 through 16, covers science, the body and the future: AI in scientific discovery, embodied intelligence and robotics, the risks and challenges of AI, and the path toward general intelligence. That last chapter title is the kind of framing a technical textbook would avoid, and it is a fair signal of what the general edition is doing. The chapter on the physical substrate of AI is unusual in an introductory text and suggests the book treats compute and hardware as first-class topics rather than background.
Getting the Files: Releases, Not a Build
There is no installation step. The README gives direct download links to the PDFs through GitHub release assets. The second edition PDF is at the release path book-pdf/nndl-v2.pdf, and the general edition PDF is at book-pdf/nndl-ge.pdf, both under the nndl/nndl releases download URL. The most recent release listed is tagged book-pdf and dated 2026-07-23. The repository also maintains a homepage at nndl.ai with per-book pages at nndl.ai/nndl-v2/ and nndl.ai/nndl-ge/, plus a reading-path page at nndl.ai/reading-path/ that covers selection advice across four books. The README carries an explicit version note: both books are pre-publication electronic drafts whose content updates with revisions, and the publication progress is tracked on each book's page. It then asks that citations and feedback state the version and download date. That instruction is the single most important operational detail in the repository. Because the PDFs are release assets that get replaced, a citation to chapter and page number without a download date is not reproducible. If you are assigning this text, record the release tag alongside the reading list. If you are citing it in a paper, do the same. There is no DOI or per-release versioned archive mentioned in the material, so the release tag and date are the only anchors available.
Errata Flow and What It Does Not Cover
Feedback goes through GitHub Issues. The README asks contributors to search for an existing report first, and to include the book title and version, the chapter plus either the PDF page number or the print page number, the PDF download or reading date, and the original text alongside the problem description and a suggested fix. That is a well-specified bug report template, and it is more rigorous than most textbook errata processes, which usually amount to an email address. The limitation is structural: issues are the only channel described, and the repository does not describe a changelog, a per-version errata list, or a way to see which reported errors have been fixed in which PDF revision. The README says content updates with revisions and points to each book's page for publication progress, but the mapping from a specific issue to a specific fixed release is not documented in the material provided. For a reader who downloaded a PDF six months ago, there is no described mechanism to diff their copy against the current one. For a course instructor, that means re-downloading before each term and checking the issues list manually is the only described way to stay current. This is the clearest gap in the project's maintenance story.
Companion Repositories and the Practice Gap
The repository points to three companion projects. nndl-practice is described as the PyTorch practice companion to the second edition. The README also notes that first-edition PaddlePaddle code lives in a separate repository. A third companion, nndl/llm-beginner, is a topic reader on large models and agents with six standalone introductory exercises. So the code does exist in the ecosystem, just not here. The distinction matters if you are evaluating this repository specifically: the theory text and the runnable code are separate artifacts with separate maintenance. The README's reading advice makes the intended coupling explicit, suggesting readers pair the theory with the PyTorch practice repository to verify models and algorithms. What the material does not state is whether nndl-practice tracks the same revision cadence as the book PDFs, or whether the code and the text are versioned together. Given that the book is a pre-publication draft that updates with revisions, that question is not academic. A reader who works through chapter 8 against an older practice repository may find the code and the text describing different things, and nothing in the supplied material describes how that is reconciled. Verify it yourself before building a course around the pairing.
How This Differs from a Conventional Open Textbook Project
The closest comparison is a source-available textbook built around a LaTeX repository, where readers can clone the source, submit pull requests against the .tex files, and build the PDF themselves. This repository is the opposite arrangement. The source is withheld, the PDF is a compiled release asset, and the only contribution channel is an issue tracker. The trade-off is deliberate and defensible: it keeps editorial control with the author, avoids the merge conflicts and formatting drift that come with open source contributions to a book manuscript, and gives readers a stable download link. The cost is that you cannot fork the text, cannot fix a typo yourself, and cannot build a version pinned to a specific commit. You are downstream of someone else's release schedule. For a textbook with a single author and a publisher, that is a normal arrangement. For an engineer used to treating documentation as code, it is a constraint worth naming before you plan anything around it. The repository is a publication channel with version metadata, and it should be evaluated as one.
Editorial conclusion
Adopt this repository if you need a Chinese-language deep learning text with a stable download path and a public errata channel, and pick the general edition for intuition or the second edition for derivations. Do not adopt it if you need runnable code, English prose, or the LaTeX source, since none of those live here. Before citing either book, download the PDF from the release tag, record the download date, and check the issues list for open errata against the chapter you are quoting.
Community notes