前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github 推荐项目 | GloVe 的快速实现 —— Mittens

Github 推荐项目 | GloVe 的快速实现 —— Mittens

作者头像
AI研习社
发布2018-07-26 16:30:34
8930
发布2018-07-26 16:30:34
举报
文章被收录于专栏:AI研习社

该软件包包含 GloVe 和 Mittens 的快速 TensorFlow 和 NumPy 实现。

通过矢量化 GloVe 目标函数,我们提供了超过其他 Python 实现的大量速度增益(CPU 上为 10 倍,GPU 上为 60 倍)。 请参阅下面的速度部分。

需要注意的是,我们的实现仅适用于适度的词汇表(最多约 20k tokens 应该没问题),因为共生矩阵必须保存在内存中。

对目标进行矢量化也表明它适用于改进术语,鼓励表示保持接近预训练的嵌入。 这对于需要专门表示但缺乏足够数据从头开始训练的域非常有用。Mittens 从通用预训练表示开始,并将它们调整到专门的域。

Github 链接:

https://github.com/roamanalytics/mittens

安装

依赖

Mittens 只需要 numpy。不过,如果已经安装好了 TensorFlow,那么 Mittens 就会用 TensorFlow 替代 numpy。两者使用同样的优化器和成本函数,唯一的区别是,使用 TensorFlow 时会显示更小的 CPU 速率和更大的 GPU 速率。

用户安装

安装 Mittens 最简单的方式是用 pip:

代码语言:javascript
复制
pip install -U mittens

你也可以通过复制该库并将其添加到 Python 路径来安装它,在这之前请安装numpy。

请注意,这两种方法都不会自动安装 TensorFlow,请参阅其说明:

https://www.tensorflow.org/install/

速率

我们使用大约 90% 稀疏的随机生成的共现矩阵来比较各种词汇每个时期速度(以秒为单位)。正如我们在这里看到的,在 GPU上 运行时,其性能与官方用 C 语言实现的版本(https://github.com/stanfordnlp/GloVe)相比具有竞争力。

对于更密集的共生矩阵,Mittens 将具比官方 C 实现版本更具优势,因为它的速度不依赖于稀疏性。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 速率
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档