京公网安备 11010802034615号
经营许可证编号:京B2-20210330
TensorFlow Datasets(TFDS)是一个用于下载、管理和预处理机器学习数据集的库。它提供了易于使用的API,允许用户从现有集合中选择并下载各种数据集。然而,在一些情况下,用户可能需要使用本地数据集进行模型训练和测试。在本文中,我们将介绍如何使用TFDS加载本地数据集。
为了加载本地数据集,我们需要做以下几个步骤:
1.准备数据集 2.创建TFDS数据集描述文件 3.使用描述文件加载数据集
首先,我们需要准备我们要使用的数据集。这通常涉及到收集、清洗和组织数据,以便可以轻松地访问数据。在本例中,我们将使用一个简单的示例数据集,其中包含数字图像和相应的标签。
该数据集的目录结构类似于以下内容:
data/
0/
image1.png
image2.png
...
1/
image1.png
image2.png
...
...
在上面的目录结构中,每个数字目录代表一个唯一的标签,并包含与该标签相关联的所有图像。
接下来,我们需要创建一个TFDS数据集描述文件。该文件告诉TFDS如何读取和使用我们的本地数据集。描述文件通常是一个Python模块,其中包含有关数据集的元数据和函数,该函数将数据集加载到内存中。
在描述文件中,我们需要定义以下元数据:
1.名称:数据集的名称。 2.版本:数据集的版本号。 3.描述:数据集的简短描述。 4.特征:数据集的特征(例如,输入和输出的形状、数据类型等)。 5.拆分:数据集应该如何划分以进行训练、验证和测试。 6.下载URL(可选):如果数据集没有被打包成一个文件,请提供一个URL以下载数据集。
以下是一个简单的描述文件示例:
import tensorflow_datasets as tfds import os # Define the metadata for the dataset _DESCRIPTION = 'A dataset containing images of digits.' _VERSION = tfds.core.Version('1.0.0')
_NAME = 'my_dataset' def my_dataset(split): # Define the path to the data directory data_dir = os.path.join(os.getcwd(), 'data') # Define the classes classes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] # Load the data dataset_builder = tfds.builder(_NAME)
dataset_builder.data_dir = data_dir
dataset_builder.add_images(
os.path.join(data_dir, '*/*'),
labels=classes,
) return dataset_builder.as_dataset(split=split)
在上面的代码中,我们定义了一个名为my_dataset的函数,该函数将数据集加载到内存中。我们还定义了元数据,包括数据集的名称、版本和描述,以及数据集的特征和拆分方式。
最后,我们使用tfds.builder()函数创建了一个dataset_builder对象,并使用add_images()方法将图像添加到数据集中。请注意,此处我们使用了data_dir变量来指定数据集的路径。如果您的数据集存在其他位置,则需要更改此变量的值以反映正确的路径。
使用上述描述文件,我们可以通过调用tfds.load()函数来加载本地数据集。这个函数需要传递三个参数:数据集名称、数据集拆分方式和描述文件的路径或模块。
以下是一个简单的例子:
import tensorflow_datasets as tfds # Load the data my_dataset = tfds.load(
name='my_dataset',
split='train',
data_dir='./data',
download=False,
with_info=True,
) # Print
在上面的代码中,我们使用tfds.load()函数来加载名为my_dataset的数据集,使用了train拆分并指定了数据集路径。此外,我们将with_info参数设置为True以获取有关数据集的元信息。
一旦数据集被加载到内存中,我们可以像其他TFDS数据集一样使用它进行训练或测试。
在本文中,我们介绍了如何使用TFDS加载本地数据集。首先,我们准备了数据集,并创建了一个TFDS数据集描述文件。然后,我们使用tfds.load()函数将数据集加载到内存中,并使用它来训练或测试模型。虽然这种方法可能需要更多的手动操作,但它允许用户使用自己的数据集进行机器学习,从而获得更好的控制和灵活性。
相信读完上文,你对算法已经有了全面认识。若想进一步探索机器学习的前沿知识,强烈推荐机器学习之半监督学习课程。
学习入口:https://edu.cda.cn/goods/show/3826?targetId=6730&preview=0
涵盖核心算法,结合多领域实战案例,还会持续更新,无论是新手入门还是高手进阶都很合适。赶紧点击链接开启学习吧!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在MySQL数据库运维与开发实践中,经常出现一种典型现象:数据库实际存储的数据量很小,数据表条数少、文件体积低,但服务器整体 ...
2026-09-11 很多数据分析师能熟练计算均值、标准差,但当被问到“总体和样本有什么区别”“参数和统计量有什么关系”“数据级别的高低如 ...
2026-09-11CDA数据分析师 出品 作者:李诗怡 定义: 将同一时间段内因具备相同属性或共同经历的用户划分为群体,分析其留存与生命周期价值 ...
2026-09-11在零售、商超、餐饮、线下门店等实体商业运营中,客流与销售额是衡量门店经营状态的两大核心指标。销售额是门店经营的最终结果, ...
2026-09-10在数据可视化体系中,柱形图是最基础、应用最广泛的图表类型,其中**累计柱形图(堆积柱状图)**是兼顾整体总量与内部结构的核心 ...
2026-09-10 许多数据分析师精通Excel函数和SQL查询,但当面对一张上万行的销售明细表,要快速回答“哪个地区销量最高”“哪款产品增长最 ...
2026-09-10在Python Pandas数据分析中,DataFrame是承载结构化数据的核心载体,数据清洗、数据修正、条件赋值、字段更新等实操场景,都离不 ...
2026-09-09 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-09-09卡方检验(Chi-Square Test)是统计学中针对分类数据的经典显著性检验方法,核心用于判断两个离散分类变量是否相互独立、数据实 ...
2026-09-09CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02