无法使用tf.compat.v1.keras.utils.get_file CSV在Colab中加载文件

时间:2019-11-23 21:19:22

标签: csv keras tensorflow2.0

我已经安装了GDrive并将csv文件放在一个文件夹中。我正在关注Await, SynchronizationContext, and Console Apps。但是,当我发出tf.keras.utils.get_file()时,出现如下所示的ValueError。

data_folder = r"/content/drive/My Drive/NLP/project2/data"
import os
print(os.listdir(data_folder))

它返回:

['crowdsourced_labelled_dataset.csv',
 'P2_Testing_Dataset.csv',
 'P2_Training_Dataset_old.csv',
 'P2_Training_Dataset.csv']

TRAIN_DATA_URL = os.path.join(data_folder, 'P2_Training_Dataset.csv')
train_file_path = tf.compat.v1.keras.utils.get_file("train.csv", TRAIN_DATA_URL)

但这返回:

Downloading data from /content/drive/My Drive/NLP/project2/data/P2_Training_Dataset.csv
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-16-5bd642083471> in <module>()
      2 TRAIN_DATA_URL = os.path.join(data_folder, 'P2_Training_Dataset.csv')
      3 TEST_DATA_URL = os.path.join(data_folder, 'P2_Testing_Dataset.csv')
----> 4 train_file_path = tf.compat.v1.keras.utils.get_file("train.csv", TRAIN_DATA_URL)
      5 test_file_path = tf.compat.v1.keras.utils.get_file("eval.csv", TEST_DATA_URL)


6 frames
/usr/lib/python3.6/urllib/request.py in _parse(self)
    382         self.type, rest = splittype(self._full_url)
    383         if self.type is None:
--> 384             raise ValueError("unknown url type: %r" % self.full_url)
    385         self.host, self.selector = splithost(rest)
    386         if self.host:

ValueError: unknown url type: '/content/drive/My Drive/NLP/project2/data/P2_Training_Dataset.csv'

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

根据docs,这将是对函数tf.compat.v1.keras.utils.get_file的调用的结果。

tf.keras.utils.get_file(
    fname,
    origin,
    untar=False,
    md5_hash=None,
    file_hash=None,
    cache_subdir='datasets',
    hash_algorithm='auto',
    extract=False,
    archive_format='auto',
    cache_dir=None
)
  

默认情况下,URL起始处的文件下载到cache_dir〜/ .keras,放置在cache_subdir数据集中,并赋予文件名fname。因此,文件example.txt的最终位置为〜/ .keras / datasets / example.txt。

     

返回:   下载文件的路径

由于驱动器中已经有数据,因此无需再次下载(并且IIUC,该函数需要可访问的URL)。另外,也不需要从函数调用中获取文件名,因为您已经知道了。

假设已安装驱动器,则可以按以下方式替换文件路径:

train_file_path = os.path.join(data_folder, 'P2_Training_Dataset.csv')
test_file_path = os.path.join(data_folder, 'P2_Testing_Dataset.csv')