0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TFRecorder已开源

Tensorflowers 来源:TensorFlow 作者:TensorFlow 2020-09-23 09:12 次阅读

在训练计算机视觉机器学习模型时,数据加载是一种常见的性能瓶颈,可能导致 GPU 或 TPU 资源在等待数据加载到模型时得不到充分利用。以高效 TensorFlow Record (TFRecord)格式存储数据集是解决这些问题的好方法,只不过,创建 TFRecords 往往需要大量的复杂代码。

TensorFlow Record
https://tensorflow.google.cn/tutorials/load_data/tfrecord

我们上周开源了 TensorFlow Recorder 项目(也就是 TFRecorder),如此一来,数据科学家、数据工程师AI/ML 工程师只需几行代码即可创建基于图像的 TFRecords。使用 TFRecords 对于创建高效 TensorFlow ML 流水线非常重要,而过去的创建方法非常繁琐。在 TFRecorder 之前,要大规模创建 TFRecords,必须编写一个数据流水线来解析结构化数据,从存储中加载图像并将结果序列化为 TFRecord 格式。TFRecorder 允许您直接从 Pandas dataframe 或 CSV 写入 TFRecords,无需编写任何复杂的代码。

TensorFlow Recorder
https://github.com/google/tensorflow-recorder

以下是 TFRecoder 的示例,但我们先谈谈 TFRecords 的一些特定优势。

TFRecords 如何提供帮助

TFRecord 文件格式可以将数据存储在文件集中,每个文件都包含序列化为二进制记录的 Protocol Buffers 序列,可以非常高效地读取,有助于减少上述数据加载瓶颈。

Protocol Buffers
https://developers.google.com/protocol-buffers/

在使用 TFRecord 格式的同时实现预提取和并行交错,可以进一步提高数据加载性能。当模型在当前步骤上执行训练时,使用 prefetch 可以提前获取下一个训练步骤的数据,从而缩短每个模型训练步骤的时间,Parallel interleave 允许您读取多个 TFRecords 分片(TFRecord 文件的一部分),并对这些交错的数据流进行预处理。这能够减少读取训练批次所需的延迟,特别适用于从网络读取数据。

预提取和并行交错
https://tensorflow.google.cn/guide/data_performance

使用 TensorFlow Recorder

使用 TFRecorder 只需几行代码即可创建 TFRecord。工作原理如下。

import pandas as pd import tfrecorder df = pd.read_csv(...) df.tensorflow.to_tfrecord(output_dir="gs://my/bucket")

TFRecorder 目前预期数据与 Google AutoML Vision 格式相同。

AutoML Vision
https://cloud.google.com/vision/automl/docs/prepare

这种格式与 Pandas dataframe 或 CSV 格式类似:

split image_uri label
TRAIN gs://my/bucket/image1.jpg cat

其中:

split 可以取值 TRAIN、VALIDATION 和 TEST

image_uri 指定图像文件的本地或 Google Cloud Storage 位置。

label 可以是将被整数化的基于文本的标签,也可以是一个整数

将来,我们希望进一步扩展 TensorFlow Recorder,支持所有格式的数据。

这个示例虽然能够将上千个图像顺利转换成 TFRecords,但扩展到百万计的图像可能就难以处理。为了扩展到庞大的数据集,TensorFlow Recorder 提供了与 Google Cloud Dataflow 的连接,后者是一款无服务器 Apache Beam 流水线运行器。扩展到 DataFlow 仅需要多一点配置。

Google Cloud Dataflow
https://cloud.google.com/dataflow
Apache Beam
https://beam.apache.org/

df.tensorflow.to_tfrecord( output_dir="gs://my/bucket", runner="DataFlowRunner", project="my-project", region="us-central1)

未来计划

我们希望您愿意尝试 TensorFlow Recorder。您可以从 GitHub 获取,或者直接 pip 安装 tfrecorder。

TensorFlow Recorder 刚刚面世,我们非常期待您的反馈、建议和 Pull Requests。

原文标题:创建 TFRecords 的救星 — TensorFlow Recorder 现已开源!

文章出处:【微信公众号:TensorFlow】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4742

    浏览量

    128980
  • DPU
    DPU
    +关注

    关注

    0

    文章

    364

    浏览量

    24200
  • 计算机视觉
    +关注

    关注

    8

    文章

    1698

    浏览量

    46011
  • Record
    +关注

    关注

    0

    文章

    4

    浏览量

    6665

原文标题:创建 TFRecords 的救星 — TensorFlow Recorder 现已开源!

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    黄鹤开源社区正式发布

    近日,在2024开放原子开发者大会暨首届开源技术学术大会开幕式上,基于开放原子开源基金会旗下AtomGit开源协作平台搭建的黄鹤开源社区正式发布,标志着武汉市
    的头像 发表于 12-23 11:33 250次阅读

    开源鸿蒙应用案例重磅发布

    开源赋能千行百业,有效推动产业创新升级。随着开放原子开源基金会的开源鸿蒙(OpenHarmony)5.0 Release版本正式发布,项目生态逐步走向成熟,众多开源应用案例应运而生。近
    的头像 发表于 12-23 11:32 285次阅读

    开源能带我们走向何方

    开源大模型、开源数据库、开源框架、开源硬件......近些年,这些词汇不绝于耳。雷军说,好的代码像诗一样优美,自己大二时写的代码就已经开源
    的头像 发表于 12-06 17:09 450次阅读

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 11-18 19:03 341次阅读
    如何在<b class='flag-5'>开源</b>鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    希姆计算的RISC-V矩阵扩展开源项目升级至0.5版本,支持向量+矩阵的实现

    希姆计算的RISC-V矩阵扩展开源项目升级至0.5版本-----支持向量+矩阵的实现范福杰博士&陈炜博士项目背景Background为了解决RISC-V在人工智能领域中指令碎片化
    的头像 发表于 11-12 01:08 737次阅读
    希姆计算的RISC-V矩阵扩展<b class='flag-5'>开源</b>项目<b class='flag-5'>已</b>升级至0.5版本,支持向量+矩阵的实现

    科技云报到:假开源真噱头?开源大模型和你想的不一样!

    科技云报到原创。 25年前,著名的计算机程序员、开源软件运动旗手Eric S·Raymond出版了《大教堂与集市》一书,首次提出了开放源代码(Open Source)的概念,提倡软件源代码能被任何人
    的头像 发表于 11-03 10:46 234次阅读

    开放原子开源运营专区正式上线

    开源软件的普及和应用推动了全球科技创新,成为推动技术创新和数字化转型的关键力量。由开放原子开源基金会(简称“基金会”)牵头建设的AtomGit开源协作平台,汇聚了广大开发者、开源机构和
    的头像 发表于 10-22 09:25 445次阅读

    华为全联接大会2024亮点:open-eBackup备份软件项目正式开源

    在备受瞩目的华为全联接大会2024上,华为宣布了一项重要举措——open-eBackup备份软件项目全面开源,标志着华为在数据保护领域的又一重大贡献。目前,该项目的相关代码顺利入驻openEuler社区,并正式开启其开源运营的
    的头像 发表于 09-25 15:39 860次阅读

    Matepad pro12.2 为什么不开源

    Matepad pro12.2 为什么不开源呀,是不是有点违背开源精神了
    发表于 08-27 17:27

    Matepad pro12.2 上市半个月,但是还没有在开源网站看到该项目的开源信息,违背开源精神

    Matepad pro12.2 上市半个月,本人自己也购买了同款12+256的pad,想要同步学习下这款pad的一些体验还不错的功能点,但是目前为止还没有在开源网站看到该项目的开源信息,也查询不到
    发表于 08-27 17:25

    开启开源布道新篇章 — LF开源软件学园诚邀开源精英加入成为OSPO讲师

    OSPO——企业开源战略的引擎在当今数字化时代,开源软件已成为推动全球技术创新的加速器。它不仅重塑了软件开发的模式,更成为企业构建竞争优势的关键。然而,随着开源文化的深入人心,企业面临着如何高效管理
    的头像 发表于 07-04 08:36 315次阅读
    开启<b class='flag-5'>开源</b>布道新篇章 — LF<b class='flag-5'>开源</b>软件学园诚邀<b class='flag-5'>开源</b>精英加入成为OSPO讲师

    【议题征集】国际开源及RISC-V人才暨开源技术与生态之旅

    【议题征集】国际开源及RISC-V人才暨开源技术与生态之旅
    的头像 发表于 07-02 08:36 276次阅读
    【议题征集】国际<b class='flag-5'>开源</b>及RISC-V人才暨<b class='flag-5'>开源</b>技术与生态之旅

    迅龙软件加入开放原子开源基金会和OpenHarmony 项目,共建开源新生态

    近日,迅龙软件与“开放原子开源基金会”签署协议,加入“开放原子开源基金会”(以下简称“开源基金会”),成为开源基金会白银捐赠人,这标志着迅龙软件将在更大平台上、更大范围内推动
    的头像 发表于 04-30 17:50 1053次阅读
    迅龙软件加入开放原子<b class='flag-5'>开源</b>基金会和OpenHarmony 项目,共建<b class='flag-5'>开源</b>新生态

    [开源]万界星空开源MES系统,支持低代码大屏设计

    万界星空科技免费MES、开源MES、商业开源MES、商业开源低代码MES、市面上最好的开源MES、MES源代码、免费MES、免费智能制造系统、免费排产系统、免费排班系统、免费质检系统、
    的头像 发表于 01-12 13:43 793次阅读
    [<b class='flag-5'>开源</b>]万界星空<b class='flag-5'>开源</b>MES系统,支持低代码大屏设计

    超强解析!《开源态势洞察》——开源基金会篇正式发布,赶紧收藏!

    大家的洞察,更好的开源。由开放原子开源基金会出品的《开源态势洞察》致力于搭建一个平台,连接开源领域的专家与寻求帮助的组织和个人,分享有价值的观点与方法,成为业内人士获取洞见和灵感的宝贵
    的头像 发表于 01-08 19:35 526次阅读
    超强解析!《<b class='flag-5'>开源</b>态势洞察》——<b class='flag-5'>开源</b>基金会篇正式发布,赶紧收藏!