google-cloud-platform - 如何在谷歌 colab tpu 上使用 torchaudio 和 torch xla
问题描述
我正在尝试运行在谷歌 TPU 上使用 torchaudio 的 pytorch 脚本。为此,我在此 notebook之后使用pytorch xla,更具体地说,我使用此代码单元来加载 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
但是,这与我需要的 torchaudio 版本不兼容:ERROR: torchaudio 0.4.0 has requirement torch==1.4.0, but you'll have torch 1.5.0a0+e95282a which is incompatible.
我在任何地方都找不到如何torch 1.4.0
使用 pytorch xla 加载。
我尝试使用每晚版本的手电筒音频,但错误如下:
!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
---------------------------------------------------------------------------
那么我将如何使用 xla 加载 pytorch 的稳定版本或 1.4.0 版本,或者对于这种情况还有其他解决方法吗?
非常感谢你的帮助!
解决方案
我使用下面的笔记本进行了测试; 云 TPU 上的 PyTorch 入门
更改包含的单元格后;
从:
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
至:
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
所有单元格都成功运行,并且下面的导入语句没有抛出错误;
# imports pytorch
import torch
# imports the torch_xla package
import torch_xla
import torch_xla.core.xla_model as xm
推荐阅读
- reactjs - Antd设计表,如何通过是否选中行来expandRowRender
- sql-server - 如何从两个临时表中获取数据并插入第三个表而不在 SQL Server 中添加新行
- python - Django - 无法更新表单
- r - 如何在ggplot图上添加指数回归方程和R2
- apache-spark - 如何解决 Spark Context 的路径问题?AnalysisException:路径不存在:文件:/opt/workspace/
- php - Laravel 5.8.38 Error 419 Token Mismatch only on production server in Firefox Only
- django - 熊猫,转换日期时间列格式的更改列类型
- crystal-reports - 交叉表报表查询
- c# - 在 C# Web Api 核心的控制器中动态实现服务
- angular - Angular / RXJS - 如何在 switchMap 之后执行逻辑