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 相关文章推荐
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
详解Django中的权限和组以及消息
Jul 23 Python
Python检测网站链接是否已存在
Apr 07 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
Python enumerate索引迭代代码解析
Jan 19 Python
Python切片工具pillow用法示例
Mar 30 Python
python range()函数取反序遍历sequence的方法
Jun 25 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
python字符串反转的四种方法详解
Dec 02 Python
怎么快速自学python
Jun 22 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 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解密Unicode及Escape加密字符串
2015/05/17 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
webpack入门必知必会
2017/01/16 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
详解Angular的8个主要构造块
2017/06/20 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
python版学生管理系统
2018/01/10 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
自我评价怎么写正确呢?
2013/12/02 职场文书
生日宴会主持词
2014/03/20 职场文书
淘宝活动总结范文
2014/06/26 职场文书
科学发展观演讲稿
2014/09/11 职场文书
个人简历求职信范文
2015/03/20 职场文书
可可西里观后感
2015/06/08 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
Python超详细分步解析随机漫步
2022/03/17 Python