深度学习从入门到放弃之3---数据篇(队列的保存及读取)

深度学习从入门到放弃之3---数据篇(数据的保存及读取)

数据的保存

在将一个神经网络训练好以后,需要将其中的权重、偏值保存下来,从而在下一次使用神经网络时不必训练便可以直接加载参数使用,下面是一个以数据保存和提取为主的程序(这里要注意的是,保存数据仅保存权重和变量,并不保存框架)保存数据的作用是保存权重可以方便模型下一次计算:

import tensorflow as tf
Weights = tf.Variable([[1,2,3],[3,4,5]],dtype=tf.float32,name="Weights")
baises = tf.Variable([[1,32,3]],dtype=tf.float32,name="baises")
saver = tf.train.Saver()#保存数据和提取数据都需要先创建一个对象,才能使用
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    save_path = saver.save(sess, "C:/Users/52566/.jupyter/saver_1")#这里斜杠的方向不能反,否则会报错
save_path = saver.save(sess, "C:/Users/52566/.jupyter/saver_1")
save_path: C:/Users/52566/.jupyter/saver_1这是存储路径

在这里插入图片描述

数据的读取

Tensorflow支持多种数据的读取方式,最简单的数据输入和读取方式就是对常量的读取,使用placeholder(我会在其他的笔记中介绍该函数,这其实是一个占位符)。但是这种数据读取方式需要手动传递array类型的数据。之后利用feed函数自动在内部构建出一个迭代器对数据进行迭代。

本笔记介绍通过队列的形式对数据进行读取的方式。这种数据的读取方式节省了大量的冗余操作,数据的读取只需要和队列打交道,而不需要和数据底层的读取方式以及数据的类型打交道。从而可以避免数据的预处理等一些耗费大量时间的工作。

通过FIFOQeue函数,首先创建一个先进先出的有序队列,主要用于对数据输入顺序有要求的神经网络模型,例如时序分析等。另外一种队列的创建方法是RandomShuffleQueue函数,用于无序的读取和输出书籍样本。

在这里插入图片描述

总结

队列中的数据读取如下:
1,从磁盘读取数据的名称与路径;
2,将文件名依次插入队尾;
3,从队列头部读取文件名并读取数据;
4,Decoder将读取的数据解码;
5,将数据输入样本队列供后续处理使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三景页三景页

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值