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中使用正则表达式的方法
Aug 13 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
Python reduce()函数的用法小结
Nov 15 Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
Python进阶之尾递归的用法实例
Jan 31 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
python实现简单成绩录入系统
Sep 19 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
python实现微信打飞机游戏
Mar 24 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上传文件的增强函数
2010/07/21 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
js中的string.format函数代码
2020/08/11 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
工作决心书范文
2014/03/11 职场文书
会计岗位职责模板
2014/03/12 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
民事授权委托书范文
2014/08/02 职场文书
校庆团日活动总结
2014/08/28 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
付款证明格式范文
2015/06/19 职场文书
社区结对共建协议书
2016/03/23 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
Python中requests做接口测试的方法
2021/05/30 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server
Python内置数据类型中的集合详解
2022/03/18 Python