You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow端侧训练:如何替换为谷歌云存储自定义数据集?

替换自定义数据集到TensorFlow端侧训练教程的方法

先纠正你的错误代码问题

你之前的写法完全行不通:

  • 把GCS控制台的网页链接赋值给变量后调用load_data()是错的,因为load_data()是TensorFlow内置数据集对象的专属方法,字符串类型没有这个方法。
  • 控制台链接是网页界面地址,不是数据集的直接访问路径,你需要用GCS存储桶的直接访问路径:gs://bucketname/你的数据集目录

最简单的自定义数据集加载方法(适合按类别分文件夹的图像)

TensorFlow提供了tf.keras.utils.image_dataset_from_directory,专门用来加载按类别分文件夹存储的图像数据集,而且直接支持GCS路径,完全匹配你的需求。

假设你的GCS桶里的数据集结构是这样的(和Fashion MNIST的分类逻辑对应):

gs://bucketname/
├─ train/
│  ├─ class1/  # 比如"T恤"类的所有图像
│  ├─ class2/  # 比如"裤子"类的所有图像
│  └─ ...
└─ test/
   ├─ class1/
   ├─ class2/
   └─ ...

对应的代码如下:

import tensorflow as tf

# 加载训练集,自动从文件夹名生成标签
train_ds = tf.keras.utils.image_dataset_from_directory(
    'gs://bucketname/train',
    image_size=(28, 28),  # 按教程需求调整尺寸,Fashion MNIST是28x28
    batch_size=32  # 批次大小和教程保持一致即可
)

# 加载测试集
test_ds = tf.keras.utils.image_dataset_from_directory(
    'gs://bucketname/test',
    image_size=(28, 28),
    batch_size=32
)

这个方法会自动帮你完成:

  • 读取GCS上的图像文件
  • 根据文件夹名生成对应的分类标签
  • 返回tf.data.Dataset对象,和教程里Fashion MNIST加载后的数据集格式兼容,直接可以用于后续的模型训练、转换TFLite等步骤

关于你问的类似tf.dataset.fromURL的API

TensorFlow没有直接的tf.dataset.fromURL方法,但image_dataset_from_directory已经支持直接读取GCS路径(gs://开头),只要你的桶是公开可访问的,不需要额外配置就能用。如果是私有桶,只需要在Colab里通过!gcloud auth login完成授权即可。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 10:44:56