Ошибка импорта fastai.vision: как исправить ошибку импорта, чтобы я мог использовать ImageDataBunch.from_folder? - PullRequest
0 голосов
/ 18 июня 2019

Я работаю над 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

Я пытался установить разные версии горелки, например 1.0.0, и работать с более ранними версиями Python.Я также пытался установить fastai и его зависимости вручную, используя !pip, но ничего не получалось.

Это полный код, который я использовал для установки факела:

    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 без ошибок импорта, но я предполагаю, что обновлениечтобы фастай или факел случился.

1 Ответ

0 голосов
/ 25 июня 2019

Вам не нужно сначала устанавливать PyTorch при использовании FastAi, он сделает это за вас. Если вам нужен последний FastAi, сделайте это:

pip3 install git+https://github.com/fastai/fastai.git
...