可以使用tensorflow在多台计算机上分发word2vec算法吗?

丹尼斯·库津(Denis Kuzin)

我想在一个很大的语料库上训练word2vec模型,以便不能将嵌入的单词分配给RAM。

我知道算法并行化已有解决方案,例如Spark实现,但是我想使用tensorflow库。

可能吗?

格言

是的,可以立即使用tensorflow。诀窍是使用变量分区(例如tf.fixed_size_partitioner)和参数服务器复制通过tf.train.replica_device_setter来将变量拆分到多台计算机上。这是代码中的样子:

with tf.device(tf.train.replica_device_setter(ps_tasks=3)):
  embedding = tf.get_variable("embedding", [1000000000, 20],
                              partitioner=tf.fixed_size_partitioner(3))

最好的部分是,这些更改是非常本地化的,对于其余的培训代码而言,它们没有任何区别。但是,在运行时,它们有很大的不同,即将embedding分成3个分片,每个分片固定到不同的ps任务,您可以在单独的机器上运行它们。另请参阅此相关问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ProtectedData可以在多台计算机上工作吗?

如何并行化可以在多台计算机上分发任务的“ make”命令

我可以使用microSD卡作为安装媒体在计算机上安装ubuntu吗

有什么方法可以在多台计算机上分发x264编码作业(以提高编码速度)?

是否可以在多台有线计算机上使用调制解调器?

我可以在计算机上使用DDR2或DDR3内存吗?

我可以使用 gensim word2vec 或 doc2vec 两次构建 vocaburay 吗?

可以使用SATA连接计算机吗?

在多台计算机上同步声音

我可以使用Python读取从计算机上收到的Modbus RS485数据吗?

我可以使用在另一台计算机上创建的 Windows 10 恢复 USB 吗?

您可以使用Process Monitor将程序移动到另一台计算机上吗?

我们可以使用 Azure Key Vault 来加密本地计算机上的 XML 文件吗?

如何在多台计算机上使用并行以使任务列表仅执行一次?

java - 我可以使用Java中的套接字连接2台计算机吗?

可以编辑“ / dev / random”设备以使RNG在我的计算机上可预测吗?

是否可以使用远程计算机上的openstack在我的计算机中配置juju?

当只有一台计算机安装了GPU时,可以在多台计算机上使用CUDA进行开发

在Windows 10计算机上打开文件时,可以在Mac上编辑Word文档吗?

我可以使用非线性的堆叠式自动编码器训练Word2vec吗?

我可以假设在外国计算机上下载和使用firefox Portable可以使我保持私密性吗?

是否可以在Windows 10上安装驱动程序以在多台计算机上运行

我可以设置本地计算机的终端颜色以使用ssh插入的计算机的终端颜色吗?

我可以从计算机上运行的VM远程访问计算机吗?

禁用计算机后,可以在计算机上重新启用安全启动吗?

我可以使用由媒体创建工具制作的Windows 10安装媒体来安装在另一台计算机上吗

两台不同计算机上的两个本地用户可以使用SSH密钥进行身份验证而无需输入密码吗?

我可以在一台计算机上使用两个版本的SQLDeveloper吗?

我可以在计算机上使用多个角度版本吗?