在fastai库中使用download_data()和untar_data()

Ash*_*ha5 5 image-processing python-3.x deep-learning fast-ai

我使用 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 库中使用这个数据集?

use*_*536 3

在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')
Run Code Online (Sandbox Code Playgroud)