Files
Yeqi Huang d953030747 feat: add v1/v2 versioning with language selector (#494)
* feat: add v1/v2 versioning and language selector for mdbook

- Copy current content to v1/ directory (1st Edition)
- Create v2/ directory with new TOC structure (2nd Edition) and placeholder chapters
- Add version selector (V1/V2) and language toggle (EN/ZH) in top-right nav bar
- Add build scripts: build_mdbook_v1.sh, build_mdbook_v2.sh
- Update assemble_docs_publish_tree.py to support v1/v2 deployment layout
- Fix mdbook preprocessor to use 'sections' key (v0.4.43 compatibility)
- Update .gitignore for new build artifact directories
- Deployment layout: / = v2 EN, /cn/ = v2 ZH, /v1/ = v1 EN, /v1/cn/ = v1 ZH

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* build: update CI to build and verify all four books (v1/v2 x EN/ZH)

- Clarify step names: "Build v2 (EN + ZH)" and "Build v1 (EN + ZH)"
- Add verification step to check all four index.html outputs exist
- Deploy workflow assembles: / = v2 EN, /cn/ = v2 ZH, /v1/ = v1 EN, /v1/cn/ = v1 ZH

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: gracefully skip missing TOC entries instead of crashing

resolve_toc_target() now returns None for missing files instead of
raising FileNotFoundError. This fixes v1 EN build where chapter index
files reference TOC entry names that don't match actual filenames.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 13:37:42 +00:00

2.0 KiB
Raw Permalink Blame History

编程接口

现代机器学习框架包含大量的组件辅助用户高效开发机器学习算法、处理数据、部署模型、性能调优和调用硬件加速器。在设计这些组件的应用编程接口Application Programming InterfaceAPI一个核心的诉求是如何平衡框架性能和易用性为了达到最优的性能开发者需要利用硬件亲和的编程语言如C和C++来进行开发。这是因为C和C++可以帮助机器学习框架高效地调用硬件底层API从而最大限度发挥硬件性能。同时现代操作系统如Linux和Windows提供丰富的基于C和C++的API接口如文件系统、网络编程、多线程管理等通过直接调用操作系统API可以降低框架运行的开销。

从易用性的角度分析机器学习框架的使用者往往具有丰富的行业背景如数据科学家、生物学家、化学家、物理学家等。他们常用的编程语言是高层次脚本语言Python、Matlab、R和Julia。相比于C和C++这些语言在提供编程易用性的同时丧失了C和C++对底层硬件和操作系统进行深度优化的能力。因此机器学习框架的核心设计目标是具有易用的编程接口来支持用户使用高层次语言如Python实现机器学习算法同时也要具备以C和C++为核心的低层次编程接口来帮助框架开发者用C和C++实现大量高性能组件,从而在硬件上高效执行。在本章中,将讲述如何达到这个设计目标。

本章的学习目标包括:

  • 理解机器学习系统的工作流和以Python为核心的编程接口设计。

  • 理解机器学习系统以神经网络模块为核心的接口设计原理和实现。

  • 理解机器学习系统的底层C/C++执行算子的实现和与上层Python接口的调用实现。

  • 了解机器学习系统编程接口的演进方向。

:maxdepth: 2

development_history
ml_workflow
neural_network_layer
c_python_interaction
ml_programming_paradigm
summary