conda如何升级pytorch_Google Cloud TPUs 支持 Pytorch 框架啦!

b755289f01a2c547673610cd288efd72.png

在2019年PyTorch开发者大会上,Facebook,Google和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo,它可以让使PyTorch连接到云TPU并使用TPU内核,同时Colab也支持在云TPU上使用PyTorch/XLA。现在,PyTorch/XLA 已在Google Cloud上达到通用标准(GA),并为我们提供了许多方便易用的接口。赶紧来看看PyTorch/XLA都有哪些功能吧

GA版本有哪些新功能?

借助PyTorch/XLA GA,云TPU正式支持PyTorch 1.6。其他值得注意的新功能包括:

  • 支持层内模型并行性:现在可以在reduce的时候在多组tensor上使用多种运算。添加了更多的通信原语从而可以实现有趣的应用,例如把嵌入词向量词分布到多个TPU内核上;
  • 额外的XLA运算:随着PyTorch/XLA在越来越广泛的新模型中被使用,用户要求将PyTorch运算映射到XLA。对此,从beta(1.5)版本开始,我们已经为Replication_pad1d,replication_pad2d,max_unpool2d,max_unpool3d等运算加入了低配XLA;
  • 在Colab/Kaggle上更好的体验:现在,不再需要在Colab/Kaggle上运行env-setup.py脚本,就可以开始训练倆。
  • 对深度学习VM映像的支持:Google Cloud 平台提供了一组深度学习虚拟机(DLVM)映像,配置好了各种常用深度学习框架(包括PyTorch)和所需的一切。PyTorch/XLA 1.6现在已预安装在DLVM中,并针对云TPU进行了优化。官方的PyTorch 1.6也预装在相同的Conda环境中。

详细使用方法参照用户指南[1]

GA版本支持哪些模型?

PyTorch/XLA已被用于在云TPU上训练众多深度学习模型。包括:

  • 图像分类任务(ImageNet):Torchvision的ResNet-50;
  • 翻译任务(WMT-18 en-de):Fairseq Transformer;
  • 通用的语言模型的预训练和微调(GLUE等):HuggingFace(BERT,DistilBERT,RoBERTa,XLNet等)和Fairseq RoBERTa;
  • 深度学习推荐模型(1.6版的新增功能):DLRM。

在大多数情况下,在云TPU上训练这些模型几乎不需要更改代码。可以参考官方教程[2]获得上述模型的详细教程,也可以参考PyTorch / XLA GitHub[3]代码库找到训练的其他模型架构的示例。

PyTorch/XLA是如何工作的?

PyTorch/XLA使用“lazy tensor”进行抽象。使用lazy tensor时,运算的evaluation会被推迟到这个运算被访问之前。此时,运算被描述为中间表示图,当我们需要运算结果时(访问),就通过XLA编译这些中间表示图,并发送到TPU内核以执行。这种XLA编译对CPU和GPU都支持。其他技术详细信息,可以参考GitHub[4]

升级到云TPU要改哪些代码?

首先需要创建一个配有PyTorch / XLA映像的Google Compute Engine虚拟机和一个云TPU实例。创建好虚拟机和云TPU实例后,需要配置conda环境并设置XRT_TPU_CONFIG环境变量指向云TPU实例:

export XRT_TPU_CONFIG="tpu_worker;0;:8470"

现在就可以开始在云TPU上训练模型了!

实际代码中需要改动的地方包括:

  • 调取相关代码包import torch_xla
  • 设置访问XLA设备抽象的方法以及并行数据加载器。
  • 使用xm.optimizer_step(optimizer)在后台进行reduce。

可以参考英文博客原文[5]中的代码实例看看具体的区别。

在Cloud TPU Pod上训练

PyTorch/XLA支持将刚刚在单个云TPU上执行的训练扩展到整个云TPU Pod或者任意Pod切片,只需要使用xla_dist包装就可以了:

 python -m torch_xla.distributed.xla_dist \
      --tpu=$TPU_NAME \
      --conda-env=torch-xla-1.6 \
      --env ANY_ENV_VAR=VALUE \
      -- \
      python /path/to/your/code.py --train_arg1 \
        --train_arg2 ...

官方提供的Colab notebook[6]写得非常详细,现在就开始探索吧!

更多详情请参考英文博客原文[7]以及Google官方博文[8]

参考文献

[1]用户指南: https://docs.google.com/document/d/1RzNgpTK4wESImhIwgMbknqn9xVNUFtCTCknNfONlMlo/edit

[2]官方教程: https://cloud.google.com/tpu/docs/tutorials/

[3]PyTorch / XLA GitHub: https://github.com/pytorch/xla

[4]GitHub: https://github.com/pytorch/xla/blob/master/API_GUIDE.md#xla-tensor-deep-dive

[5]英文博客原文: https://medium.com/pytorch/pytorch-xla-is-now-generally-available-on-google-cloud-tpus-f9267f437832

[6]Colab notebook: https://github.com/pytorch/xla/tree/master/contrib/colab

[7]英文博客原文: https://medium.com/pytorch/pytorch-xla-is-now-generally-available-on-google-cloud-tpus-f9267f437832

[8]Google官方博文: https://cloud.google.com/blog/products/ai-machine-learning/pytorch-is-now-ga-on-google-cloud-tpu


推荐阅读

(点击标题可跳转阅读)

干货 | 公众号历史文章精选

我的深度学习入门路线

我的机器学习入门路线图

重磅

AI有道年度技术文章电子版PDF来啦!

04596fb299b18ed82349c01fddc5ef8f.png

扫描下方二维码,添加 AI有道小助手微信,可申请入群,并获得2020完整技术文章合集PDF(一定要备注:入群 + 地点 + 学校/公司。例如:入群+上海+复旦。 

4f4d130ca88a03f3acd51960361be1a4.png

长按扫码,申请入群

(添加人数较多,请耐心等待)

感谢你的分享,点赞,在看三连↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隐私计算 2.6 秘密共享的同态特性

1 秘密共享的同态性 秘密共享的同态性:秘密份额的组合等价于组合的秘密共享份额。 假设A、B两方分别有秘密SAS^ASA和SBS^BSB;他们的值被随机拆分为S1A,…,SnAS_1^A, \dots, S_n^AS1A​,…,SnA​和S1B,…,SnBS_1^B, \dots, S_n^BS1B​,…,SnB​&#xff…

chromiumwebbrowser 使用_用Tchromium替换webbrowser

用惯了EmbeddedWB,不想换,但是IE内核一直存在内存泄漏问题,没办法,只有寻找替代品了。要把用习惯的EmbeddedWB换成完全不一样的TChromium,有点挑战,特别是在资料不多,英语没过三级的情况下。未来趋势是这样…

python是在linux系统下运行的吗_Linux系统下python代码运行shell命令的方法

方法一:os.popen #!/usr/bin/python#-*- coding: UTF-8 -*- importos, sys#使用 mkdir 命令 a lsb os.popen(a,w,1)print b 方法二:os.system #!/usr/bin/python#-*- coding: UTF-8 -*- importos, sys arg0"121.429015"arg1"31.245255&q…

隐私计算 2.7 Shamir门限秘密共享的加法同态性

1 Shamir门限秘密共享的加法同态性 Shamir门限秘密共享方案具有(,)(, )(,)同态的性质,即: SASBFI(S1A,…,StA)FI(S1B,…,StB)FI(S1AS1B,…,StAStB)\begin{array}{l} S^A S^B && F_I(S_1^A, \dots, S_t^A) F_I(S_1^B, \dots, S_t^B)\\ &&a…

pageable设置size_分页工具一Pageable与Page

import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Page;1.Pageable概述Page findByAge(int age, Pageable pageable);Pageable 是Spring Data库中定义的一个接口,用于构造翻页查询,是所有分页相关信息的一个抽象…

二阶龙格库塔公式推导_带你走进最美数学公式

同学们,我们先来跟老师欣赏一下数学中最优美的式子吧?是什么魔力让以上几个似乎毫不相干的数学中最特殊的数字能如此优美的写在同一个式子呢?是欧拉,是数学。0和1——老师就不用介绍啦,e是自然常数(natural constant)&…

python如何做辅助线_角平分线如何做辅助线,学霸总结了4种模型,轻松应付中考...

角平分线2大辅助线思路4种基本模型对称形思路包括3种基本模型,思想都是为了构造全等三角形,然后转换图像中的角度和线段关系。平行线思路则是为了构造一个等腰三角形,通常是为了转移线段关系。双角平分线夹角公式记住这个结论,在选…

隐私计算 2.8 Shamir门限秘密共享的乘法同态性

1 Shamir门限秘密共享的乘法同态性 Shamir门限秘密共享方案具有(,)(\times, \times)(,)同态的性质,即: SASBFI(S1A,…,StA)FI(S1B,…,StB)FI(S1A⊗S1B,…,StA⊗StB)\begin{array}{l} S^A \times S^B && F_I(S_1^A, \dots, S_t^A) \times F_I(S_…

备份数据库的expdp语句_【ORACLE语句备份】数据库表同步 ——定时任务管理器(EXPDP导出,IMPDP导入)...

1、C:\Users\Administrator>sqlplus sys/xxxxxx as sysdba;2、SQL> create directory dbbak4 as e:\app\temp4;3、SQL> grant read,write on directory dbbak4 to xxx;--xxx:源数据库用户名4、SQL> exit;5、备注:还需手动创建目录,否则报错C…

python的setting怎么找_django项目的配置文件settings.py详解

1.2.1 ABSOLUTE_URL_OVERRIDES:默认值:{} 一个字典映射“app_label_module_name”字符串到一个函数,该函数接收一个Model对象作为参数并返回它的url,这是一个安装上覆盖get_absolute_url()方法的方式 1.2.2 ADMIN_FOR:默认值&…

隐私计算 2.9 秘密共享应用于横向联邦学习

1 简介 1.1 横向联邦学习 横向联邦学习也称为按样本划分的联邦学习,主要应用于各个参与方的数据集有相同的特征空间和不同的样本空间的场景,例如两个地区的城市商业银行可能在各自的地区拥有非常不同的客户群体,所以他们的客户交集非常小&a…

array js 二分法_JS常见的算法

虽说我们很多时候前端很少有机会接触到算法。大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面。实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累…

python缩进说法_【多选题】关于Python程序中与“缩进”有关的说法中,以下选项中错误的是()。...

问题:【多选题】关于Python程序中与“缩进”有关的说法中,以下选项中错误的是()。更多相关问题 因方某将赵某打伤,方某住所地的市劳动教养委员会对方某作出劳动教养2年的决定,并将方某送交劳动 根据行政诉讼…

智能测井解释

1 智能测井解释的需求分析 1、岩性识别 2、储层划分 3、参数计算 4、流体判别 5、井数据批量处理 岩性识别:分类任务 曲线预测、曲线补齐:回归任务 2 岩性识别 2.1 岩性识别主要方法简介 目前岩性识别的方法主要有重磁、测井、地震、遥感、电 磁、地…

wpf 点击按钮弹出选择框_关于WPF的弹出窗口

几个重要的概念需要清楚:Show和ShowDialog区别1、调用Show方法后弹出子窗口后,线程会继续往下执行。调用ShowDialog方法弹出子窗口后,线程会阻塞,直到子窗口关闭才继续往下执行。2、ShowDialog弹出的子窗口会使父窗口不能获得焦点…

基于移动设备的OCR识别工作进展(1)

1 模型调研 模型1:Tesseract-OCR 模型2:PaddleOCR Android上面有体验版的demo:https://ai.baidu.com/easyedge/app/openSource?frompaddlelitePP-OCR模型:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/README_…

2020.2idea创建web_IntelliJ IDEA 2017.3 完整的配置Tomcat运行web项目教程(多图)

小白一枚,借鉴了好多人的博客,然后自己总结了一些图,尽量的详细。在配置的过程中,有许多疑问。如果读者看到后能给我解答的,请留言。Idea请各位自己安装好,还需要安装Maven和Tomcat,各自配置好环…

swift 将图片保存到本地_Swift实现截屏并保存相册

func saveToLocal() {//截屏let screenRect UIScreen.mainScreen().boundsUIGraphicsBeginImageContext(screenRect.size)let ctx:CGContextRef UIGraphicsGetCurrentContext()!self.view.layer.renderInContext(ctx)let image UIGraphicsGetImageFromCurrentImageContext()…

OCR基本原理

学习内容为《动手学OCR.pdf》 1 OCR基础 1.1 OCR是什么 OCR(Optical Character Recognition,光学字符识别); 传统意义上的OCR:面向扫描文档类对象; 一般意义上的OCR:场景文字识别&#xff08…

实用供暖通风空调设计手册 第三版_实用供热空调设计手册第三版即将出版随想...

看到西北院组织豪华的暖通空调大师阵容编写的《实用供热空调设计手册》第三版即将出版的信息,暖通空调人都期盼着2020年底见到具有更多新理念、新技术、新方法、新设备、新材料内容的新版《实用供热空调设计手册》。看到《实用供热空调设计手册》第二版,…