首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

tensorflow- dataset -如何制作我们自己的tfds格式的数据集?

创建自己的 TensorFlow Datasets (TFDS) 格式的数据集是一个多步骤的过程,涉及到定义数据集的结构、编写数据加载代码以及测试。以下是创建自定义 TFDS 数据集的基本步骤:

步骤 1: 安装 TensorFlow Datasets

首先,确保安装了 TensorFlow Datasets。如果还没有安装,可以通过 pip 安装:

代码语言:javascript
复制
pip install tensorflow-datasets

步骤 2: 创建数据集脚本

TFDS 数据集是通过 Python 脚本定义的,这些脚本指定了如何下载和解析数据,以及如何将数据组织成标准格式。

  1. 创建数据集目录: 在 TensorFlow Datasets 的源代码目录中创建一个新目录。例如,如果你的数据集名为 my_dataset,可以创建如下目录:

tensorflow_datasets/image/my_dataset

  • 编写数据集定义: 在这个目录中创建一个 Python 文件,例如 my_dataset.py。这个文件将包含数据集的定义,包括下载数据、解析数据和定义特征。 下面是一个简单的例子:

import tensorflow_datasets as tfds class MyDataset(tfds.core.GeneratorBasedBuilder): """示例数据集。""" VERSION = tfds.core.Version('1.0.0') def _info(self): return tfds.core.DatasetInfo( builder=self, description=("描述你的数据集。"), features=tfds.features.FeaturesDict({ "image": tfds.features.Image(), "label": tfds.features.ClassLabel(names=["no", "yes"]), }), supervised_keys=("image", "label"), ) def _split_generators(self, dl_manager): """返回数据集的 SplitGenerators。""" # 假设数据已经下载到路径 `path_to_manual_dir` return [ tfds.core.SplitGenerator( name=tfds.Split.TRAIN, gen_kwargs={"filepath": "path_to_train_data"}, ), tfds.core.SplitGenerator( name=tfds.Split.TEST, gen_kwargs={"filepath": "path_to_test_data"}, ), ] def _generate_examples(self, filepath): """生成示例数据。""" for img_path, label in _extract_images_and_labels(filepath): yield img_path, { "image": img_path, "label": label, } 在这个脚本中,你需要定义 _info(), _split_generators()_generate_examples() 方法。

步骤 3: 测试数据集

在开发过程中,你可以使用 tfds build 命令来测试和构建数据集:

代码语言:javascript
复制
tfds build --data_dir=/path/to/data_dir --register_checksums

这个命令会处理数据集的下载、预处理和保存等步骤。

步骤 4: 使用数据集

一旦数据集构建完成,你可以通过 TensorFlow Datasets API 加载数据集:

代码语言:javascript
复制
import tensorflow_datasets as tfds

ds = tfds.load('my_dataset', split='train', shuffle_files=True)
for example in ds.take(1):
    image, label = example["image"], example["label"]

注意事项

  • 确保遵循 TensorFlow Datasets 的代码风格和贡献指南。
  • 如果数据集是公开的,考虑将其贡献到 TFDS 社区。
  • 对于大型数据集,确保处理好数据下载和存储的问题,可能需要处理大文件、长时间下载等问题。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pytorch加载自己的数据集(使用DataLoader读取Dataset)

大家好,又见面了,我是你们的朋友全栈君。 1. 我们经常可以看到Pytorch加载数据集会用到官方整理好的数据集。...很多时候我们需要加载自己的数据集,这时候我们需要使用Dataset和DataLoader Dataset:是被封装进DataLoader里,实现该方法封装自己的数据和标签。...2.Dataset 阅读源码后,我们可以指导,继承该方法必须实现两个方法: _getitem_() _len_() 因此,在实现过程中我们测试如下: import torch import numpy...=2) 此时,我们的数据已经加载完毕了,只需要在训练过程中使用即可。...当我们想取出data和对应的labels时候,只需要用下表就可以啦,测试如下: # 表示输出数据 print(data[0]) # 表示输出标签 print(data[1]) 结果如图: 发布者

2.3K40

matlab遍历文件制作自己的数据集 .mat文件

看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK数据集来教学,这些都是已经制作好的数据集,我们大家肯定都很疑惑怎么制作自己的数据集呢?...接下来我就自己制作了一个数据集,图片3600张,每张的高宽分别为240-320 获取根目录下所有子文件夹: PathRoot = 'F:\process\finger_vein-master\db100...'; list = dir(PathRoot); 获取在下一层的所有子文件夹,因为我们的数据很多时候都是不在一个文件夹,或者是在一个大文件夹中的很多小文件中,所以这时候就需要多重遍历,一层,一层的遍历下去...,拿到我们想要的所有数据   至于这里为什么是 3 开始? ...db100 里面的每一个小文件夹(001-002-003)中的left  和 right 中 这里用matlab 三重遍历文件提取数据  最后全部保存在 imgPack中 在用 save 的函数 将数据集保存成

2.4K50
  • TensorFlow可以“预装”数据集了,新功能Datasets出炉

    ,你也可以自己添加数据集。...DatasetBuilder公开,已知: 1.从哪里下载数据集,如何提取数据并写入标准格式; 2.如何从disk加载; 3.各类要素名称、类型等信息。...["train"], datasets["test"] 5assert isinstance(train_dataset, tf.data.Dataset) 数据集版本控制 当数据集自身版本更新时,已经开始训练的数据不会变化...具体配置 有不同变体的数据集用BuilderConfigs进行配置,比如大型电影评论数据集(Large Movie Review Dataset),可以对输入文本进行不同的编码。...my_config) 也可以用你自己的配置,通过tfds.core.BuilderConfigs,进行以下步骤: 1.把你自己的配置对象定义为的子类 tfds.core.BuilderConfig。

    1.3K30

    深度学习图像分割(二)——如何制作自己的PASCAL-VOC2012数据集

    前言 在之前的那篇文章中:深度学习图像分割(一)——PASCAL-VOC2012数据集(vocdevkit、Vocbenchmark_release)详细介绍 我们大概了解了VOC2012图像分割数据集的基本格式...,现在我们来讨论一下我们具体需要什么样的数据格式和我们如何去制作自己的数据集。...数据格式 实际我们在使用FCN算法进行深度学习训练过程中,对于图像的分割我们只需要两种数据: 一种是原始图像,就是我们要进行训练的图像: ?...PIL读取的时候已经将8-bit的图像数据格式进行了转化,将8-bit彩色转化为8-bit灰度图,灰度的值就是这个假彩色的值。...制作自己的数据集 制作数据集有很多工具,matlab上面自带工具但是比较繁琐,这里我们使用wkentaro编写的labelme,这个软件是使用pyqt编写的轻量级软件,github地址:https://

    6.3K50

    一次GAN项目背景下的tensorflow_datasets的mnist数据集的下载笔记

    而我们的代码使用的不是input_data,而是tfds。 所以我们面临的是tfds无法自动下载mnist文件的问题。 我们的这个问题无法查到。.../tfds/core/DatasetInfo 其中有关于数据集dataset的info文件,诶,会不会是他呢?...于是查找到dataset.info的输出方式,输出看看,嗯,格式差不多。。。 那我们把它存成这个json文件试一下。...怀疑input_data与tfds所需要的数据集格式不同,inputdata的解决方案并不适用。 9....总结: input_data 和 tfds 的数据集调用方式和问题解决方式不一样,目前来看,input_data如果出现无法下载数据集的问题可以用手动下载来解决,tfds上如果出现无法下载数据集的问题只有换电脑这一种解决方式

    75610

    目标检测—利用labelimg制作自己的深度学习目标检测数据集

    是一款开源的数据标注工具,可以标注三种格式。...3 使用labelimg 3.1 数据准备 首先这里需要准备我们需要打标注的数据集。...定义自己要标注的所有类别(这个文件可有可无,但是在我们定义类别比较多的时候,最好有这个创建一个这样的txt文件来存放类别) 3.2 标注前的一些设置 首先在JPEGImages这个文件夹放置待标注的图片...下面介绍图中的我们常用的按钮。 待标注图片数据的路径文件夹,这里输入命令的时候就选定了JPEGImages。...如下图所示,当我们选定目标以后,就会加载出来predefined_classes.txt 定义自己要标注的所有类别(如果类别多,是真的很方便,就不需要自己手打每个类别的名字了)。

    1.3K30

    YOLO11-seg分割:如何训练自己的数据集:包裹分割数据集

    ​ 本文内容:如何训练包裹分割数据集,包装分割数据集(Package Segmentation Dataset)推动的包装分割对于优化物流、加强最后一英里配送、改进制造质量控制以及促进智能城市解决方案至关重要...数据集结构包装分割数据集的数据分布结构如下:训练集:包含 1920 幅图像及其相应的注释。测试集:由 89 幅图像组成,每幅图像都与各自的注释配对。...应用由包装分割数据集(Package Segmentation Dataset)推动的包装分割对于优化物流、加强最后一英里配送、改进制造质量控制以及促进智能城市解决方案至关重要。...该数据集包含在不同地点、环境和密度下拍摄的各种图像。该数据集是开发该任务专用模型的综合资源。这个例子强调了数据集的多样性和复杂性,突出了高质量传感器数据对于涉及无人机的计算机视觉任务的重要性。...0.839 0.9 0.902 0.926 0.809Mask mAP50 为0.926MaskPR_curve.png预测结果如下:5.系列篇 1)如何训练自己的数据集

    23010

    谷歌发布 RLDS,在强化学习生成、共享和使用数据集

    比如,某些数据集并没有包含与环境的交互序列,但却提供了一组让我们无法重构其时间关系的随机交互,其他数据集则会以稍有差异的方式发行,从而导致细微的误差,非常难以识别。...最后,通过与 TensorFlow Dataset(TFDS)集成,有助于加强与研究界共享强化学习数据集。...为了保持其有用性,原始数据最好以无损格式存储,记录所有生成的信息,并保留数据项之间的时间关系(例如,步骤和事件的序列),而不会对将来如何利用数据集作出任何假定。...一旦数据集成为 TFDS 的一部分,它就会被索引到全球 TFDS 目录中,这样,所有研究人员都可以通过使用 tfds.load(name_of_dataset) 来访问,并且可以将数据以 TensorFlow...此外,使用 TFDS,用户可以保留对自己的数据拥有所有权和完全控制权,并且所有的数据集都包含了一个引用给数据集作者。

    90210

    如何用pycococreator将自己的数据集转换为COCO类型

    接下来就该pycococreator接手了,它负责处理所有的注释格式化细节,并帮你将数据转换为COCO格式。让我们以用于检测正方形、三角形和圆形的数据集为例,来看看如何使用它。 ?...请记住,我们制作COCO数据集,并不是因为它是表示注释图像的最佳方式,而是因为所有人都使用它。 下面我们用来创建COCO类型数据集的示例脚本,要求你的图像和注释符合以下结构: ?...但我们可以用pycococreator来解决这部分问题。让我们首先把简单的问题解决掉,我们使用python列表和字典库来描述我们的数据集,然后将它们导出为json格式。 ?...如果你想自行尝试形状数据集,可访问下方shape_strain_dataset的链接下载。.../waspinator/pycococreator/ 现在,你可以尝试将自己的数据集转换为COCO格式,并用计算机视觉领域的最新进展进行试验。

    2.5K50

    TensorFlow 2.0入门

    它处理下载和准备数据并构建数据tf.data.Dataset。详细了解如何使用tf.Data此处加载图像数据集。...下载数据集 有许多可用的数据集,也可以按照此处的指南添加自己的数据集。...tensorflow_datasets as tfds print(tfds.list_builders()) 在下载任何数据集之前,建议了解一些详细信息,例如数据集的功能和统计信息。...因此buffer_size当你Dataset开始时,很大可能会导致延迟。 在清洗缓冲区完全为空之前,清洗数据集不会报告数据集的结尾。...通过使用更大,更复杂的架构,可以轻松做得更好。有许多开源预训练网络可用于我们的类似图像分类任务。一个预先训练模型是以前训练的大型数据集,通常在大型图像分类任务保存的网络。

    1.8K30

    YOLO11-seg分割如何训练自己的数据集(道路缺陷)

    本文内容:如何用自己的数据集(道路缺陷)训练yolo11-seg模型以及训练结果可视化; 1.YOLO11介绍Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建...Segmentation 官方在COCO数据集上做了更多测试: 2.数据集介绍道路裂纹分割数据集是一个全面的4029张静态图像集合,专门为交通和公共安全研究而设计。...该数据集包括训练、测试和验证集,有助于精确的裂缝检测和分割。...训练集3712张,验证集200张,测试集112张 标签可视化:​ 3.如何训练YOLO11-seg模型3.1 修改 crack-seg.yaml# Ultralytics YOLO , AGPL-3.0...license# Crack-seg dataset by Ultralytics# Documentation: https://docs.ultralytics.com/datasets/segment

    85210

    如何在 GPU 深度学习云服务里,使用自己的数据集?

    本文为你介绍,如何在 GPU 深度学习云服务里,上传和使用自己的数据集。 (由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。...解决了第一个问题后,我用 Russell Cloud 为你演示,如何上传你自己的数据集,并且进行深度学习训练。 注册 使用之前,请你先到 Russell Cloud 上注册一个免费账号。...cats_dogs_small_vgg16 包含我们的运行脚本。只有一个文件。 它的使用方法,我们后面会介绍。 先说说,你最关心的数据集上传问题。...在“数据集”栏目中选择“创建数据集”。 如上图,填写数据集名称为“cats_and_dogs_small”。 这里会出现数据集的 ID ,我们需要用它,将云端的数据集,跟本地目录连接起来。...通过一个实际的深度学习模型训练过程,我为你展示了如何把自己的数据集上传到云环境,并且在训练过程中挂载和调用它。

    2.2K20

    text classification with RNN

    本教程的目的是带领大家学会用 RNN 进行文本分类 本次用到的数据集是 IMDB,一共有 50000 条电影评论,其中 25000 条是训练集,另外 25000 条是测试集 首先我们需要加载数据集,可以通过...TFDS 很简单的把数据集下载过来,如下代码所示 dataset, info = tfds.load('imdb_reviews', with_info=True, as_supervised=True...) ​ train_dataset, test_dataset = dataset['train'], dataset['test'] ​ train_dataset.element_spec 接下来我们需要创建...(lambda text, label: text)) 接下来我们需要搭建模型,下图是模型结构图 对应的代码如下所示 model = tf.keras.Sequential([ encoder...), optimizer=tf.keras.optimizers.Adam(1e-4), metrics=['accuracy']) 到这一步,我们就可以开始训练了

    53020

    《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第13章 使用TensorFlow加载和预处理数据

    目前为止,我们只是使用了存放在内存中的数据集,但深度学习系统经常需要在大数据集上训练,而内存放不下大数据集。...预处理的一种方式是写自己的自定义预处理层,另一种是使用Kera的标准预处理层。 本章中,我们会介绍Data API,TFRecord格式,以及如何创建自定义预处理层,和使用Keras的预处理层。...通常你是用的数据集是从硬盘里逐次读取数据的,简单起见,我们是用tf.data.Dataset.from_tensor_slices()创建一个存储于内存中的数据集: >>> X = tf.range(10...如何处理瓶颈? 可以将任何二进制数据存入TFRecord文件吗,还是只能存序列化的协议缓存? 为什么要将数据转换为Example协议缓存?为什么不使用自己的协议缓存?...施一公TFDS加载同样的数据集:tfds.load("imdb_reviews")。

    3.4K10

    GitHub YOLOv5 开源代码项目系列讲解(二)------制作和训练自己的数据集

    专栏地址:GitHub YOLOv5 开源代码项目系列讲解 目录 1 总述 2 数据及标签制作 3 训练自己的数据集 ---- 1 总述 在 GitHub 上,可点击此链接进行查看 Train Custom...而这部分要求,这个线上标注数据的网站就可以帮我们制作好。...值得注意的是,类别名按 “0”、“1” 默认排列,要与前几步提到的类别标签一一对应。 3 训练自己的数据集 将自己的 mydata.yaml 路径写到对应参数位置。...在 train.py 中点击运行即可开始训练 按照指示找到自己训练好的模型位置 加下来看看我们在自己训练的模型的预测效果吧 以下展示的是 3 张测试数据集图片。...原因是训练数据集数据太少,接下来加大训练数据集的量再试试吧! 以上就是制作和训练自己的数据集的全部内容啦,感谢阅读。 技术之路,共同进步!冲冲冲!

    1.7K11

    掌声送给TensorFlow 2.0!用Keras搭建一个CNN | 入门教程

    中包含了许多数据集,按照需求添加自己的数据集。...具体的操作方法可见: https://github.com/tensorflow/datasets/blob/master/docs/add_dataset.md 如果我们想列出可用的数据集,可以用下面的代码...: import tensorflow_datasets as tfdsprint(tfds.list_builders()) 在下载数据集之前,我们最好先了解下该数据集的详细信息,例如该数据集的功能信息和统计信息等...预训练模型通常已经在大型的数据集上进行过训练,通常用于完成大型的图像分类任务。直接使用预训练模型来完成我们的分类任务,我们也可以运用迁移学习的方法,只使用预训练模型的一部分,重新构建属于自己的模型。...预训练模型的分类模块通常受原始的分类任务限制,如果想将预训练模型用在新的分类任务上,我们需要自己构建模型的分类模块,而且需要将该模块在新的数据集上进行训练,这样才能使模型适应新的分类任务。

    1.5K30
    领券