tensorflow(四)
tensorflow数据处理方法,
1.输入数据集
小数据集,可一次性加载到内存处理。
大数据集,一般由大量数据文件组成,因为数据集的规模太大,无法一次性加载到内存,只能每一步训练时加载数据,可以采用流水线并行读取数据。
流水线并行读取数据过程, (1)创建文件名列表(2)创建文件名队列(3)创建Reader和Decoder(4)创建样例队列
filename_queue = tf.train.string_input_producer(['stat0.csv','stat1.csv']) reader = tf.TextLinerReader()
_,value = reader.read(filename_queue) record_defaults = [[0],[0],[0.0],[0.0]]
id,age = tf.decode_csv(value,record_defaults=record_defaults)
features = tf.stack([id,age])
def get_my_example(filename_queue):
reader = tf.SomeReader()
_,value = reader.read(filename_queue)
features = tf.decode_some(value)
processed_example = some_processing(features)
return processed_example def input_pipeline(filenames,batch_size,num_epochs=None):
filename_queue = tf.train.string_input_producer(filenames,num_epochs,shuffle=True)
example = get_my_example(filename_queue)
min_after_deque = 10000
capacity = min_after_deque + 3*batch_size
example_batch = tf.train.shuffle_batch([example],batch_size=batch_size,capacity=capacity,min_after_deque=min_after_deque) return example_batch x_batch = input_pipeline(['stat.tfrecord'],batch_size=20)
sess = tf.Session()
init_op = tf.group(tf.global_variables_initializer(),tf.local_variables_initializer()) sess.run(init_op)
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess,coord=coord)
try:
for _ in range(1000):
if not coord.should_stop():
sess.run(train_op)
print(example)
except:
print('catch exception')
finally:
coord.request_stop()
coord.join(threads)
sess.close()
2.模型参数
模型参数指的是模型的权重值和偏置值,使用tf.Variable创建模型参数
W = tf.Variable(0.0,name='W')
double = tf.multiply(2.0,W)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(4):
sess.run(tf.assign_add(W,1.0))
print(sess.run(W))
3.保持和恢复模型参数
tf.train.Saver是辅助训练工具类,它实现了存储模型参数的变量和checkpoint文件间的读写操作。
W = tf.Variable(0.0,name='W')
double = tf.multiply(2.0,W) saver = tf.train.Saver({'weights':W}) with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(4):
sess.run(tf.assign_add(W,1.0))
print(sess.run(W))
saver.save(sess,'/tmp/text/ckpt')
tensorflow(四)的更多相关文章
- 【转】TensorFlow四种Cross Entropy算法实现和应用
http://www.jianshu.com/p/75f7e60dae95 作者:陈迪豪 来源:CSDNhttp://dataunion.org/26447.html 交叉熵介绍 交叉熵(Cross ...
- TensorFlow(四):手写数字识别
一:数据集 采用MNIST数据集:-->官网 数据集被分成两部分:60000行的训练数据集和10000行的测试数据集. 其中每一张图片包含28*28个像素,我们把这个数组展开成一个向量,长度为2 ...
- TensorFlow 安装详解
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 『不要把手段当成目标 — <一个瑜伽行者的自传>』 本文提纲 1. 机器学习 2 ...
- TensorFlow安装-Windows
参考:https://blog.csdn.net/dou3516/article/details/77836459 一.安装环境 TensorFlow即可以支持CPU,也可以支持CPU+GPU.前者的 ...
- 手把手教你如何安装Tensorflow(Windows和Linux两种版本)
tensorflow 不支持Python2.7,最好选择下载Python3.5 现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通 ...
- Tensorflow从0到1(一)之如何安装Tensorflow(Windows和Linux两种版本)
现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通过这篇文章来简单介绍一下,关于如何搭建Tensorflow以及如何进行使用.建议 ...
- 服务器创建tensorflow环境,nni自动调参记录
一.anaconda安装记录 1.1 下载安装脚本:wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh 1.2 ...
- [白话解析] 带你一起梳理Word2vec相关概念
[白话解析] 带你一起梳理Word2vec相关概念 0x00 摘要 本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来说,运用感性直觉的思考来帮大家梳理Word2vec相关概念. 0 ...
- tensorflow笔记(四)之MNIST手写识别系列一
tensorflow笔记(四)之MNIST手写识别系列一 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7436310.html ...
随机推荐
- 大二暑假第二周总结--开始学习Hadoop基础(一)
一.简单视频学习Hadoop的处理架构 二.简单视频学习分布式文件系统HDFS并进行简单的实践操作 简单操作教程:http://dblab.xmu.edu.cn/blog/290-2/ 注意:在建立H ...
- python中__str__与__repr__
(1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: class adder: def __init__(self,value=0): self.data ...
- Nginx之epoll和select poll
epoll和 select poll 都是做I/O多路复用的. 区别在于: epoll较灵活,如果有一百万个链接状态同时保持,但是在某个时刻,只有几百个链接是活跃的.epoll的处理是通过epoll_ ...
- 合并排序_python
#!/usr/bin/python # --coding:utf-8 -- def sort_merge(left,right): i,j=0,0 result=[] while i<len(l ...
- Python Learning Day5
Response响应 import requests response = requests.get('https://baidu.com') # response响应 print(response. ...
- 微信小程序自定义分享封面
onShareAppMessage:function(options){ let thas = this; if (options.from === 'button') { // 来自页面内转发按钮 ...
- 自动化运维工具ansible中常用模块总结
1.yum模块: name:要操作的软件包名字,可以是一个url或者本地rpm包路径,如name=nginx update_cache:更新软件包缓存,如update_cache=yes则更新软件包缓 ...
- linux-权限管理相关
inux权限管理—基本权限 目录 Linux权限管理—基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理—基本权限 一. ...
- [ZJCTF 2019]NiZhuanSiWei
0x00知识点 1:data伪协议写入文件 2:php:// php://filter用于读取源码 php://input用于执行php代码 3反序列化 0x01解题 打开题目,给了我们源码 < ...
- Maven - No plugin found for prefix 'tomcat7' in the current project
问题发现: 在构建Maven项目的时候,出现了No plugin found for prefix 'tomcat7' in the current project的错误. 是需要在Maven的Pom ...