tensorflow tfrecord文件存储
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文件存储的更多相关文章
- Tensorflow 读写 tfrecord 文件(Python3)
TensorFlow笔记博客:https://blog.csdn.net/xierhacker/article/category/6511974 写入tfrecord文件 import tensorf ...
- Tensorflow 中(批量)读取数据的案列分析及TFRecord文件的打包与读取
内容概要: 单一数据读取方式: 第一种:slice_input_producer() # 返回值可以直接通过 Session.run([images, labels])查看,且第一个参数必须放在列表中 ...
- TFRecord文件的读写
前言在跑通了官网的mnist和cifar10数据之后,笔者尝试着制作自己的数据集,并保存,读入,显示. TensorFlow可以支持cifar10的数据格式, 也提供了标准的TFRecord 格式,而 ...
- TensorFlow笔记-文件读取
小数量数据读取 这些只用于可以完全加载到内存中的小型数据集: 1,储存在常数中 2,储存在变量中,初始化后,永远不改变它的值 使用常量 training_data = ... training_lab ...
- 生成TFRecord文件完整代码实例
import os import json def get_annotation_dict(input_folder_path, word2number_dict): label_dict = {} ...
- AI tensorflow模型文件
tensorflow模型可以利用tf.train.Saver类保存成文件.一个模型包含下面四个文件. meta文件 存储计算图的protobuf. data-00000-of-00001文件和inde ...
- 吴裕雄 python 神经网络——TensorFlow TFRecord样例程序
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:将MNIST手写图片数据写入TFRecord文件
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...
- Android数据存储之Android 6.0运行时权限下文件存储的思考
前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以 ...
随机推荐
- 安装ceph设置镜像源
当安装ceph时 卡在这的时候ceph会替换成自己的镜像源 所以这个时候 赶紧再打开一个终端 替换成国内的清华大学的镜像源 就不会被替换回去了 ceph.repo 文件 [Ceph] name=Ce ...
- fmt.Sprintf格式化使用
格式化写法: fmt.Sprintf(格式化样式, 参数列表-) 参数说明: 格式化样式:字符串形式,格式化动词以%开头. 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的动词个数对应,否则运行 ...
- AI illustrator 如何裁剪图片(扣取局部区域)
AI如何裁剪图片 在使用illustrator的过程中,很多亲想要AI的裁剪功能与ps一样强大,但是AI常用的裁剪图片方法如下. 工具/原料 illustrator cs6 应用剪切蒙版剪切图片 ...
- 前端——Bootstrap
Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 以前自己写的html的 ...
- MySQL中使用union all获得并集的排序
项目中有时候因为某些不可逆转的原因使得表中存储的数据难以满足在页面中的展示要求.之前的项目上有文章内容的展示功能,文章分为三个状态待发布.已发布.已下线.他们在数据表中判断状态的字段(PROMOTE_ ...
- 应对 Visual Stdio 编译时出现错误:常量中有换行符
笔者最近用 Visual Stdio 时,发现一个问题,在某一次写完语言进行编绎运行时,出现了以下错误: C2001错误:变量中有换行符 C2413错误:语法错误 缺少")"(在& ...
- 20165306 Exp5 MSF基础应用
Exp5 MSF基础应用 一.实践概述 1. 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.实现: 1.1一个主动攻击实践 ms08-067+window ...
- [MySQL] timestamp和datetime的区别
建表语句如下: create table strong_passwd_whitelist( id int unsigned not null auto_increment, email_id int ...
- 2018年底,IOS面试题的复习之OC的反射机制
明天要去面试一个公司,今天复习下IOS题目吧 1.说一下OC的反射机制 答:OC的反射机制类似于JAVA的反射机制,这种动态反射机制可以让OC语言更加灵活.这句话是对反射机制的初步认识,具体表现在哪里 ...
- [爬虫进阶]使用Jsoup取代你的一切网络请求方法(java,post,get,代理IP)
[爬虫进阶]使用Jsoup取代你的一切网络请求方法(java,post,get,代理IP) 原文链接:https://www.cnblogs.com/blog5277/p/9334560.html 原 ...