tensorflow之tf.record实现存浮点数数组


Posted in Python onFebruary 17, 2020

因为最近打算转战Tensorflow,我将自己的脑部肿瘤分割课题从caffe转移到tensorflow上去

然后我将数据存到Tf.record里面去,出现来不收敛,以及精度上不去的等现象。

最终原因是:数据 存入tf.record,我转为二进制也就是使用来tobytes()函数,再将数据存入tf.record,浮点数以二进制存入会有精度丢失问题。

其实:当发现这个精度上不去的现象之后,我第一反应就是是不是精度丢失,然后上网跟别人交流,告诉我不可能是精度丢失,不信让我输出来看,结果我输出来看后,发现数值确实没有变化,所以就放弃来这个精度丢失的方向,转而去找别的方向,结果几经周折,无果之后,再来尝试这个,发现,确实是转为二进制导致来精度丢失(确实浪费来我很多精力,甚至一度想放弃)。

经验教训:跟别人交流,一定要保持理性,可以尝试别人的方法,但是不能丢掉自己的想法,因为没有人比你自己更了解你的项目。

下面来讲讲,如何将浮点数组存进tf.record:简单记录,不懂可以评论:

import tensorflow as tf
import numpy as np
 
def _floats_feature(value):
  #这里的value=后面没有括号
  #千万不要写成return tf.train.Feature(float_list=tf.train.FloatList(value=[value]))
  return tf.train.Feature(float_list=tf.train.FloatList(value=value))
 
# data you would like to save, dtype=float32
#这里我生成了一个浮点数数组,来假定作为我的数据
data = np.random.randn(shape=(5, 5))
#这里一定要铺平,不然存不进去
data = data.flatten()
 
 
# open tfrecord file
writer = tf.python_io.TFRecordWriter(train_data_path)
 
# make train example
example = tf.train.Example(features=tf.train.Features(
  feature={'data': _floats_feature(data)}))
 
# write on the file
writer.write(example.SerializeToString())

这就是存数据了,下一步读取数据,一定要注意将原来铺平的数据reshape为原来的形状。

# open tfrecorder reader
reader = tf.TFRecordReader()
 
# read file
_, serialized_example = reader.read(filename_queue)
 
# read data
features = tf.parse_single_example(serialized_example,
  features={'data': tf.VarLenFeature(tf.float32)})
 
# make it dense tensor
data = tf.sparse_tensor_to_dense(features['data'], default_value=0)
 
# reshape
data = tf.reshape(data, [5,5])
 
return tf.train.batch(data, batch_size, num_threads, capacity)

以上这篇tensorflow之tf.record实现存浮点数数组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现统计代码行数的方法
May 22 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 Python
python实现简单淘宝秒杀功能
May 03 Python
numpy使用fromstring创建矩阵的实例
Jun 15 Python
Python tkinter label 更新方法
Oct 11 Python
python求质数列表的例子
Nov 24 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
python实现人像动漫化的示例代码
May 17 Python
Python参数传递及收集机制原理解析
Jun 05 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
详解Python模块化编程与装饰器
Jan 16 Python
基于Python实现nc批量转tif格式
Aug 14 Python
Python读取表格类型文件代码实例
Feb 17 #Python
基于Python获取docx/doc文件内容代码解析
Feb 17 #Python
Python多线程获取返回值代码实例
Feb 17 #Python
Python实现ATM系统
Feb 17 #Python
python设置环境变量的作用整理
Feb 17 #Python
python数据爬下来保存的位置
Feb 17 #Python
使用TFRecord存取多个数据案例
Feb 17 #Python
You might like
PHP 危险函数全解析
2009/09/09 PHP
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
php变量作用域的深入解析
2013/06/03 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
joomla组件开发入门教程
2016/05/04 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
通过js获取div的background-image属性
2013/10/15 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
js给selected添加options的方法
2015/05/06 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
浅析vue数据绑定
2017/01/17 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python操作redis的方法
2015/07/07 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
中学生家长评语大全
2014/04/16 职场文书
品酒会策划方案
2014/05/26 职场文书
安全环保演讲稿
2014/08/28 职场文书
银行授权委托书格式
2014/10/10 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
员工年终考核评语
2014/12/31 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android