TVM 文档#

TVM 的文档托管在 https://tvm.apache.org/docs

本地构建#

原生应用#

  1. 首先在 repo 根目录下 建立 TVM

  2. 安装依赖

    # Pillow on Ubuntu may require libjpeg-dev from apt
    ./docker/bash.sh ci_gpu -c \
        'python3 -m pip install --quiet tlcpack-sphinx-addon==0.2.1 synr==0.5.0 && python3 -m pip freeze' > frozen-requirements.txt
    
    pip install -r frozen-requirements.txt
    
  3. 生成 docs

    # TVM_TUTORIAL_EXEC_PATTERN=none skips the tutorial execution to the build
    # work on most environments (e.g. MacOS).
    export TVM_TUTORIAL_EXEC_PATTERN=none
    
    cd docs
    make html
    
  4. 运行 HTTP 服务并可以在浏览器 http://localhost:8000 访问

    cd _build/html && python3 -m http.server
    

仅执行指定的教程#

文档构建过程将执行 sphinx 库中的所有教程。在某些情况下,如果某些机器没有必要的环境,这将导致失败。你可以设置 TVM_TUTORIAL_EXEC_PATTERN,只执行符合正则表达式的路径。

例如,要想只在 /vta/tutorials 下构建教程,运行

python tests/scripts/ci.py docs --tutorial-pattern=/vta/tutorials

要想只建立特定的文件,请执行

# The slash \ is used to get . in regular expression
python tests/scripts/ci.py docs --tutorial-pattern=file_name\.py

辅助脚本#

你可以运行以下脚本来重现 CI sphinx 的预检查阶段。这个脚本跳过了教程的执行,对快速检查内容很有用。

tests/scripts/task_python_docs.sh

下面的脚本运行完整的构建,包括教程的执行。你将需要一个 GPU CI 环境。

python tests/scripts/ci.py docs --full

定义教程的顺序#

你可以在 conf.py 中用 subsection_orderwithin_subsection_order 来定义教程的顺序。默认情况下,一个小节内的教程是按文件名排序的。