开源教程 「NLP-Tutorial」

这个项目并不复杂,但却包含了基本的嵌入式表征模型、CNN、RNN、注意力模型、Transformer 等的 13 个重要模型的核心代码实现。整体而言,基本所有代码都是作者自己完成的,当然都会借鉴已有的实现。很多模型都同时有 TensorFlow 和 PyTorch 两种版本,但像 Transformer 和 BERT 等拥有谷歌官方实现的模型,作者只提供了 PyTorch 实现。据作者介绍,随后他计划将添加 Keras 版本的实现。

引入瞩目的是,这个项目中几乎所有模型的代码实现长度都在 100 行左右(除了注释和空行外),很多预处理、模型持久化和可视化等操作都被简化或删除了。因此精简后的代码非常适合学习,我们不需要从复杂的大型模型实践中抽丝剥茧地找出核心部分,只要懂一点深度学习框架的入门者就能很容易理清整个模型的实现过程。

另外值得注意的是,每一个模型都只有一个文件;如果你要训练,那么只需要「一键」运行即可。对于刚入行的小白简直再美好不过了。

当然这里还需要注意配置问题。据作者介绍,他的运行是在谷歌 Colab 上使用 GPU 跑的,这样就免除了不同机器的环境配置问题。因此如果你想测试一下他的代码能不能正常运行,只需要直接将代码复制粘贴到 Colab 即可。而对于想在本地运行代码的同学,环境配置也非常简单,基本上所有代码都只依赖 Tensorflow 1.12.0+ 和 Pytorch 0.4.1+两个库,Python 也是常见的 3.5。

GitHub地址项目 GitHub 地址