tensorflow数据处理方法,

1.输入数据集

小数据集,可一次性加载到内存处理。

大数据集,一般由大量数据文件组成,因为数据集的规模太大,无法一次性加载到内存,只能每一步训练时加载数据,可以采用流水线并行读取数据。

流水线并行读取数据过程, (1)创建文件名列表(2)创建文件名队列(3)创建Reader和Decoder(4)创建样例队列

  1. filename_queue = tf.train.string_input_producer(['stat0.csv','stat1.csv'])
  2.  
  3. reader = tf.TextLinerReader()
  4. _,value = reader.read(filename_queue)
  5.  
  6. record_defaults = [[0],[0],[0.0],[0.0]]
  7. id,age = tf.decode_csv(value,record_defaults=record_defaults)
  8. features = tf.stack([id,age])
  1. def get_my_example(filename_queue):
  2. reader = tf.SomeReader()
  3. _,value = reader.read(filename_queue)
  4. features = tf.decode_some(value)
  5. processed_example = some_processing(features)
  6. return processed_example
  7.  
  8. def input_pipeline(filenames,batch_size,num_epochs=None):
  9. filename_queue = tf.train.string_input_producer(filenames,num_epochs,shuffle=True)
  10. example = get_my_example(filename_queue)
  11. min_after_deque = 10000
  12. capacity = min_after_deque + 3*batch_size
  13. example_batch = tf.train.shuffle_batch([example],batch_size=batch_size,capacity=capacity,min_after_deque=min_after_deque)
  14.  
  15. return example_batch
  16.  
  17. x_batch = input_pipeline(['stat.tfrecord'],batch_size=20)
  18. sess = tf.Session()
  19. init_op = tf.group(tf.global_variables_initializer(),tf.local_variables_initializer())
  20.  
  21. sess.run(init_op)
  22. coord = tf.train.Coordinator()
  23. threads = tf.train.start_queue_runners(sess=sess,coord=coord)
  24. try:
  25. for _ in range(1000):
  26. if not coord.should_stop():
  27. sess.run(train_op)
  28. print(example)
  29. except:
  30. print('catch exception')
  31. finally:
  32. coord.request_stop()
  33. coord.join(threads)
  34. sess.close()

2.模型参数

模型参数指的是模型的权重值和偏置值,使用tf.Variable创建模型参数

  1. W = tf.Variable(0.0,name='W')
  2. double = tf.multiply(2.0,W)
  3. with tf.Session() as sess:
  4. sess.run(tf.global_variables_initializer())
  5. for i in range(4):
  6. sess.run(tf.assign_add(W,1.0))
  7. print(sess.run(W))

3.保持和恢复模型参数

tf.train.Saver是辅助训练工具类,它实现了存储模型参数的变量和checkpoint文件间的读写操作。

  1. W = tf.Variable(0.0,name='W')
  2. double = tf.multiply(2.0,W)
  3.  
  4. saver = tf.train.Saver({'weights':W})
  5.  
  6. with tf.Session() as sess:
  7. sess.run(tf.global_variables_initializer())
  8. for i in range(4):
  9. sess.run(tf.assign_add(W,1.0))
  10. print(sess.run(W))
  11. saver.save(sess,'/tmp/text/ckpt')

tensorflow(四)的更多相关文章

  1. 【转】TensorFlow四种Cross Entropy算法实现和应用

    http://www.jianshu.com/p/75f7e60dae95 作者:陈迪豪 来源:CSDNhttp://dataunion.org/26447.html 交叉熵介绍 交叉熵(Cross ...

  2. TensorFlow(四):手写数字识别

    一:数据集 采用MNIST数据集:-->官网 数据集被分成两部分:60000行的训练数据集和10000行的测试数据集. 其中每一张图片包含28*28个像素,我们把这个数组展开成一个向量,长度为2 ...

  3. TensorFlow 安装详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 『不要把手段当成目标 — <一个瑜伽行者的自传>』   本文提纲 1. 机器学习 2 ...

  4. TensorFlow安装-Windows

    参考:https://blog.csdn.net/dou3516/article/details/77836459 一.安装环境 TensorFlow即可以支持CPU,也可以支持CPU+GPU.前者的 ...

  5. 手把手教你如何安装Tensorflow(Windows和Linux两种版本)

    tensorflow 不支持Python2.7,最好选择下载Python3.5 现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通 ...

  6. Tensorflow从0到1(一)之如何安装Tensorflow(Windows和Linux两种版本)

    现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通过这篇文章来简单介绍一下,关于如何搭建Tensorflow以及如何进行使用.建议 ...

  7. 服务器创建tensorflow环境,nni自动调参记录

    一.anaconda安装记录 1.1 下载安装脚本:wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh 1.2 ...

  8. [白话解析] 带你一起梳理Word2vec相关概念

    [白话解析] 带你一起梳理Word2vec相关概念 0x00 摘要 本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来说,运用感性直觉的思考来帮大家梳理Word2vec相关概念. 0 ...

  9. tensorflow笔记(四)之MNIST手写识别系列一

    tensorflow笔记(四)之MNIST手写识别系列一 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7436310.html ...

随机推荐

  1. javascript面向对象编程的3种常见封装形式解析

    javascript如何才能脱离函数式编程,拥抱面向对象编程呢,常见的有3种形式,其它形式可以说都是这3种的变种.   1.直接定义对象直接量的形式   var Util={     getType: ...

  2. 如何搞定Critical Thinking写作?

    受中国传统教育模式与国外一流大学之间的差异的影响,在海外留学的学子们常常会在新的学习生活中面临许多难题,Critical Thinking就是其中之一.国内的教育方法常常以灌输式的教育模式为主,忽略了 ...

  3. 服务器io资源查看

    资源查看命令安装 yum provides /usr/bin/find #查看命令是哪个软件包安装的 执行 yum provides */netstat 命令就可以看到提供命令的工具包net-tool ...

  4. 51Nod大数加法(两个数正负都可)

    很多大数的问题都运用模拟的思想,但是这个说一样也一样,但是难度较大,很麻烦,我自己谢写了100多行的代码,感觉很对,但就是WA.其实个人感觉C和C++没有大数类,是对人思想和算法的考验,但是有时候做不 ...

  5. HTML5中的行级标签和块级标签

    行级标签 1.行级标签又称为内联标签,行级标签不会单独占据一行,设置宽高无效. 2.行内内部可以容纳其他行内元素,但不可以容纳块元素.有span.strong.em.b.i.input.a.img.u ...

  6. hdu1312题解

    这道题从名称来看看不出什么. 所以我们先读一下题干 There is a rectangular room, covered with square tiles. Each tile is color ...

  7. centos7-vsftp(虚拟用户)

    要求如下: 1.所有用户主目录为/var/www宿主为virtual用户: 2.ftpuser1用户只能下载不能上传以及删除文件重命名操作: 3.ftpuser2可以下载与上传文件以及删除重命名操作: ...

  8. 吴裕雄--天生自然 JAVASCRIPT开发学习:RegExp 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Cobub无码埋点关键技术的实现

    随着大数据时代的到来,数据采集也已经变的越来越重要.前端埋点作为一个比较成熟的数据接入手段被广泛应用着.目前埋点分为两种方式,有码与无码埋点.有码埋点比较容易理解,即调用SDK的API,在代码中插入埋 ...

  10. 和我一起从0学算法(C语言版)(四)

    第三章 搜索 深度优先搜索与宽度优先搜索 定义 深度优先搜索(DFS) 过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 宽度优先搜索(BFS) 不考虑结果的可能位 ...