我;正在使用cifar-10数据集,并且我需要公开使用该数据集,因此我将其推到了gitlab。我想在我的代码中加载此数据集,经过一番挖掘后,我找到了一个示例,其中他们使用了tf.keras.utils.get_file(),看起来很完美,但是当我尝试加载我的数据集时,我收到了NotADirectoryError。但我在网上发现的令人困惑的示例就很好了,有人可以解释为什么它不适用于我的数据集吗?
这是我发现有效的示例,is_dir()返回true
import pathlib
data_root_orig = tf.keras.utils.get_file('flower_photos','https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',untar=True)
data_root = pathlib.Path(data_root_orig)
print(data_root.is_dir())
这是我要加载的数据集。最初抛出train_data不是目录,当我再次尝试时它似乎可以工作,但是is_dir为false,我无法访问数据集中的文件
import pathlib
import tensorflow as tf
data_root_orig = tf.keras.utils.get_file('train',
'https://gitlab.com/StephenAI/osato-file/raw/master/train.zip',
untar=True, archive_format='zip')
data_root = pathlib.Path(data_root_orig)
print(data_root, type(data_root),data_root.is_dir())
答案 0 :(得分:0)
# download IMDb movie review dataset
import tensorflow as tf
dataset = tf.keras.utils.get_file(
fname="aclImdb.tar.gz",
origin="http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz",
extract=True,
)
答案 1 :(得分:0)
我遇到了同样的问题,我不得不采取其他略有不同的方法,您可以像我一样做,看看它是否对您有帮助。
因此,我将.zip文件上传到我的Google云端硬盘帐户中,将其安装到Colab,然后使用patoolib.extract_archive(zip_file_path, outdir='destination_folder')
并继续使用destination_folder中的图像进行编码。
当然,您需要使用!pip install patool
安装该库,然后使用import patoolib
导入它。
答案 2 :(得分:0)
import tensorflow as tf
import pathlib
url = 'https://.zip'
data_dir = tf.keras.utils.get_file('dataset', url, extract=True)
# if url = 'https://tgz' => untar=True
data_dir = pathlib.Path(data_dir)
image_count = len(list(data_dir.glob('*/*.jpg')))
对于tensorflow 2,您可以直接在~/.keras/datasets中找到数据集,并根据需要使用它