跳转至

README

pytorch-tutorials-notebooks-zhs

Binder

PyTorch tutorials 的中文翻译笔记。 点击下面的链接可直接访问该项目生成的 Web 文档站点:

https://tanbro.github.io/pytorch-tutorials-notebooks-zhs/

概述

官方教程以 带有 Sphinx-Doc 扩展 reST 格式注释的 Python 源代码 的形式制作了Web文档并导出 Jupyter 笔记。

而这个项目除了翻译,修改还有:

  • 使用 Jupyter 笔记文件保存说明和代码片段
  • Jupyter 笔记导出 Markdown 文件,并在其基础上构建Web文档站点

这是个人的翻译笔记,用于个人学习 PyTorch。

目前只翻译和转换了部分*.py文件(官方使用Sphinx-Gallery将它们转成Sphinx-Doc文档并导出 Jupyter 笔记) ,没有处理任何 *.rst(单纯的 Sphinx-Doc 文档)

环境

这个工程在 Ubuntu 1604, 1804下,使用 Python3.6 运行和构建,没有测试过其它环境。

强烈建议为这个项目使用单独的 venvConda 环境

包依赖

pip, PipenvConda 等包管理器均可为这个项目安装所需的包:

1
2
# pip
pip install -r requirements.txt
1
2
# Pipenv
pipenv install
1
2
3
4
5
# Conda
conda install -y jupyter nbconvert tqdm pandas matplotlib scikit-image pillow=4.1.1 pygments
conda install -y -c conda-forge jupyterlab
conda install -y pytorch torchvision cudatoolkit=9.0 -c pytorch
pip install mkdocs pymdown-extensions mkdocs-material mkdocs-pdf-export-plugin

运行 Jupyter Lab/Notebook

入门指南的翻译以 Jupyter 笔记的形式保存在 notebooks 子目录中。

要启动 Jupyter lab/notebook web 服务程序,可分别执行:

1
2
# JupyterLab
jupyter-lab
1
2
# Jupyter Notebook
jupyter-notebook

在 Web 界面中进入 notebooks 子目录,可以找到所有笔记。

构建 Web 文档站点

这个项目使用MkDocs将多个由笔记导出的Markdown文件合并生成一个Web文档站点。

  1. 把笔记导出为Markdown文件:
1
python tools/nbtomd.py
  1. 构建 Web 文档
1
mkdocs build
  1. 启动 Web 文档服务器:
1
mkdocs serve

然后在浏览器中访问 http://localhost:8000/

其它

Jupyter 无法以 LaTeX/PDF 格式导出含有中文的笔记

采用来自 https://github.com/jupyter/notebook/issues/2848#issuecomment-372736199 的方法:

  1. 安装 texlive 和 pandoc
1
sudo apt install texlive-xetex pandoc
  1. 修改 nbconvert ArticleLaTeX 模板文件

找到文件 site-packages/nbconvert/templates/latex/article.tplx, 在 \documentclass[11pt]{article} 之后加上中文字体定义,修改后的内容形如:

1
2
3
4
5
6
7
((* block docclass *))
\documentclass[11pt]{article}
    % 中文问题: https://github.com/jupyter/notebook/issues/2848#issuecomment-372736199
    \usepackage{xeCJK}
    \setCJKmainfont{Noto Sans CJK SC}
    \setCJKmonofont{Noto Sans Mono CJK SC}
((* endblock docclass *))

具体采用哪个的字体应以实际情况为准。