加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

PyTorch终于能用上谷歌云TPU,推理机能晋升4倍,该怎样薅羊毛?

发布时间:2019-10-19 04:49:05 所属栏目:建站 来源:晓查
导读:本文经AI新媒体量子位(公家号ID:QbitAI)授权转载,转载请接洽出处。 Facebook在PyTorch开拓者大会上正式推出了PyTorch 1.3,并公布了对谷歌云TPU的全面支持,并且还可以在Colab中挪用云TPU。 之前呆板进修开拓者固然也能在Colab中行使PyTorch,可是支持
副问题[/!--empirenews.page--]

本文经AI新媒体量子位(公家号ID:QbitAI)授权转载,转载请接洽出处。

Facebook在PyTorch开拓者大会上正式推出了PyTorch 1.3,并公布了对谷歌云TPU的全面支持,并且还可以在Colab中挪用云TPU。

之前呆板进修开拓者固然也能在Colab中行使PyTorch,可是支持云TPU照旧第一次,这也意味着你不必要购置昂贵的GPU,可以在云端实习本身的模子。

并且假如你是谷歌云平台(Google Cloud Platform)的新注册用户,还能得到300美元的免费额度。

PyTorch终于能用上谷歌云TPU,推理机能晋升4倍,该怎样薅羊毛?

此刻PyTorch官方已经在Github上给出示例代码,教你怎样免费行使谷歌云TPU实习模子,然后在Colab中举办推理。

实习ResNet-50

PyTorch先先容了在云TPU装备上实习ResNet-50模子的案例。假如你要用云TPU实习其他的图像分类模子,操纵方法也是相同的。

在实习之前,我们先要转到节制台建设一个新的假造机实例,指定假造机的名称和地区。

PyTorch终于能用上谷歌云TPU,推理机能晋升4倍,该怎样薅羊毛?

假如要对Resnet50在真实数据长举办实习,必要选择具有最多CPU数目的呆板范例。为了得到最佳结果,请选择n1-highmem-96呆板范例。

然后选择Debian GNU/Linux 9 Stretch + PyTorch/XLA启动盘。假如规划用ImageNet真实数据实习,必要至少300GB的磁盘巨细。假如行使假数据实习,默认磁盘巨细只要20GB。

建设TPU

  1. 转到节制台中建设TPU。
  2. 在“Name”中指定TPU Pod的名称。
  3. 在“Zone”中指定云TPU的地区,确保它与之前建设的假造机在统一地区中。
  4. 在“ TPU Type”下,选择TPU范例,为了得到最佳结果,请选择v3-8TPU(8个v3)。
  5. 在“ TPU software version”下,选择最新的不变版本。
  6. 行使默认收集。
  7. 配置IP地点范畴,譬喻10.240.0.0。

官方发早先次运行时行使假数据举办实习,由于fake_data会自动安装在假造机中,而且只需更少的时刻和资源。你可以行使conda或Docker举办实习。

在fake_data上测试乐成后,可以开始实行用在ImageNet的这样现实数据长举办实习。

用conda实习:

  1. # Fill in your the name of your VM and the zone. 
  2. $ gcloud beta compute ssh "your-VM-name" --zone "your-zone". 
  3. (vm)$ export TPU_IP_ADDRESS=your-ip-address 
  4. (vm)$ export XRT_TPU_CONFIG="tpu_worker;0;$TPU_IP_ADDRESS:8470" 
  5. (vm)$ ulimit -n 10240 
  6. (vm)$ conda activate torch-xla-0.5 
  7. (torch-xla-0.5)$ python /usr/share/torch-xla-0.5/pytorch/xla/test/test_train_imagenet.py --datadir=~/imagenet --model=resnet50 --num_epochs=90 --num_workers=64 --batch_size=128 --log_steps=200 

用Docker实习:

  1. # Fill in your the name of your VM and the zone. 
  2. $ gcloud beta compute ssh "your-VM-name" --zone "your-zone". 
  3. (vm)$ export TPU_IP_ADDRESS=your-ip-address 
  4. (vm)$ docker run --shm-size 128G -v ~/imagenet:/tmp/imagenet -e XRT_TPU_CONFIG="tpu_worker;0;$TPU_IP_ADDRESS:8470" gcr.io/tpu-pytorch/xla:r0.5 python3 pytorch/xla/test/test_train_imagenet.py --model=resnet50 --num_epochs=90 --num_workers=64 --log_steps=200 --datadir=/tmp/imagenet 

在n1-highmem-96的假造机上选用完备v3-8 TPU举办实习,第一个epoch凡是必要约20分钟,而随后的epoch凡是必要约11分钟。该模子在90个epoch后到达约76%的top-1精确率。

为了停止谷歌云后续举办计费,在实习完成后请记得删除假造机和TPU。

机能比GPU晋升4倍

实习完成后,我们就可以在Colab中导入本身的模子了。

打开notebook文件,在菜单栏的Runtime中选择Change runtime type,将硬件加快器的范例改成TPU。

PyTorch终于能用上谷歌云TPU,推理机能晋升4倍,该怎样薅羊毛?

先运行下面的代码单位格,确保可以会见Colab上的TPU:

  1. import os 
  2. assert os.environ[‘COLAB_TPU_ADDR’], ‘Make sure to select TPU from Edit > Notebook settings > Hardware accelerator’ 

然后在Colab中安装兼容PyTorch/TPU组件:

  1. DIST_BUCKET="gs://tpu-pytorch/wheels" 
  2. TORCH_WHEEL="torch-1.15-cp36-cp36m-linux_x86_64.whl" 
  3. TORCH_XLA_WHEEL="torch_xla-1.15-cp36-cp36m-linux_x86_64.whl" 
  4. TORCHVISION_WHEEL="torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl" 
  5. # Install Colab TPU compat PyTorch/TPU wheels and dependencies 
  6. !pip uninstall -y torch torchvision 
  7. !gsutil cp "$DIST_BUCKET/$TORCH_WHEEL" . 
  8. !gsutil cp "$DIST_BUCKET/$TORCH_XLA_WHEEL" . 
  9. !gsutil cp "$DIST_BUCKET/$TORCHVISION_WHEEL" . 
  10. !pip install "$TORCH_WHEEL" 
  11. !pip install "$TORCH_XLA_WHEEL" 
  12. !pip install "$TORCHVISION_WHEEL" 
  13. !sudo apt-get install libomp5 

接下来就可以导入你要实习好的模子和必要举办推理的图片了。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读