- 章节
- 每章开头对全章做介绍
- 结构标题一致
- 小结
- 练习
- 扫码直达讨论区
- 参考文献(如有)
- 引用
- 在每节结尾处引用
- 字符串
- 使用中文双引号
- 符号描述
- 时刻 t(不是t时刻)
- 形状使用英文标点
- (10, 20) 不是 (10,20)
- 人称
- 第一人称 → 我们
- 第二人称 → 读者、你、大家
- 工具或部件
- Gluon, MXNet, NumPy, spaCy, ResNet-18, Fashion-MNIST, matplotlib
- 这些都作为词,不要带重音符
backward
函数- 不是“
backward()
函数” (不要带括号)
- 不是“
for
循环
- Gluon, MXNet, NumPy, spaCy, ResNet-18, Fashion-MNIST, matplotlib
- 术语
- 统一使用
- 函数(非方法)
- 实例(非对象)
- 区分:超参数和参数
- 区分:小批量随机梯度下降和随机梯度下降
- 权重、偏差、标签
- 模型训练、模型预测(推断)
- 训练数据集、验证数据集、测试数据集
- 中文优先于英文
- 首次出现,注明原英文术语
- 无需加粗
- 无需加引号
- 首次出现,注明原英文术语
- 中英文对照统一标准
- 统一使用
- 数学符号样式一致
- 书本页宽限制
- 每行长度
- 引用
- 上式和下式
- 以上 N 式,以下N式
- 公式末放英文标点
- 逗号:,
- 句号:.
- 赋值符号
- \leftarrow
- 软件
- 使用 OmniGraffle 制图,以 100% 的大小导出 pdf(infinite canvas),再使用 pdf2svg 转成 svg
- 样式
- 格式:
- svg
- png
- export resolution: 144
- 大小:
- 横向:不超过400像素
- 纵向:不超过200像素
- 粗细:
- StickArrow
- 1pt
- arrow head size: 50%
- 字体:
- 英文:STIXGeneral, 9pt(下标和上标:6pt)
- 中文:PingFang SC, 9pt
- 下标和上标中的数字和括号不要斜体
- 颜色:
- 非填充深蓝色(与黑相近):
- 5B7DAA
- 填充蓝色(与黑对比)
- 深:66BFFF
- 淡:B2D9FF
- 非填充深蓝色(与黑相近):
- 格式:
- 版权
- 不使用网络图片
- 位置
- 两张图不可以较邻近
- 两张图拼一下
- 两张图不可以较邻近
- 引用
- 手动引用(例如,图7.1)
- matplotlib
- 大小
- 分辨率
- 使用
utils.py
封装多次使用函数- 首次出现函数,书里给出函数实现
- Python 规范一致
- PEP8
- 将相邻赋值语句尽可能合并为同一行
- 如 num_epochs, lr = 5, 0.1
- 变量名一致
- num_epochs
- 迭代周期
- num_hiddens
- 隐藏单元个数
- num_inputs
- 输入个数
- num_outputs
- 输出个数
- net
- 模型
- lr
- 学习率
- acc
- 准确率
- 迭代中
- 特征:X
- 标签:y, y_hat 或 Y, Y_hat
- for X, y in data_iter
- 数据集:
- 特征:features或images
- 标签:labels
- DataLoader实例:train_iter, test_iter, data_iter
- num_epochs
- 注释
- 中文
- 句末不加句号
- 书本页宽限制
- 每行不超过78字符
- In [X]: 79字符不会自动换行(X = 1, ..., 9)
- In [XX]: 78字符不会自动换行(XX = 10, 11, ..., 99)
- 打印结果自动换行
- 每行不超过78字符
- imports
- import alphabetically
- from mxnet.gluon import data as gdata, loss as gloss, nn, utils as gutils
- 打印名称
- epoch(从1开始计数), lr, loss, train acc, time
- 5 行左右
- 打印变量
- 代码块最后一行尽量不用 print() 语句,例如
x, y
而不是print('x:', x, 'y:', y)
- 代码块最后一行尽量不用 print() 语句,例如
- 字符串
- 使用单引号
- 其他
- nd.f(x) → x.nd
- random_normal → random.normal
- multiple imports
- .1 → 1.0
-
- → 1.0
- remove namescope
- 遇到不确定的地方,可以翻阅中文版第一版的处理方法(即我们需要遵照的出版标准),以及查阅人工翻译 http://www.jukuu.com/
- 建立中英文术语对照表,全书术语翻译要完全一致。
- 语法要正确(如不能缺主语、谓语)、句子要通顺(硬翻不妥就意译)、不要漏内容。
- 代码注释要翻译。注意:i) 每行不要超过78字符,注释末尾不用加句号。 ii) # 后要空一个半角字符(英文空格)。iii) 如果注释与代码同行,# 前要空两个半角字符(英文空格)。iv)保留注释中的``符号(为了表示代码部分,如变量名、函数名等)。v)注释中中文和英文之间不要空格。vi)贪婪换行:只有当一行注释抵到78字符时再换行。
- 不要新加空行(这样会另起一个自然段)。
- 术语要保留英文翻译。现在很多地方漏了英文翻译。格式:术语(terminology)
- 正文和代码注释均使用中文标点。例如,中文括号要用全角括号(),不是英文半角()。例外:所有表示形状的括号和逗号(逗号后紧跟半角英文空格)用英文半角,例如“(批量大小, 词数)”而不是“(批量大小,词数)”
- 英文在标题里或句首全部不要首字母大写(即便在标题的第一个词)。除非本身是首字母大写的术语
- 不要客气。“您”->“你”,去掉“请”