相关文章推荐
低调的登山鞋  ·  通过配置skinLayout属性自定义播放按 ...·  8 月前    · 
帅气的水桶  ·  Qt ...·  10 月前    · 
乐观的便当  ·  C#如何让winform程序中的输入文本框保 ...·  1 年前    · 
有胆有识的小狗  ·  js获取文件里面的所有文件名 - 皇阿码 ...·  2 年前    · 
Code  ›  在TPU上运行PyTorch的技巧总结开发者社区
机器学习 kaggle tpu
https://cloud.tencent.com/developer/article/1737285
不开心的椰子
2 年前
作者头像
deephub
0 篇文章

在TPU上运行PyTorch的技巧总结

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > DeepHub IMBA > 在TPU上运行PyTorch的技巧总结

在TPU上运行PyTorch的技巧总结

作者头像
deephub
发布 于 2020-11-02 10:32:05
1.3K 0
发布 于 2020-11-02 10:32:05
举报

TPU芯片介绍

Google定制的打机器学习专用晶片称之为TPU(Tensor Processing Unit),Google在其自家称,由于TPU专为机器学习所运行,得以较传统CPU、 GPU 降低精度,在计算所需的电晶体数量上,自然可以减少,也因此,可从电晶体中挤出更多效能,每秒执行更复杂、强大的机器学习模组,并加速模组的运用,使得使用者更快得到答案,Google最早是计划用FPGA的,但是财大气粗,考虑到自己的特殊应用,就招了很多牛人来做专用芯片TPU。

TPUs已经针对TensorFlow进行了优化,并且主要用于TensorFlow。但是Kaggle和谷歌在它的一些比赛中分发了免费的TPU时间,并且一个人不会简单地改变他最喜欢的框架,所以这是一个关于我在GCP上用TPU训练PyTorch模型的经验的备忘录(大部分是成功的)。

PyTorch/XLA是允许这样做的项目。它仍在积极的开发中,问题得到了解决。希望在不久的将来,运行它的体验会更加顺畅,一些bug会得到修复,最佳实践也会得到更好的交流。

https://github.com/pytorch/xla

设置

这里有两种方法可以获得TPU的使用权

GCP计算引擎虚拟机与预构建的PyTorch/XLA映像并按照PyTorch/XLA github页面上的“使用预构建的计算VM映像”部分进行设置。

或者使用最简单的方法,使用google的colab笔记本可以获得免费的tpu使用。

针对一kaggle的比赛您可以在虚拟机上使用以下代码复制Kaggle API令牌并使用它下载竞争数据。还可以使用gsutil cp将文件复制回GS bucket。

 gcloud auth login
 gsutil cp gs://bucket-name/kaggle-keys/kaggle.json ~/.kaggle
 chmod 600 ~/.kaggle/kaggle.json
 kaggle competitions download -c recursion-cellular-image-classification

除了谷歌存储之外,我还使用github存储库将数据和代码从我的本地机器传输到GCP虚拟机,然后再返回。

注意,在TPU节点上也有运行的软件版本。它必须匹配您在VM上使用的conda环境。由于PyTorch/XLA目前正在积极开发中,我使用最新的TPU版本:

使用TPU训练

让我们看看代码。PyTorch/XLA有自己的多核运行方式,由于TPUs是多核的,您希望利用它。但在你这样做之前,你可能想要把你的模型中的device = ' cuda '替换为

 import torch_xla_py.xla_model as xm...
 device = xm.xla_device()...
 xm.optimizer_step(optimizer)
 
推荐文章
低调的登山鞋  ·  通过配置skinLayout属性自定义播放按钮/Loading动画和Controlbar UI组件的显示及布局_视频点播(VOD)-阿里云帮助中心
8 月前
帅气的水桶  ·  Qt Creator运行程序时,如何调出控制台_qtcreator console怎么使用-CSDN博客
10 月前
乐观的便当  ·  C#如何让winform程序中的输入文本框保留上次的输入_C#教程_脚本之家
1 年前
有胆有识的小狗  ·  js获取文件里面的所有文件名 - 皇阿码 - 博客园
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号