python - fastai.vision 导入错误:如何修复导入错误以便我可以使用 ImageDataBunch.from_folder?
问题描述
我正在研究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 的更新发生了。
解决方案
使用 FastAi 时无需先安装 PyTorch,它会为您完成。如果您需要最新的 FastAi,请执行以下操作:
pip3 install git+https://github.com/fastai/fastai.git
推荐阅读
- javascript - 我如何在页面加载时滚动到特定的 div
- python - 在 Windows 上安装 python selenium 包时遇到问题
- android - 当我尝试通过 recyclerView 中的 putExtra 发送对象时,我的应用程序不断崩溃
- angular - Angular 11 功能模块循环依赖
- hangfire - 为什么hangfire 作业会在多个服务器上运行?
- python - 对象没有属性“通道”
- javascript - onChange vs onInput?
- python - 如何交替使用 glob.glob("*PDF) 和 os.listdr("./directory")?
- c# - 用 ASP.NET MVC 5 中的值填充 PDF 字段
- r - 基于在没有 for() 循环的情况下递归调用列的先前元素,在 R 中生成一个新的变量/列?