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的Django框架中的Cookie相关处理
Jul 22 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
Nov 19 Python
python实现用户管理系统
Jan 10 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
python excel转换csv代码实例
Aug 26 Python
Python:type、object、class与内置类型实例
Dec 25 Python
Python @property装饰器原理解析
Jan 22 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Python Map 函数的使用
Aug 28 Python
使用Python+Appuim 清理微信的方法
Jan 26 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/04/21 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
基于构造函数的五种继承方法小结
2017/07/27 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
python字典排序实例详解
2015/05/20 Python
Python实现大文件排序的方法
2015/07/10 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
后勤部长岗位职责
2013/12/14 职场文书
党员批评与自我批评
2014/02/12 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
公司授权委托书范文
2014/08/02 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
青岛海底世界导游词
2015/02/11 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js