目录

  • 一、前言
  • 二、bmp 格式数据转换成 tfrecord 格式的代码
  • 三、txt 格式数据转换成 tfrecord 格式的代码

一、前言

之前我们讲过了关于 tfrecord 格式的相关内容,在这个博客——【超分辨率】30分钟学会TensorFlow高效处理数据的方法 - TFRecords 格式,这里我们来说一下如何将bmp 格式、txt 格式数据转换成 tfrecord 格式

二、bmp 格式数据转换成 tfrecord 格式的代码

import tensorflow as tf
import os
from PIL import Image
import numpy as npfilepath_list = []
root = os.walk('./traindatasets/').__next__()[0]
folder_names = os.walk(root).__next__()[1]
for folder_name in folder_names:folder_path = os.path.join(root, folder_name)image_names = os.walk(folder_path).__next__()[2]for image_name in image_names:image_path = folder_path + '/' + image_namefilepath_list.append(image_path)# 创建向 TFRecords 文件写数据记录的 writer
writer = tf.python_io.TFRecordWriter('train.tfrecord')for filepath in filepath_list:label_path = root + filepath.split('/')[-2] + '/label/label.bmp'img = Image.open(filepath)img = img.resize((512, 512))# 将参数使用UTF-8的编码格式转换成byte[]img_raw = img.tobytes()label = Image.open(label_path)label = label.resize((512, 512))label_raw = label.tobytes()# tf.train.Example 协议内存块(protocol buffer)(协议内存块包含了字段 Features)example = tf.train.Example(features=tf.train.Features(feature={'label_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[label_raw])), 'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw]))}))# 将样例序列化为字符串后,写入stat.tfrecord文件writer.write(example.SerializeToString())
# 关闭输出流
writer.close()

数据集是十张.bmp格式的图片。

运行代码后.bmp格式的图片生成 .tfrecord 格式文件。

由于存储中的精度问题,转换格式前后的数据信息存在可以忽略的差别,-8次的数量级的差别。

三、txt 格式数据转换成 tfrecord 格式的代码

整体上和bmp的代码相同,除了txt格式的读取和数据格式,使用np.txt函数进行txt数据的读取;由于是浮点数类型,使用float_listFloatList进行操作,即可。

读取和使用的在之前的博客中讲过,可以自行查看这个博客——【超分辨率】30分钟学会TensorFlow高效处理数据的方法 - TFRecords 格式,使用tfrecord格式文件进行读取和处理的速度和效率都更高。

如果想要更多的资源,欢迎关注 @我是管小亮,文字强迫症MAX~

回复【福利】即可获取我为你准备的大礼,包括C++,编程四大件,NLP,深度学习等等的资料。

想看更多文(段)章(子),欢迎关注微信公众号「程序员管小亮」~

TensorFlow学习笔记之 bmp格式、txt格式数据转换成tfrecord 格式相关推荐

  1. 将大量有规律txt文本数据转换成xml格式,在导入excel,生成excel文件,在导入spass中,对数据进行分析

    [文本数据 2.txt]下面是其中两条 Title-题名: 供应链竞争力内涵与模型构建研究 Author-作者: 余晖;张文杰; Organ-单位: 北京交通大学经济管理学院; Source-文献来源 ...

  2. WPF学习笔记(7):DataGrid中数字自定义格式显示

    WPF学习笔记(7):DataGrid中数字自定义格式显示 原文:WPF学习笔记(7):DataGrid中数字自定义格式显示 DataGrid中数据显示如下图,数据格式比较杂乱.希望达到以下要求:(1 ...

  3. 【学习笔记】Windows格式文档转换成Unix格式

    [学习笔记]Windows格式文档转换成Unix格式 我们有时候需要将文档格式从Windows格式转换成Unix格式,Windows下换行是\r\n,而Unix下换行是\n,所以只需要将文档中的\r去 ...

  4. 中移物联网onenet入门学习笔记2:中移物联的通信格式

    中移物联网onenet入门学习笔记2:中移物联的通信格式 中移物联网硬件接入协议:LWM2M协议,EDP协议,MQTT协议,HTTP协议,TCP透传,MODBUS协议,JT/T808协议,RCMP协议 ...

  5. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  6. tensorflow学习笔记1

    tensorflow学习笔记1 本文主要记录我在慕课上观看北大曹建老师的<人工智能实践:Tensorflow笔记>,链接:https://www.icourse163.org/course ...

  7. TensorFlow学习笔记--第三节张量(tensor)及其定义方法

    目录 在TensorFlow中,所有的数据通过张量的形式来表示 1张量及属性: 1.1维数(阶) 1.2 形状 1.3数据类型 TensorFlow 支持以下三种类型的张量: **1.常量** **2 ...

  8. tensorflow学习笔记(八):LSTM手写体(MNIST)识别

    文章目录 一.LSTM简介 二.主要函数 三.LSTM手写体(MNIST)识别 1.MNIST数据集简介 2.网络描述 3.项目实战 一.LSTM简介 LSTM是一种特殊的RNN,很好的解决了RNN中 ...

  9. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

最新文章

  1. USB 2.0 全速 FULL SPEED 和高速 HIGH SPEED 的区别
  2. 利用NLTK进行分句分词
  3. 《算法竞赛入门经典》习题4-3 黑白棋(Othello, ACM、ICPC World Finals 1992, UVa220)
  4. php dede 发布时间_dede 采集到数据后,发布日期变为本地日期解决方法
  5. left join on and 与 left join on where的区别
  6. 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel
  7. php 检测编码函数,自己写了一个php检测文件编码的函数
  8. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)
  9. 推荐10个非常不错的JavaScript移动开发框架
  10. 武大计算机考研 932教材,2018武汉大学考研官方指定参考书目
  11. 学习随笔#13 模型预测控制(MPC)
  12. 亲测好用的万能工具箱:Parallels Toolbox for mac中文版
  13. matlab打靶法求解薛定谔方程,用MATLAB语言解氢原子与类氢离子的定态薛定谔方程...
  14. megui 2913 汉化版 压制特效的方法
  15. 【转载】js 对表格进行各种操作(转)
  16. Flask PyMongo的基本使用
  17. (转)浅谈拉布拉多中值定理
  18. 不规则数据排序 Python sort sorted
  19. 基于动态空间滤波的受损EEG信号的鲁棒性学习
  20. Pacemaker+Corosync+Mfs+Iscsi+Fence实现高可用和Fence管理

热门文章

  1. CUDA的VC2005配置
  2. STM8L101X OPTION BYTES
  3. php页面浮动窗口代码,JavaScript浮动广告窗口实例
  4. 怎么修改mysql的表名称_mysql怎么修改表名?
  5. Excel列上相同的单元格进行合并操作!
  6. 经验主义:破解困局的救命稻草
  7. Pandoc——Pandoc安装、使用
  8. Linux下编写贪吃蛇游戏
  9. 【Excel-Vlookup】基础篇
  10. baocms伪静态_BAOcms二次开发定制