web-dev-qa-db-ja.com

PyTorchでTPUを使用する方法

pytorch_xlaを使用してtpuを使用しようとしていますが、_XLACにインポートエラーが表示されます。

!curl https://raw.githubusercontent.com/pytorch/xla/master/contrib/scripts/env-setup.py -o pytorch-xla-env-setup.py
!python pytorch-xla-env-setup.py --version $VERSION

import torch_xla
import torch_xla.core.xla_model as xm

ImportError                               Traceback (most recent call last)
<ipython-input-60-6a19e980152f> in <module>()
----> 1 import torch_xla
      2 import torch_xla.core.xla_model as xm

/usr/local/lib/python3.6/dist-packages/torch_xla/__init__.py in <module>()
     39 import torch
     40 from .version import __version__
---> 41 import _XLAC
     42 
     43 _XLAC._initialize_aten_bindings()

ImportError: /usr/local/lib/python3.6/dist-packages/_XLAC.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at6native6einsumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN3c108ArrayRefINS_6TensorEEE
3
sharma.37
  1. 正しいバージョンのpytorch-xlaとPython(3.6.9は問題なく動作します)を使用していることを確認してください。
curl https://raw.githubusercontent.com/pytorch/xla/master/contrib/scripts/env-setup.py -o pytorch-xla-env-setup.py
python pytorch-xla-env-setup.py --version 20200325
  1. TPUへのアクセス方法を指定していることを確認してください。 「XRT_TPU_CONFIG」または「COLAB_TPU_ADDR」は、環境によって異なります。

何かのようなもの:

export XRT_TPU_CONFIG="tpu_worker;0;$TPU_IP_ADDRESS:8470"

または:

export COLAB_TPU_ADDR="10.16.26.36:8676"

詳細な説明は次のとおりです: https://github.com/pytorch/xla/blob/master/README.md と例 https://cloud.google.com/tpu/ docs/tutorials/transformer-pytorch

また、ここにPyTorchチームが作成したGoogle Colabノートブックがあります。テストしたところ、変更なしで問題なく動作します: https://colab.research.google.com/github/pytorch/xla/blob/master /contrib/colab/getting-started.ipynb

このノートブックでは、次の方法について説明します。

  • PyTorch/XLAをColabにインストールします。これにより、PyTorchをTPUで使用できます。
  • TPUで基本的なPyTorch関数を実行します。
  • TPUでPyTorchモジュールとautogradを実行します。
  • TPUでPyTorchネットワークを実行します。

その例の1つに従って、問題を再現してみてください。幸運を!

1
AI Mechanic