超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
以上展示了如何以常规的方式训练 word2vec,随后展示了如何使用 SpeedTorch 在同样的数据上进行训练——在通常不支持稀疏训练的优化器上。因为嵌入变量包含的所有嵌入在每一部上都有更新,你可以在初始化期间将 sparse=False。 效果 这一部分记录了 Cupy/PyTorch 张量和 PyTorch 变量之间的数据迁移速度。其中,需要迁移 128 维的嵌入向量,共有 131,072 个 32 位浮点数。使用了如下的代码进行测试工作。所有测试都使用了特斯拉 K80 GPU。 测试代码链接:https://colab.research.google.com/drive/1b3QpfSETePo-J2TjyO6D2LgTCjVrT1lu 下表是结果摘要。在同样情况下,将数据从 PyTorch CUDA 张量传递到 CUDA PyTorch 嵌入变量上是要比 SpeedTorch 更快的,但对于所有其他的传输类型,SpeedTorch 更快。对于转移到 Cuda Pytorch 嵌入,或从 Cuda Pytorch 嵌入转移的两个步骤的总和上来说,SpeedTorch 比常规 GPU 和 CPU Pinned 张量的 Pytorch 速度同样快。 从表中可以看出,这是 SpeedTorch 确实比 PyTorch 自带的数据迁移方法要快很多。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |