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
    +关注

    关注

    27

    文章

    4398

    浏览量

    126538
  • DPU
    DPU
    +关注

    关注

    0

    文章

    292

    浏览量

    23965
  • 计算机视觉
    +关注

    关注

    8

    文章

    1589

    浏览量

    45588
  • Record
    +关注

    关注

    0

    文章

    4

    浏览量

    6615

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

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

收藏 人收藏

    评论

    相关推荐

    书写开源之魂|2023 年活力开源贡献者、开源项目揭晓

    开源事业的蓬勃发展,离不开持之以恒的开源贡献者。他们用一行行代码孕育出无数独具特色的产品,凝聚成了源远流长、代代相传的开源精神。集众智、采众长,他们以坚定的信念和满腔的热情传播开源文化
    的头像 发表于 12-22 09:26 332次阅读
    书写<b class='flag-5'>开源</b>之魂|2023 年活力<b class='flag-5'>开源</b>贡献者、<b class='flag-5'>开源</b>项目揭晓

    书写开源之魂|2023年活力开源贡献者、开源项目揭晓

    开源事业的蓬勃发展,离不开持之以恒的开源贡献者。他们用一行行代码孕育出无数独具特色的产品,凝聚成了源远流长、代代相传的开源精神。集众智、采众长,他们以坚定的信念和满腔的热情传播开源文化
    的头像 发表于 12-18 15:55 211次阅读

    用“开源”的方式讲开源的合规,合规“诊所”,等你来问!

    2023开放原子开发者大会 . OPEN ATOM DEVELOPERS CONFERENCE 开源合规分论坛 2023.12.17 “支持数字技术开源社区等创新联合体发展,完善开源知识产权
    的头像 发表于 12-05 19:35 401次阅读
    用“<b class='flag-5'>开源</b>”的方式讲<b class='flag-5'>开源</b>的合规,合规“诊所”,等你来问!

    汇聚开源力量,赋能软件发展,开放原子开源基金会携开源展区亮相软博会,开源展区现场引关注!

    开源已成为全球软件技术和产业创新的主导模式,是技术应用和行业数字化发展的基石,开源在推动软件创新、促进技术发展与构建企业开放合作中发挥着重要作用。第二十五届中国国际软件博览会在天津梅江会展中心召开
    的头像 发表于 09-05 16:42 208次阅读
    汇聚<b class='flag-5'>开源</b>力量,赋能软件发展,开放原子<b class='flag-5'>开源</b>基金会携<b class='flag-5'>开源</b>展区亮相软博会,<b class='flag-5'>开源</b>展区现场引关注!

    资讯速递 | ArkUI-X 预览版正式开源

    OpenHarmony项目群技术指导委员会(以下简称“TSC”)-跨平台应用开发框架TSG所孵化项目 —— ArkUI-X,近期正式开源 ,开发者基于一套主代码,就可以将在OpenHarmony上
    发表于 08-11 16:10

    培育开源人才,助力开源生态发展|2023开放原子全球开源峰会校源行分论坛圆满落幕

    6 月 13 日,2023 开放原子全球开源峰会校源行分论坛在北京成功召开。本次分论坛以“聚缘于校、开源共行”为主题,知名高校、优秀开源社团代表,开源大使和社区专家,头部科技企业等群贤
    的头像 发表于 06-19 11:14 425次阅读
    培育<b class='flag-5'>开源</b>人才,助力<b class='flag-5'>开源</b>生态发展|2023开放原子全球<b class='flag-5'>开源</b>峰会校源行分论坛圆满落幕

    培育开源人才,助力开源生态发展|2023开放原子全球开源峰会校源行分论坛圆满落幕

    6月13日,2023开放原子全球开源峰会校源行分论坛在北京成功召开。本次分论坛以“聚缘于校、开源共行”为主题,知名高校、优秀开源社团代表,开源大使和社区专家,头部科技企业等群贤毕至,围
    的头像 发表于 06-16 21:15 760次阅读

    共建、共享开源EDA核心共性技术框架|2023开放原子全球开源峰会开源EDA分论坛成功举办

    6月11日,由开放原子开源基金会主办,openDACS工作委员会承办,深圳市华秋电子技术有限公司、芯华章科技股份有限公司协办的2023开放原子全球开源峰会开源EDA分论坛成功召开。论坛以“共建、共享
    发表于 06-16 13:45

    开源赋能 工业铸魂|2023开放原子全球开源峰会开源工业软件分论坛圆满举行

    6 月 12 日,由开放原子开源基金会主办,开源工业软件工作委员会(以下简称“工委会”)承办,工业和信息化部电子第五研究所、哈尔滨工程大学青岛创新发展基地协办的 2023 开放原子全球开源峰会
    的头像 发表于 06-14 15:34 564次阅读
    <b class='flag-5'>开源</b>赋能 工业铸魂|2023开放原子全球<b class='flag-5'>开源</b>峰会<b class='flag-5'>开源</b>工业软件分论坛圆满举行

    开源赋能 工业铸魂|2023开放原子全球开源峰会开源工业软件分论坛圆满举行

    6月12日,由开放原子开源基金会主办,开源工业软件工作委员会(以下简称“工委会”)承办,工业和信息化部电子第五研究所、哈尔滨工程大学青岛创新发展基地协办的2023开放原子全球开源峰会开源
    的头像 发表于 06-13 22:45 908次阅读

    2023开放原子全球开源峰会即将盛大举行,开源赋能,普惠未来!

    160秒看懂你身边离不开的开源科技# 作为当下最重要的技术创新和协同发展模式,这份开源“说明书”居然和七巧板如此适配!6月11-13日,2023开放原子全球开源峰会# 即将盛大举行,开源
    发表于 06-02 15:32

    中科院发布“香山”与“傲来”两项开源处理器芯片

    可靠供应链管控平台和源码级自动化编译构建平台,形成基于OpenEuler的社区参考版本,并覆盖服务器、移动和物联网等全应用领域。相关核心关键技术辐射至RISC-V开源社区与互联网企业,帮助社区和企业
    发表于 05-28 08:43

    聚焦开源与投资,GOTC 2023 开源创投专题论坛议程大曝光

    5 月 28 日,GOTC 2023 “ 开源创投” 专题论坛将于上海张江科学会堂重磅开启。此论坛由 开源中国董事长马越担任出品人,旨在共同探讨开源软件产业的发展趋势、商业模式和投资机会,以及
    的头像 发表于 05-26 11:53 349次阅读
    聚焦<b class='flag-5'>开源</b>与投资,GOTC 2023 <b class='flag-5'>开源</b>创投专题论坛议程大曝光

    来 GOTC 2023,从不同的角度谈开源开源人才培养!

    开源的发展离不开开源人才。中国的开源人才培养的发展潜力巨大。在最近的 Linux 基金会的开源工作岗位报告中,鉴于各行业持续采用云计算和进行数字化转型,对
    的头像 发表于 05-24 09:30 529次阅读
    来 GOTC 2023,从不同的角度谈<b class='flag-5'>开源</b>及<b class='flag-5'>开源</b>人才培养!

    中国开源未来发展峰会“问道 AI 分论坛”即将开幕!

    、知乎机构号全方位发稿,科技圈全方位触达,与百万开发者共同见证未来。 中国开源,未来来! 5 月 13 日,重庆富力假日酒店(重庆市沙坪坝区大学城南路26号)期待您的莅临!
    发表于 05-09 09:49