fastai.vision 导入错误:如何修复导入错误以便我可以使用 ImageDataBunch.from_folder?

Posted

技术标签:

【中文标题】fastai.vision 导入错误:如何修复导入错误以便我可以使用 ImageDataBunch.from_folder?【英文标题】:fastai.vision Import Error: How to fix the import error so I can use ImageDataBunch.from_folder? 【发布时间】:2019-11-01 03:01:21 【问题描述】:

我正在研究 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 版本。我还尝试使用!pip 手动安装 fastai 及其依赖项,但没有任何效果。

这是我用来安装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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于fastai.vision 导入错误:如何修复导入错误以便我可以使用 ImageDataBunch.from_folder?的主要内容,如果未能解决你的问题,请参考以下文章

从 aws-lambda 导入 pysftp 时如何修复导入错误“没有名为 '_cffi_backend' 的模块”

如何修复相对导入错误:“没有已知的父包”?

如何修复 PyDev“导入未定义变量”错误?

将eclipse导入android studio时如何修复错误?(作为build.gradle的编译时依赖项)

import pymongo 导致“ImportError: cannot import name BSON”。你如何修复导入错误?

如何修复 spyder for python 中的导入错误“nvcuda.dll”?