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 |