无法访问Tensorflow Google Colab目录

时间:2020-02-23 12:39:19

标签: python keras google-colaboratory tensorflow2.0 kaggle

抱歉,我是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'

非常感谢您的帮助

莉莉

2 个答案:

答案 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上,我无法正确看到下载的文件(因为我看不到文件夹...),但是后来我在计算机上尝试了只是链接。