Google Colab TPU环境导入PyTorch XLA报错问题咨询
异常原因及解决方案
异常1:导入torch_xla触发undefined symbol报错
产生原因
该报错属于PyTorch与torch_xla版本严格不匹配问题:
- Google Colab的基础运行环境会定期自动更新预装依赖包,你昨日运行时环境预装的PyTorch版本与torch_xla 1.9对齐,今日环境预装的PyTorch版本已升级,与你手动安装的torch_xla 1.9的ABI接口不兼容,因此动态链接时找不到对应符号。
- torch_xla的预编译wheel与对应PyTorch版本强绑定,单独安装torch_xla wheel不会自动适配调整PyTorch版本,因此会出现符号缺失。
解决方案
安装时强制对齐PyTorch与torch_xla版本即可,重置运行时后依次执行以下命令:
# 先卸载系统预装的不匹配PyTorch相关包 !pip uninstall -y torch torchvision torchaudio # 安装与torch_xla 1.9匹配的PyTorch版本 !pip install torch==1.9.0 torchvision==0.10.0 # 再安装对应版本的torch_xla与cloud-tpu-client !pip install cloud-tpu-client==0.10 https://storage.googleapis.com/tpu-pytorch/wheels/torch_xla-1.9-cp37-cp37m-linux_x86_64.whl
异常2:导入torch触发NumPy API版本不匹配警告
产生原因
你执行的master分支env-setup.py脚本会自动安装开发预览版PyTorch,该版本编译时依赖的NumPy API版本为0xe(对应NumPy 1.21及以上),而Colab当前预装的NumPy版本为0xd(对应NumPy 1.19/1.20版本),版本低于编译依赖要求,因此触发警告。
解决方案
升级NumPy到匹配的版本即可,执行以下命令后重启运行时:
!pip install numpy==1.21.6
如果不需要使用开发版PyTorch,建议直接使用异常1给出的稳定版安装方案,避免额外依赖冲突。
内容的提问来源于stack exchange,提问作者Siladittya
相关产品推荐
相关产品推荐

