ModuleNotFoundError:没有名为“ fastai.vision”的模块

问题描述

我正在尝试使用来自fastai的ImageDataBunch,它运行良好,但是最近当我运行代码时,它显示错误ModuleNotFoundError: No module named 'fastai.vision' 然后,我升级了我的fastai版本pip install fastai --upgrade

错误已清除,但降落到NameError: name 'ImageDataBunch' is not defined

import warnings
import numpy as np
from fastai.vision import *
warnings.filterwarnings("ignore",category=UserWarning,module="torch.nn.functional")
np.random.seed(42)
data = ImageDataBunch.from_folder(path,train='.',valid_pct=0.2,ds_tfms=get_transforms(),size=224,num_workers=4,no_check=True).normalize(imagenet_stats)

该如何解决

解决方法

当我开始使用Colab时,我实际上遇到了同样的问题,但是无法重现。这是描述我和另一个开发人员要进行故障排除的线程:https://forums.fast.ai/t/no-module-named-fastai-data-in-google-colab/78164/4

我建议尝试将您的运行时重置为出厂设置(“运行时”->“恢复出厂设置”)

然后,您可以检查您拥有哪个fastai版本(如果已经导入了新版本,则必须重新启动运行时才能使用新版本)

import fastai
fastai.__version__

我可以在Fastai 1.0.61和2.0.13版上运行fastai.vision import *

,

对我有用的解决方案是复制到(连接)我的谷歌驱动器,然后运行单元格。 Source

Click on "Copy to Drive"

,

在 Google Colab 中:

在 colab 上升级 fastai:

! [ -e /content ] && pip install -Uqq fastai 

导入必要的库:

from fastai.vision.all import *
from fastai.text.all import *
from fastai.collab import *
from fastai.tabular.all import * 

获取图像和注释:

path = untar_data(URLs.PETS)
path_anno = path/'annotations'
path_img = path/'images'
print( path_img.ls() )             # print all images
fnames = get_image_files(path_img) # -->> 7390 images
print(fnames[:5])                  # print first 5 images