抱歉,我是Tensorflow的新手2.1 and
GoogleColab`。而且我不明白为什么会有这个错误:
我的代码:
%tensorflow_version 2.x
import tensorflow as tf
from tensorflow import keras
print(tf.__version__)
import pathlib
import os
path_data_dir = tf.keras.utils.get_file(origin='https://www.kaggle.com/c/dogs-vs-cats/download/0iMGwZllApFLiU35zX78%2Fversions%2Fm5lLqMS0KLfxJUozn3gR%2Ffiles%2Ftrain.zip',fname='train',untar= True)
data_dir = pathlib.Path(path_data_dir)
entries = os.listdir(data_dir)
for entry in entries:
print(entry)
我遇到了这个错误(我尝试挂载GoogleDrive
文件夹并且可以访问
FileNotFoundError Traceback (most recent call last)
<ipython-input-1-88f88035f225> in <module>()
12 data_dir = pathlib.Path(path_data_dir)
13
---> 14 entries = os.listdir(data_dir)
15 for entry in entries:
16 print(entry)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.keras/datasets/train'
非常感谢您的帮助
莉莉
答案 0 :(得分:1)
我认为这是由于普通Linux机器与Google Colab托管的运行时之间的文件系统结构不同。
作为一种解决方法,将cache_dir='/content'
参数传递给get_file
函数,如下所示:path_data_dir = tf.keras.utils.get_file(origin='https://www.kaggle.com/c/dogs-vs-cats/download/0iMGwZllApFLiU35zX78%2Fversions%2Fm5lLqMS0KLfxJUozn3gR%2Ffiles%2Ftrain.zip',fname='train',untar= True, cache_dir='/content')
请注意,返回值path_data_dir
是文件的完整路径,因此函数调用os.list_dir(data_dir)
将失败,因为data_dir
指向文件而不是目录。
要解决此问题,请将entries = os.listdir(data_dir)
更改为entries = os.listdir(data_dir.parent)
答案 1 :(得分:0)
我认为这只是最终下载数据的错误链接...在google colab上,我无法正确看到下载的文件(因为我看不到文件夹...),但是后来我在计算机上尝试了只是链接。