You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Google Colab免费层突破12小时限制下载7GB TensorFlow数据集?

解决Colab免费层下载WMT14-fr-en过慢的问题 + 数据集格式说明

一、用Google Drive导入本地存储的数据集

完全可以用Google Drive替代Colab的在线下载,步骤非常直观:

  1. 上传本地数据到Drive
    把你本地的WMT14-fr-en数据集上传到Google Drive的任意文件夹,比如我个人习惯放在/content/drive/MyDrive/datasets/wmt14_fr_en/。如果是之前用TFDS下载过的完整数据集结构,直接上传整个文件夹就行;如果是原始的平行文本文件(比如train.entrain.fr这种每行对应一对翻译的文件),也统一上传到这个文件夹里。

  2. 在Colab中挂载Google Drive
    运行以下代码完成挂载,按照弹出的提示完成授权操作即可:

    from google.colab import drive
    drive.mount('/content/drive')
    
  3. 加载数据集

    • 如果你的本地数据是TFDS标准格式(即通过tfds.load下载后生成的文件夹结构):
      直接在tfds.load中指定data_dir参数为Drive里的路径,TFDS会自动跳过下载流程,直接读取本地数据:
      import tensorflow_datasets as tfds
      dataset, info = tfds.load(
          'wmt14_translate/fr-en',
          split='train',
          data_dir='/content/drive/MyDrive/datasets/wmt14_fr_en/',
          with_info=True
      )
      
    • 如果你的本地数据是原始平行文本
      可以用tf.data.TextLineDataset分别读取英文和法文文件,再配对成完整的翻译数据集:
      import tensorflow as tf
      
      en_path = '/content/drive/MyDrive/datasets/wmt14_fr_en/train.en'
      fr_path = '/content/drive/MyDrive/datasets/wmt14_fr_en/train.fr'
      
      en_dataset = tf.data.TextLineDataset(en_path)
      fr_dataset = tf.data.TextLineDataset(fr_path)
      # 配对成(英文句子, 法文翻译)的样本结构
      dataset = tf.data.Dataset.zip((en_dataset, fr_dataset))
      

二、关于WMT14-fr-en的数据集格式

TFDS中的wmt14_translate/fr-en默认是TFRecord格式(没有后缀名是因为TFDS的数据集文件夹内的文件是按TFRecord规范存储的,不需要额外后缀标识),每个样本是一个包含enfr两个字段的字典,分别对应英文原文和法文翻译文本。

如果你拿到的是原始的WMT14公开数据,通常是两个平行的纯文本文件:一个文件全是英文句子,另一个文件对应行的内容就是该英文句子的法文翻译,没有复杂格式,直接按行读取配对即可。

内容的提问来源于stack exchange,提问作者Harshith Belagur

火山引擎 最新活动