0

我在 cpu 上试用 pytorch。

我想用混合精度在 cpus 上训练一个模型。由于 pytorch 默认混合精度适用于 GPU,为了在 CPU 上使用混合精度,我尝试使用 ipex(https://github.com/intel/intel-extension-for-pytorch#automatically-mix-precision)最初我正在尝试使用 torch-ipex 1.0.1 和 pytorch 1.5.0 (py3.7_cpu_0)。

对于下面的片段

import intel_pytorch_extension as ipex
# Automatically mix precision
ipex.enable_auto_mixed_precision(mixed_dtype = torch.int8)

我收到了错误

AttributeError:模块“ipex”没有属性“enable_auto_mixed_precision”

然后我可以发现在 torch-ipex 1.0.1 中不存在 enable_auto_mixed_precision 属性,所以我使用以下命令将 torch-ipex 升级到 1.9.0

python -m pip install torch_ipex==1.9.0 -f https://software.intel.com/ipex-whl-stable

现在我在尝试导入 ipex( import intel_pytorch_extension as ipex)时遇到以下错误

导入错误:/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/torch_ipex/lib/libtorch_ipex.so:未定义符号:_ZNK3c104Type14isSubtypeOfExtERKSt10shared_ptrIS0_EPSo

ImportError                               Traceback (most recent call last)
<ipython-input-4-8b6ff8b43ca9> in <module>
      2 import torch.nn as nn
      3 
----> 4 import intel_pytorch_extension as ipex
      5 # Automatically mix precision
      6 ipex.enable_auto_mixed_precision(mixed_dtype = torch.int8)

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/intel_pytorch_extension/__init__.py in <module>
      5 from .version import __version__
      6 from .tensor import *
----> 7 from .optim import *
      8 from .ops import *
      9 

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/intel_pytorch_extension/optim/__init__.py in <module>
----> 1 from .split_sgd import is_available
      2 from .split_sgd import SplitSGD

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/intel_pytorch_extension/optim/split_sgd.py in <module>
      1 import torch
      2 from torch.optim.optimizer import Optimizer, required
----> 3 import torch_ipex
      4 
      5 _available = False

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/torch_ipex/__init__.py in <module>
      6 from .tensor import *
      7 from .optim import *
----> 8 from .ops import *
      9 
     10 base_dir = os.path.basename(os.path.dirname(os.path.abspath(__file__)))

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/torch_ipex/ops/__init__.py in <module>
----> 1 from .interaction import interaction
      2 from .embeddingbag import ipex_embedding_bag
      3 from .linear import *
      4 from .pooling import *
      5 from .mlp import *

/opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/torch_ipex/ops/interaction.py in <module>
      2 from torch import nn
      3 from torch.autograd import Function
----> 4 import torch_ipex._C as core
      5 
      6 def interaction(*args):
ImportError: /opt/intel/oneapi/pytorch/1.5.0/lib/python3.7/site-packages/torch_ipex/lib/libtorch_ipex.so: undefined symbol: _ZNK3c104Type14isSubtypeOfExtERKSt10shared_ptrIS0_EPSo
4

0 回答 0