fastai 缩写指南
正如fastai 风格指南中所述,我们遵循霍夫曼编码(Huffman Coding)原则来命名符号,该原则基本意味着:
常用和通用的概念应该使用较短的名称。不应将短序列浪费在不常用的概念上。
fastai 还遵循生命周期命名原则:符号的生命周期越短,其名称应该越短。
这意味着:- 在列表推导式、lambda函数、局部辅助函数中,使用激进缩写(Aggressive Abbreviations)。- 在函数内部的局部临时变量有时使用激进缩写。- 大多数其他地方使用常用缩写(Common Abbreviations),特别是用于函数参数、函数名称和变量。- 模块名称、类名称或构造函数方法使用少量或不使用缩写(Light or No Abbreviations),因为它们基本上永久存在。然而,如果一个类或模块非常流行,我们可以考虑使用缩写来缩短其名称。
本文档列出了 fastai 项目中一贯使用的常见概念的缩写。对于特定领域概念的命名,应查阅其对应的模块文档。概念按语义顺序分组和列出。请注意,总会有例外情况,特别是当我们试图遵循某个库的命名约定。
| 概念 | 缩写 | 组合示例 | |
|---|---|---|---|
| 后缀 | |||
| 某物的多个(复数) | s | xs, ys, tfms, args, ss | |
| 内部属性或方法 | _ | data_, V_() | |
| 前缀 | |||
| 检查是否满足 | is_ | is_reg, is_multi, is_single, is_test, is_correct | |
| 开启/关闭某个特性 | use_ | use_bn | |
| 某物的数量(复数) | n_ | n_embs, n_factors, n_users, n_items | |
| 计数某物 | num_ | num_features(), num_gpus() | |
| 转换为某物 | to_ | to_gpu(), to_cpu(), to_np() | |
| 中缀 | |||
| 概念之间的转换 | 2 | name2idx(), label2idx(), seq2seq | |
| 激进缩写 | |||
| 函数 | f | ||
| torch 输入 | x | ||
| 键,值 | k,v | for k,v in d.items() | |
| 其他短范围对 | p,q | listify(p,q) (同 Python 标准库) | |
| 索引 | i | ||
| 通用对象参数 | o | [o for o in list], lambda o: o | |
| 变量 | v | V(), VV() | |
| 张量 | t | T() | |
| 数组 | a | A() | |
| 使用首字母 | weight -> w, model -> m | ||
| 通用 | |||
| 函数 | fn | opt_fn, init_fn, reg_fn | |
| 处理 | proc | proc_col | |
| 转换 | tfm | tfm_y, TfmType | |
| 评估 | eval | eval() | |
| 参数 | arg | ||
| 输入 | x | ||
| 输入 / 输出 | io | ||
| 对象 | obj | ||
| 字符串 | s | ||
| 类 | cl | cl, classes | |
| 来源 | src | ||
| 目标 | dst | ||
| 目录 | dir | ||
| 百分比 | p | ||
| 比率,某物的比例 | r | ||
| 计数 | cnt | ||
| 配置 | cfg | ||
| 随机 | rand | ||
| 工具函数 | util | ||
| 文件名 | fname | ||
| 阈值 | thresh | ||
| 数据 | |||
| 元素数量 | n | ||
| 长度 | len | ||
| 大小 | sz | ||
| 数组 | arr | label_arr | |
| 字典 | dict | ||
| 序列 | seq | ||
| 数据集 | ds | train_ds | |
| 数据加载器 | dl | train_dl | |
| 数据帧 | df | train_df | |
| 训练集 | 训练集 | train_ds, train_dl, train_x, train_y | |
| 验证集 | valid | valid_ds, valid_dl, valid_x, valid_y | |
| 测试集 | 测试集 | test_ds, test_dl | |
| 类别数量 | c | ||
| 批次 | b | ||
| 批次的 x 部分 | xb | ||
| 批次的 y 部分 | yb | ||
| 批次大小 | bs | ||
| 多目标 | multi | is_multi | |
| 回归 | reg | is_reg | |
| 迭代,迭代器 | iter | train_iter, valid_iter | |
| torch 输入 | x | ||
| 目标 | y | ||
| 依赖变量张量 | dep | ||
| 独立变量张量 | indep | ||
| 预测 | pred | ||
| 输出 | out | ||
| 列 | col | dep_col | |
| 连续变量 | cont | conts | |
| 类别变量 | cat | cat, cats | |
| 连续列 | cont_cols | ||
| 类别列 | cat_cols | ||
| 依赖列 | dep_col | ||
| 索引 | idx | ||
| 身份 | id | ||
| 第一个元素 | head | ||
| 最后一个元素 | tail | ||
| 唯一 | uniq | ||
| 残差 | res | ||
| 标签 | lbl | (不常见) | |
| 增强 | aug | ||
| 填充 | pad | ||
| 概率 | pr | ||
| 图像 | img | ||
| 矩形 | rect | ||
| 颜色 | colr | ||
| 锚框 | anc | ||
| 边界框 | bb | ||
| 建模 | |||
| 初始化 | init | ||
| 语言模型 | lm | ||
| 循环神经网络 | rnn | ||
| 卷积神经网络 | convnet | ||
| 模型数据 | md | ||
| 线性 | lin | ||
| 嵌入 | emb | ||
| 批归一化 | bn | ||
| 丢弃法 | drop | ||
| 全连接 | fc | ||
| 卷积 | conv | ||
| 隐藏 | hid | ||
| 优化器 (例如 Adam) | opt | ||
| 层组学习率优化器 | layer_opt | ||
| 准则 | crit | ||
| 权重衰减 | wd | ||
| 动量 | mom | ||
| 交叉验证 | cv | ||
| 学习率 | lr | ||
| 调度 | sched | ||
| 循环长度 | cl | ||
| 乘数 | mult | ||
| 激活 | actn | ||
| CV | 计算机视觉 | ||
| 图 | fig | ||
| 图像 | im | ||
| 使用 opencv 转换图像 | _cv | zoom_cv(), rotate_cv(), stretch_cv() | |
| NLP | 自然语言处理 (nlp) | ||
| 标记 | tok | ||
| 序列长度 | sl | ||
| 随时间反向传播 | bptt |