首页 > 解决方案 > 在 fastai 库中使用 download_data() 和 untar_data()

问题描述

我使用 fastai 库中的 dowload_data() 函数从 kaggle 下载了 Fashion MNIST 数据集。

downloaded_data = download_data("https://www.kaggle.com/zalando-research/fashionmnist/download")

输出 -

PosixPath('/root/.fastai/data/download.tgz')

download_data 将其保存为 .tgz 文件,现在我使用 untar_data()。

path = untar_data('/root/.fastai/data/download.tgz')

输出 -

PosixPath('/root/.fastai/data/download.tgz')

哪个没有提取 .tgz 文件。如何在 fastai 库中使用此数据集?

标签: python-3.ximage-processingdeep-learningfast-ai

解决方案


在 fastai 库中,download_data 为您提供了一个pathlib.PosixPath文件,而不是确切的文件,您需要使用另一个解压缩库来提取数据。

如果你只需要来自 fast ai 的 MNIST 数据,这里有一个更简单的方法:

from fastai import datasets
import gzip, pickle
MNIST_URL='http://deeplearning.net/data/mnist/mnist.pkl'
path = datasets.download_data(MNIST_URL, ext='.gz')
with gzip.open(path, 'rb') as f:
    ((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding='latin-1')

推荐阅读