问题
I'm trying to run a pytorch script which is using torchaudio on a google TPU. To do this I'm using pytorch xla following this notebook, more specifically I'm using this code cell to load the xla:
!pip install torchaudio
import os
assert os.environ['COLAB_TPU_ADDR'], 'Make sure to select TPU from Edit > Notebook settings > Hardware accelerator'
VERSION = "20200220" #@param ["20200220","nightly", "xrt==1.15.0"]
!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
import torchaudio
import torch_xla
however this is incompatible with the version of torchaudio that I need as: ERROR: torchaudio 0.4.0 has requirement torch==1.4.0, but you'll have torch 1.5.0a0+e95282a which is incompatible.
I couldn't find anywhere how to load torch 1.4.0
using pytorch xla.
I tried to use the nightly version of torch audio but that gives the error as follows:
!pip install torchaudio_nightly -f https://download.pytorch.org/whl/nightly/torch_nightly.html
import os
assert os.environ['COLAB_TPU_ADDR'], 'Make sure to select TPU from Edit > Notebook settings > Hardware accelerator'
VERSION = "20200220" #@param ["20200220","nightly", "xrt==1.15.0"]
!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
import torchaudio
import torch_xla
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-968e9d93c06f> in <module>()
9
10 import torch
---> 11 import torchaudio
12
13 import torch_xla
/usr/local/lib/python3.6/dist-packages/torchaudio/__init__.py in <module>()
3
4 import torch
----> 5 import _torch_sox
6
7 from .version import __version__, git_version
ImportError: /usr/local/lib/python3.6/dist-packages/_torch_sox.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe26detail37_typeMetaDataInstance_preallocated_29E
---------------------------------------------------------------------------
So how would I go to load the stable version or 1.4.0 version of pytorch using xla or is there any other workaround for this situation?
Thanks a lot for your help!
回答1:
I tested using the notebook below; Getting Started with PyTorch on Cloud TPUs
After changing the cell containing;
FROM:
VERSION = "20200325" #@param ["1.5" , "20200325", "nightly"]
!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
TO:
VERSION = "20200325" #@param ["1.5" , "20200325", "nightly"]
!curl https://raw.githubusercontent.com/pytorch/xla/master/contrib/scripts/env-setup.py -o pytorch-xla-env-setup.py
!pip install torchvision
!pip install torch==1.4.0
!pip install torchaudio==0.4.0
%matplotlib inline
!python pytorch-xla-env-setup.py --version $VERSION
All cells ran successfully, and the import statements below threw no errors;
# imports pytorch
import torch
# imports the torch_xla package
import torch_xla
import torch_xla.core.xla_model as xm
来源:https://stackoverflow.com/questions/60718831/how-to-use-torchaudio-with-torch-xla-on-google-colab-tpu