我正在使用Google colab(python 3.6和GPU),很好地导入了割炬(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版本。我也尝试过使用!pip
手动安装fastai及其依赖项,但是没有任何效果。
这是我用来安装割炬的完整代码:
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或火炬的更新。
答案 0 :(得分:0)
使用FastAi时,您不需要先安装PyTorch,它将为您完成。 如果您需要最新的FastAi,请执行以下操作:
pip3 install git+https://github.com/fastai/fastai.git