import tensorflow as tf
import numpy as np
import skimage
from skimage import data, io, color
from PIL import Image path = "1.tfrecords"
img_path = '/data/test/img/1.png' with tf.python_io.TFRecordWriter(path) as writer:
# list: int or float
a = 1024
b = 10.24 c = [0.1, 0.2, 0.3]
c = np.array(c).astype(np.float32).tobytes() d = [[1, 2], [3, 4]]
d = np.array(d).astype(np.int8).tobytes() e = "Python"
e = bytes(e, encoding='utf-8') img = io.imread(img_path)
img = img.astype(np.uint8).tobytes() img2 = Image.open(img_path)
img2 = img2.resize((256, 256))
img2 = img2.tobytes() example = tf.train.Example(features=tf.train.Features(feature={
'a': tf.train.Feature(int64_list=tf.train.Int64List(value=[a])),
'b': tf.train.Feature(float_list=tf.train.FloatList(value=[b])),
'c': tf.train.Feature(bytes_list=tf.train.BytesList(value=[c])),
'd': tf.train.Feature(bytes_list=tf.train.BytesList(value=[d])),
'e': tf.train.Feature(bytes_list=tf.train.BytesList(value=[e])),
'image': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img])),
'image2': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img2])), }))
writer.write(example.SerializeToString()) # 读取
filename_queue = tf.train.string_input_producer([path])
_, serialized_example = tf.TFRecordReader().read(filename_queue) features = tf.parse_single_example(serialized_example,
features={
'a': tf.FixedLenFeature([], tf.int64),
'b': tf.FixedLenFeature([], tf.float32),
'c': tf.FixedLenFeature([], tf.string),
'd': tf.FixedLenFeature([], tf.string),
'e': tf.FixedLenFeature([], tf.string),
'image': tf.FixedLenFeature([], tf.string),
'image2': tf.FixedLenFeature([], tf.string), }) a = features['a'] # 返回是张量
b = features['b'] c = features['c']
c = tf.decode_raw(c, tf.float32) d = features['d']
d = tf.decode_raw(d, tf.int8)
d = tf.reshape(d, [2, 2]) e = features['e'] img = tf.decode_raw(features['image'], tf.uint8)
img = tf.reshape(img, shape=[256, 256, 3]) img2 = tf.decode_raw(features['image2'], tf.uint8)
img2 = tf.reshape(img2, [256, 256,3]) with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
tf.train.start_queue_runners(sess=sess) print(sess.run([a, b, c, d, e])) e = sess.run(e)
print(type(e), bytes.decode(e)) img = sess.run(img)
io.imshow(img) img2 = sess.run(img2)
io.imshow(img2)

tensorflow tfrecord文件存储的更多相关文章

  1. Tensorflow 读写 tfrecord 文件(Python3)

    TensorFlow笔记博客:https://blog.csdn.net/xierhacker/article/category/6511974 写入tfrecord文件 import tensorf ...

  2. Tensorflow 中(批量)读取数据的案列分析及TFRecord文件的打包与读取

    内容概要: 单一数据读取方式: 第一种:slice_input_producer() # 返回值可以直接通过 Session.run([images, labels])查看,且第一个参数必须放在列表中 ...

  3. TFRecord文件的读写

    前言在跑通了官网的mnist和cifar10数据之后,笔者尝试着制作自己的数据集,并保存,读入,显示. TensorFlow可以支持cifar10的数据格式, 也提供了标准的TFRecord 格式,而 ...

  4. TensorFlow笔记-文件读取

    小数量数据读取 这些只用于可以完全加载到内存中的小型数据集: 1,储存在常数中 2,储存在变量中,初始化后,永远不改变它的值 使用常量 training_data = ... training_lab ...

  5. 生成TFRecord文件完整代码实例

    import os import json def get_annotation_dict(input_folder_path, word2number_dict): label_dict = {} ...

  6. AI tensorflow模型文件

    tensorflow模型可以利用tf.train.Saver类保存成文件.一个模型包含下面四个文件. meta文件 存储计算图的protobuf. data-00000-of-00001文件和inde ...

  7. 吴裕雄 python 神经网络——TensorFlow TFRecord样例程序

    import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...

  8. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:将MNIST手写图片数据写入TFRecord文件

    import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...

  9. Android数据存储之Android 6.0运行时权限下文件存储的思考

    前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以 ...

随机推荐

  1. 【读书笔记】使用JMeter创建数据库(Mysql)测试

    读书笔记:<零成本实现Web性能测试>第4章 记得某天按照虫师博客的写的,折腾后成功了.今天又忘记了... 折腾后又成功了,赶紧记录下... 原文:http://www.cnblogs.c ...

  2. 浏览器解析JavaScript的原理

    JavaScript的特点一般都知道的就是解释执行,逐行执行,就是从上到下依次执行. JavaScript的执行之前,其实还是有一些操作的,只是没有表现出来 JavaScript的执行过程: 1.语法 ...

  3. Java类的加载和对象创建流程的详细分析

    相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下: package com.test; public ...

  4. 【codeforces 242E】XOR on Segment

    [原题题面]传送门 [题面翻译]传送门 [解题思路] 操作涉及到区间求和和区间异或,考虑到异或操作,我们对每个数二进制分解. 把每一位单独提出来做,异或要么取反要么变为不变,对于每一位建一颗线段树,那 ...

  5. LuoguP2617 Dynamic Rankings (动态主席树学习理解)

    题目地址 题目链接 题解 动态主席树的板子题.动态主席树其实和静态的有很大差别,虽然同样是n个根,但是节点并不能共用,每个根节点表示bit上的一段区间. 所以其实是个树套树的东西来着,外层是bit,内 ...

  6. Keil中查看.c和.h文件的路径

    方法一: 选择任意一个文件,然后点击右键,选择"Option for File xxx"即可查看该文件的路径. 方法二: 单击任意一个文件,然后点击右键,选择"Open ...

  7. kubernetes1.13.5安装部署

    Kubernetes 一.    Kubernetes介绍 各节点所需组件 Master:docker,kubeadm,kubelet, 组件 版本 备注 Kubelet 1.13.5 组件 Kube ...

  8. Confluence 6 升级中的一些常见问题

    升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份.不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence.  在升级过程中 ...

  9. DTW动态时间规整算法

    目录 1.基本介绍 2.算法原理(理论原理) 2.1 主要术语 2.2 算法由来和改进过程 2.3 DTW算法流程 3.算法DTW和算法HMM的比较 1.基本介绍 DTW:Dynamic Time W ...

  10. mysql创建新用户出现错误处理

    心血来潮创建一个新用户,结果...步步艰难啊,好在最后成功,把我出现的问题和解决方案抛出来,希望大家顺顺利利创建成功┗|`O′|┛ 嗷~~ 我出现的错误主要有这三种: 1.ERROR 1064 (42 ...