在 fastai 库中使用 download_data() 和 untar_data()
Using download_data() and untar_data() in fastai library
我使用 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 库中使用此数据集?
在 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')
我使用 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 库中使用此数据集?
在 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')