1

我正在研究google colab(python 3.6和GPU),我很好地导入了torch(1.2.0),并使用以下内容导入fastai:

    import fastai
    print(fastai.__version__)
    from fastai import *
    from fastai.vision import *

我收到以下错误:

ImportError: /usr/local/lib/python3.6/dist-packages/torchvision/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c106Device8validateEv

我尝试安装不同的 Torch 版本,如 1.0.0 并使用早期的 python 版本。我也尝试使用 手动安装 fastai 及其依赖项!pip,但没有任何效果。

这是我用来安装torch的完整代码:

    from os.path import exists
    from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag

    platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), 
    get_abi_tag())
    cuda_output = !ldconfig -p|grep cudart.so|sed -e 's/.*\.\([0-9]*\)\.\ 
    ([0-9]*\)$/cu\1\2/'
    accelerator = cuda_output[0] if exists('/dev/nvidia0') else 'cpu'

    !pip install torch_nightly -f 
 https://download.pytorch.org/whl/nightly/{accelerator}/torch_nightly.html
    !pip install fastai

   import torch

   print(torch.__version__)
   print(torch.cuda.is_available())
   print(torch.backends.cudnn.enabled)

这是我收到的完整错误消息:

    ImportError                                                           
    Traceback (most recent call last)
    <ipython-input-5-4b8b8d8134df> in <module>()
  2 print(fastai.__version__)
  3 from fastai import *
  ----> 4 from fastai.vision import *
    8 frames
  /usr/local/lib/python3.6/dist-packages/torchvision/ops/boxes.py in 
  <module>()
  1 import torch
  ---->  2 from torchvision import _C
  3 
  4 
  5 def nms(boxes, scores, iou_threshold):

  ImportError: /usr/local/lib/python3.6/dist- 
  packages/torchvision/_C.cpython-36m-x86_64-linux-gnu.so: undefined 
  symbol: _ZN3c106Device8validateEv

ImageDataBunch.from_folder由于这个 fastai 导入错误,我无法使用。当我这样做时,我得到了错误NameError: name 'ImageDataBunch' is not defined

注意:我之前确实使用过相同的代码,并且我能够使用 fastai 并且 ImageDataBunch.from_folder没有导入错误,但我猜测 fastai 或 torch 的更新发生了。

4

1 回答 1

2

使用 FastAi 时无需先安装 PyTorch,它会为您完成。如果您需要最新的 FastAi,请执行以下操作:

pip3 install git+https://github.com/fastai/fastai.git
于 2019-06-25T08:30:59.383 回答