TensorFlow文件读取 --TFRecords文件

TFRecords文件

是一种二进制文件,能够很好的利用内存,更方便复制和移动,并且不需要单独的标签文件

使用步骤

1)获取数据

2)将数据填入到Example协议内存块(protocol buffer)

3)将协议内存块序列化为字符串,并且通过 tf.python_io.TFRecordWriter写入到TFRecords文件

文件格式  *.tfrecords

     Example结构

●tf. train. Example协议内存块(protocol buffer)(协议内存块包含了字段  Features )
●Features包含了一个Feature 字段
●Feature 中包含要写入的数据、并指明数据类型。
   这是一个样本的结构,批数据需要循环存入这样的结构

  • tf.train.Example(features=None)

          写入tfrecords文件

         features: tf.train.Features类型的特征实例

         return: example格式协议块

  • tf.train.Features(feature=None)

         构建每个样本的信息键值对

         feature: 字典数据,key为要保存的名字

         value为tf.train.Feature实例

         return: Features类型

  • tf.train.Feature(options)

         options: 例如

              bytes_ litftrain. BytesList(value=[Bytes])

              int64. lststf.train. Int64List(value=[Value)

支持存入的类型如下

       tf.train.Int64List(value=Malue])

       tf.train.BytesList(value=[Bytes])

       tf.train.FloatList(value=[value]

流程分析

1)构造存储实力  tf.python_io.TFRecordWriter(patch)

2)循环将数据填入到Example协议内存块(protocol buffer)

example解析

●tf.parse. single_ example(serialized, features=None, name=None)
      解析一个单一的Example原型

     serialized: 标量字符串Tensor, - 一个序列化的Example
     features: dict字典数据,键为读取的名字,值为FixedLenFeature
     return:一 个键值对组成的字典,键为读取的名字
●tf.FixedL enFeature(shape, dtype)
     shape: 输入数据的形状,一般不指定,为空列表
     dtype: 输入数据类型,与存储进文件的类型要一致
     类型只能是float32, int64, string
 

案例:

写入:

读取:

流程:

   1)构造文件名队列

    2)读取和解码    

              读取

              解析example

              解码

   3)构造批处理队列

      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

001-谷粒商城-微服务剖析

1、架构图 还是很强的,该有的都有 2、微服务模块 SpringCloudAlibaba组件包括 SentinelNacosRocketMQSeata 搭配SpringCloudAlibaba组件 OpenFeignGateWayRibbn gateway使用了SpringWebFlux,前几天研究到,为什么springboot不直接使用Spri…

Prometheus 标签动作|action: keep 设置哪些对象需要抓取

标签的作用: 可以基于已有的标签,生成一个标签也可以创建新的标签还可以过滤标签,不想采集哪些哪些标签不要了也可以将其删除 保留或丢弃对象、哪些对象需要抓取 Relabeling 另一个常见的用例就是过滤有标签的对象,keep 或 drop …

阿里云mysql8.0 this is incompatible withsql mode=only full group by

阿里云RDS中mysql5.6升级为8.0后,出现如下问题: ### Error querying database. Cause:java.sql.SQLSyntaxErrorException: Expression #1 of SELECT listis not in GROUP BY clause and contains nonaggregatedcolumn temp.product_id which is not fun…

2024抖店新政策!抖音小店的发展趋势!新手必看!

哈喽~我是电商月月 准备开抖店的新手朋友注意了,最近抖音严查无货源违规商家,还发布了取消新手期的政策,这说明了两点 1. 生态环境正在改变 无规矩不成方圆,违规的都是故意放错类目以及,靠S单非法获得销量&#xff…

JavaScript实现字符串转json对象的方法

在JavaScript中,将字符串转换为JSON对象通常使用JSON.parse()方法。但如果你想要其他方法,这里给出四种不同的方法: 1. 使用JSON.parse() 这是最常见且推荐的方法,它可以将一个格式正确的JSON字符串转换为一个JavaScript对象。 …

流量计如何进行校准?

什么是流量计?流量计是指示被测流量和(或)在选定的时间间隔内流体总量的仪表。简直研制,流量计是用于测量管道或明渠中流体流量的一种仪表。流量计种类繁多,又分为有差压式流量计、转子流量计、节流式流量计、细缝流量…

Linux信号(保存)

个人主页:Lei宝啊 愿所有美好如期而遇 前言 Linux信号(产生)-CSDN博客,上一个章节我们详细介绍了信号是什么,为什么要有信号,怎样产生信号,以及信号产生的几个问题,这个章节我们将介绍信号的保存。 我们…

【Linux】简单的线程池

目录 线程池介绍 基本概念 定义 组成部分 线程池的优点 资源高效 响应迅速 可管理性 线程池的工作原理 线程池的使用场景 线程池的注意事项 实现简单的线程池 前置函数 Mutex 类介绍 LockGuard 类介绍 Log类的介绍 枚举定义 Log类 全局对象 Conf类 myThre…

使用Vueuse的useIntervalFn方法制作一个获取验证码倒计时按钮

useIntervalFn const { pause, resume, isActive } useIntervalFn(()>{}, 1000, {})useIntervalFn可获取到两个方法和一个属性&#xff0c;pause暂停计时器&#xff0c;resume恢复计时器&#xff0c;isActive表示当前计时器的活动状态 div内容 <el-button click"…

嵌入式linux学习之arm开发板移植ssh

1.下载源码 &#xff08;1&#xff09;zlib 下载网址&#xff1a;http://www.zlib.net/fossils/ 教程中版本选择的是: zlib-1.2.11.tar.gz &#xff08;2&#xff09;openssl下载网址&#xff1a;https://www.openssl.org/source/mirror.html 教程中版本选择的是: openssl-1.1…

数据库相关的所有问题

哪里有纯DBA啊&#xff1f;操作系统出问题&#xff0c;导致数据库卡了。你&#xff0c;去把这个问题做掉。

android应用复制文件到u盘

刚开始觉得简单&#xff0c;不就是找到u盘路径&#xff0c;打开文件写入文件 fun getUsbPath(): String? {val usbRoot File("/mnt/media_rw")if (usbRoot.exists() && usbRoot.isDirectory()) {val usbFiles usbRoot.listFiles()if (usbFiles ! null &am…

设计模式-迭代器模式(Iterator)

1. 概念 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种统一的方式来访问集合对象中的元素。迭代器模式的核心思想是将遍历集合的责任封装到一个单独的对象中&#xff0c;这样可以避免暴露集合内部的表示方式。这种模式通常用于提供一种方法来访问一个容器对象中各个…

页面跳转的几种方式

目录 1. HTML超链接 ( 标签): 2. JavaScript 方式: 3. Meta 标签: 4. 小程序中页面跳转 (微信小程序为例): 5. 框架内跳转 (Vue Router为例): 6. iframe 内部跳转: 7. AJAX 请求后处理: 1. HTML超链接 (<a> 标签): <!-- 用户点击后跳转 --> <a href&qu…

使用 Docker 部署 Draw.io 在线流程图系统

1&#xff09;介绍 Draw.io GitHub&#xff1a;https://github.com/jgraph/drawio Draw.io 是一款开源的绘制流程图的工具&#xff0c;拥有大量免费素材和模板。程序本身支持中文在内的多国语言&#xff0c;创建的文档可以导出到多种网盘或本地。无论是创建流程图、组织结构图…

安装Python包常用的国内镜像源

示例&#xff1a; pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplepip install scrapy -i http://mirrors.aliyun.com/pypi/simple/ 镜像源不太稳定时&#xff0c;可以按需切换&#xff1a; 清华&#xff1a;https://pypi.tuna.tsinghua.edu.cn…

跨线程参数传递TransmittableThreadLocal

TransmittableThreadLocal 是阿里巴巴开源的transmittable-thread-local库提供的一个类&#xff0c;它是 ThreadLocal 的一个增强版本&#xff0c;主要用于解决跨线程传递 ThreadLocal 变量值的问题。 通常情况下&#xff0c;ThreadLocal 变量的值只能在当前线程中共享&#x…

第21篇 JSP指令

JSP指令&#xff08;JavaServer Pages Directives&#xff09;是JSP页面中的一种特殊语句&#xff0c;它们以<% %>的形式存在&#xff0c;并且不是发送给浏览器的输出内容&#xff0c;而是由JSP容器&#xff08;如Apache Tomcat&#xff09;在将JSP页面转换为Servlet时解…

如何帮助中小企业建立数字化的能力?

中小企业建立数字化的能力&#xff0c;可以从以下几个方面着手&#xff1a; 1、开展数字化评估&#xff1a;中小企业首先需要对自己的数字化基础水平和企业经营管理现状进行评估&#xff0c;这包括了解企业在数字化方面的现有能力和需求&#xff0c;以及内外部转型资源的可用性…

[创业之路-106] :经济学十大陷阱与核心思想:系统论、社会进化论、周期论、阴阳互转论

目录 前言&#xff1a; 一、流动性陷阱。 二、中等收入陷阱。 三、修昔底德陷阱。 四、塔西佗陷阱。 五、金德尔伯格陷阱。 六、卢梭陷阱。 七、拉美陷阱。 八、阿喀琉斯之踵。 九、布拉德伯里悖论。 十、李约瑟之谜 结论&#xff1a;上述陷阱的…