关于tf.TFRecordReader()函数的用法解析
读取tfrecord数据
从TFRecords文件中读取数据, 首先需要用tf.train.string_input_producer生成一个解析队列。之后调用tf.TFRecordReader的tf.parse_single_example解析器。
如下图:
解析器首先读取解析队列,返回serialized_example对象,之后调用tf.parse_single_example操作将Example协议缓冲区(protocol buffer)解析为张量。
简单来说,一旦生成了TFRecords文件,接下来就可以使用队列(queue)读取数据了。
def read_and_decode(filename): #根据文件名生成一个队列 filename_queue = tf.train.string_input_producer([filename]) reader = tf.TFRecordReader() _, serialized_example = reader.read(filename_queue) #返回文件名和文件 features = tf.parse_single_example(serialized_example, features={ 'label': tf.FixedLenFeature([], tf.int64), 'img_raw' : tf.FixedLenFeature([], tf.string), }) img = tf.decode_raw(features['img_raw'], tf.uint8) img = tf.reshape(img, [224, 224, 3]) img = tf.cast(img, tf.float32) * (1. / 255) - 0.5 label = tf.cast(features['label'], tf.int32) return img, label
举例:
下面代码是我的程序中利用TFRecord读取格式时的代码:
这部分只要使用对应的代码就可以,主要是知道咋回事。
以上这篇关于tf.TFRecordReader()函数的用法解析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
tensorflow将图片保存为tfrecord和tfrecord的读取方式
tensorflow官方提供了3种方法来读取数据: 预加载数据(preloaded data):在TensorFlow图中定义常量或变量来保存所有的数据,适用于数据量不太大的情况.填充数据(feeding):通过Python产生数据,然后再把数据填充到后端. 从文件读取数据(reading from file):从文件中直接读取,然后通过队列管理器从文件中读取数据. 本文主要介绍第三种方法,通过tfrecord文件来保存和读取数据,对于前两种读取数据的方式也会进行一个简单的介绍. 项目下载git
-
从多个tfrecord文件中无限读取文件的例子
原来在一本书上看到过,从多个tfrecord文件中读取数据的方法,今天想用在网上找了一下,现在记录一下,免得自己以后忘记了又不好找, tfrecord_file_path = '/train/*.tfrecords'#train是存放tfrecord的文件夹 filename_queue = tf.train.string_input_producer( tf.train.match_filenames_once(tfrecord_file_path), shuffle=True, num_ep
-
TFRecord文件查看包含的所有Features代码
TFRecord作为tensorflow中广泛使用的数据格式,它跨平台,省空间,效率高.因为 Tensorflow开发者众多,统一训练时数据的文件格式是一件很有意义的事情,也有助于降低学习成本和迁移成本. 但是TFRecord数据是二进制格式,没法直接查看.因此,如何能够方便的查看TFRecord格式和数据,就显得尤为重要了. 为什么需要查看TFReocrd数据?首先我们先看下常规的写入和读取TFRecord数据的关键过程. # 1. 写入过程 # 一张图片,我写入了其内容,label,长和宽几
-
关于tf.TFRecordReader()函数的用法解析
读取tfrecord数据 从TFRecords文件中读取数据, 首先需要用tf.train.string_input_producer生成一个解析队列.之后调用tf.TFRecordReader的tf.parse_single_example解析器. 如下图: 解析器首先读取解析队列,返回serialized_example对象,之后调用tf.parse_single_example操作将Example协议缓冲区(protocol buffer)解析为张量. 简单来说,一旦生成了TFRecord
-
JavaScript回调函数callback用法解析
这篇文章主要介绍了JavaScript回调函数callback用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript回调函数的使用是很常见的,引用官方回调函数的定义: A callback is a function that is passed as an argument to another function and is executed after its parent function has complete
-
python中namedtuple函数的用法解析
源码解释: def namedtuple(typename, field_names, *, rename=False, defaults=None, module=None): """Returns a new subclass of tuple with named fields. >>> Point = namedtuple('Point', ['x', 'y']) >>> Point.__doc__ # docstring for
-
snprintf函数的用法解析
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0.所以如果目标串的大小为n 的话,将不会溢出.函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值.Result1(推荐的用法) 复制代码 代码如下: #include <stdio.h>#include <stdlib.h> int main(){
-
关于tensorflow softmax函数用法解析
如下所示: def softmax(logits, axis=None, name=None, dim=None): """Computes softmax activations. This function performs the equivalent of softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis) Args: logits: A non-empty `Tensor`. Must be
-
Sql Server中Substring函数的用法实例解析
SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'
-
Python partial函数原理及用法解析
这篇文章主要介绍了Python partial函数原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 partial其实是Python模块functools中定义的一个函数,当我们需要经常调用某个函数时,但是其中某些参数是已知的固定值,这样可能会让代码显得冗余,这个时候就可以考虑使用partial函数. 使用 假设我们要做二进制转十进制 int('1000000', base=2) # 64 int('1010101', bas
-
python重要函数eval多种用法解析
这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.参数会作为一个 Python 表达式(从技术上说是一个条件列表)被解析并求值 >>> x = 1 >>> eval('x+1') 2 2.去除字符串两边的引号 >>> a='"srting"' >>> print(a) "srting"
-
Java字符串替换函数replace()用法解析
这篇文章主要介绍了Java字符串替换函数replace()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的 代码如下 import java.util.*; public class Main{ public static void main(String[] args)
-
Pytorch深度学习addmm()和addmm_()函数用法解析
目录 一.函数解释 二.代码范例 三.代码运行结果 一.函数解释 在torch/_C/_VariableFunctions.py的有该定义,意义就是实现一下公式: 换句话说,就是需要传入5个参数,mat里的每个元素乘以beta,mat1和mat2进行矩阵乘法(左行乘右列)后再乘以alpha,最后将这2个结果加在一起.但是这样说可能没啥概念,接下来博主为大家写上一段代码,大家就明白了~ def addmm(self, beta=1, mat, alpha=1, mat1, mat2, out=No
随机推荐
- Angular获取手机验证码实现移动端登录注册功能
- WMI中的Win32_PingStatus类(ping命令实现)
- jQuery版Tab标签切换
- DDNS 的工作原理及其在 Linux 上的实现
- 服务器安全设置_中级篇
- python查询sqlite数据表的方法
- VB.NET验证邮件地址的合法性实现代码
- ASP.NET Cache的一些总结分享
- JSP页面传值乱码过滤方法
- 详解C++ 拷贝构造函数和赋值运算符
- vue.js指令和组件详细介绍及实例
- JavaScript中实现Map的示例代码
- H5移动端适配 Flexible方案
- 基于jQuery的可以控制左右滚动及自动滚动效果的代码
- 微信小程序 动态传参实例详解
- 在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
- jQuery中trigger()方法用法实例
- js判断字符是否是汉字的两种方法小结
- 修改系统DLL文件实现禁用的方法
- Windows Server 2008 r2 安装Zend Optimizer教程