我在Deepnote中运行这行代码有问题,有人知道为什么吗?
data = ImageDataBunch.from_folder(path, train="train", valid ="test",ds_tfms=get_transforms(), size=(256,256), bs=32, num_workers=4).normalize()
错误提示:
NameError: name 'ImageDataBunch' is not defined
前面,我导入了Fastai库。所以我不明白!
在Deepnote中的FastAI设置并不是那么简单。最好使用自定义环境,在Dockerfile
中设置东西,然后在笔记本中工作。我不确定ImageDataBunch
或你想做的任何事情是否在FastAI v1和v2中以同样的方式工作,但这里是v1的细节。
这是一个通过conda设置FastAI环境的Dockerfile:
# This is Dockerfile
FROM deepnote/python:3.9
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
RUN bash ~/miniconda.sh -b -p $HOME/miniconda
ENV PATH $HOME/miniconda/bin:$PATH
ENV PYTONPATH $HOME/miniconda
RUN $HOME/miniconda/bin/conda install python=3.9 ipykernel -y
RUN $HOME/miniconda/bin/conda install -c fastai -c pytorch fastai -y
RUN $HOME/miniconda/bin/python -m ipykernel install --user --name=conda
ENV DEFAULT_KERNEL_NAME "conda"
之后,您可以在笔记本中测试fastai
导入:
import fastai
from fastai.vision import *
print(fastai.__version__)
ImageDataBunch
如果您下载并解压缩这个示例MNIST数据集,您应该能够像您建议的那样加载数据:
data = ImageDataBunch.from_folder(path, train="train", valid ="test",ds_tfms=get_transforms(), size=(256,256), bs=32, num_workers=4).normalize()
请随意查看或克隆我的Deepnote项目以继续研究。