代码补全
Jtag特工
代码和人工智能老兵
展开
-
代码补全快餐教程(4) - 训练语言模型
代码补全快餐教程(4) - 训练语言模型 一个强大的语言模型可以是其他任务的良好基础。预训练的模型就为我们提供了一个强大的语言模型基础,在些基础上,我们进行微调,就可以实现满足特殊需求的模型。 我们先做实操,然后再讲解相关理论。 代码数据准备 严格来讲,进行代码数据准备需要做代码的排重,后面讲到相关论文时我们会讲到。 现在我们就用个最简单的办法,将代码先拼接在一起。 我们写个小脚本,将transf...原创 2020-01-06 20:24:59 · 1258 阅读 · 1 评论 -
代码补全快餐教程(3) - 分词
代码补全快餐教程(3) - 分词 上一讲我们介绍了预训练模型的输入和输出。 下面我们从最初始的从输入文本到token的转换说起。 分词器的基类是PreTrainedTokenizer。 分词器的创建 分词器可以通过预训练好的模型中加载,这是最简单的一种方式。就像我们在前两节中使用的一样: tokenizer = GPT2Tokenizer.from_pretrained('gpt2') 也可以通...原创 2019-12-10 17:47:14 · 1870 阅读 · 1 评论 -
代码补全快餐教程(2) - 预训练模型的加载和使用
代码补全快餐教程(2) - 预训练模型的加载和使用 上一节我们用30多行代码建立了一个强大的补全模型,让大家对于transformers库有了个感性的认识。 下面我们开始补课,更深入到了解下发生在幕后的故事。 加载预训练好的语言模型 gpt2之所以强大的原因是在于它是在超过40GB的文本上进行训练的大型语言模型。通过这个大型的预训练语言模型,我们可以做一些fine-tuning针对编程语言进行优化...原创 2019-12-09 22:36:59 · 2064 阅读 · 1 评论 -
代码补全快餐教程(1) - 30行代码见证奇迹
代码补全快餐教程(1) - 30行代码见证奇迹 下面是我用30多行代码,包含了很多空行和注释的代码写成的代码补全模型。我们先看看效果吧。 补全效果案例 先来看个比较普通的(Python, Keras) 已知: y_train = keras.utils.to_categorical(y_train, num_classes)\ny_test = keras.` 补全之后是这样的: ```pytho...原创 2019-10-27 18:02:07 · 856 阅读 · 0 评论