深度学习与神经网络:调用数据集,完成应用(2)

在上一篇文章中,我们通过使用mnist上的图片和标签数据来去制作数据集,而今天这一篇文章我们将在反向传播过程中和测试过程中调用数据集.

一:反向传播获取文件(mnist_backward.py)

先上代码:

在这里我们看到,我们和原有的mnist_backward.py中,我们增加了44,54,64行,修改了57行的代码.这几行代码,接下来我们一起分析一下这几行代码:

1: image_batch, label_batch=mnist_generateds.get_tfrecord(BATCH_SIZE, isTrain=True)

在之前的minst_backward文件中,我们是使用mnist.train.next_bacth()这个函数来读取图片和标签来喂给神经网络的.

现在我们来使用get_tfrecord()这个函数来替换,其中的两个参数是这样,BATCH_SIZE是一次获取BATCH_SIZE数量的图片和标签,isTrain是区分测试过程和训练过程的,如果是True表示训练过程,如果是False表示的是测试过程.

2:xs,ys=sess.run([img_batch,label_batch])

之前我们是使用函数xs,ys=mnist.train.next_batch(BATCH_SIZE),这个函数是mnist已经自己封装好的格式,而现在我们使用xs,ys=sess.run([img_batch,label_batch])来批量获取图片和标签的数据.

3:多线程协调(关键)

在这样的大规模数据读取中,逐条去读肯定是效率低,如果我们可以使用多线程读取,速度可以提升很多,因此我们会使用TensorFlow中的线程协调器来进行操作.

1:开启线程协调器

coord = tf.train.Coordinator( )

threads = tf.train.start_queue_runners(sess=sess, coord=coord)

这个函数将会启动输入队列的线程,填充训练样本到队列中,以便出队操作可以 从队列中拿到样本。这种情况下最好配合使用一个 tf.train.Coordinator ,这 样可以在发生错误的情况下正确地关闭这些线程。

(sess:用于运行队列操作的会话。 默认为默认会话。 coord:可选协调器,用于协调启动的线程。)

2:关闭线程协调器

coord.request_stop( )

coord.join(threads)

直接关闭线程协调器

二:测试传播获取文件(mnist_test.py)

这里改动的为24行,33行,36行,42行,

这里的很多修改跟反向传播文件中类似,只需要参考上边的就可以理解.

现在让我们进行测试:

运行mnist_backward,训练模型

运行mnist_test,使用5000步模型测试

运行minst_app,使用模型进行识别:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

Github 项目推荐 | TensorFlow 项目模板架构最佳实践

一个简单且设计良好的架构对于任何深度学习项目来讲非常有必要,这里的 Tensorflow 项目模板经过了大量的实践,拥有简单性、良好的文件结构以及 OOP 设计...

52370
来自专栏charles的技术博客

MySQL 5.7 关闭validate_password密码策略

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

1.1K60
来自专栏深度学习思考者

机器学习特征提取 | 自动特征工程featuretools

1、什么是Featuretools? 为了能使框架普适,就像pandas用于数据准备或scikit-learn用于机器学习。 链接:https://www.fe...

39750
来自专栏祝威廉

MLSQL 对Python的支持之路

Python是做机器学习框架一定要支持的。MLSQL很早就支持集成Python脚本做模型的训练和预测。

11930
来自专栏哲学驱动设计

OpenExpressApp 框架结构(2)

    上次随便画了一篇关于GIX4项目目前的类的结构图(见:GIX4 目前大致的类结构),目的是为了更好的认识系统,并对其进行改进。发现AutoUI部分的耦合...

18790
来自专栏机器学习算法与Python学习

支持向量机Python实现(附源码与数据)

之前的文章已经将支持向量机的原理讲解的比较清楚了,今天这篇文章主要是基于Python实现支持向量机,具体的数据集和源代码如下所示(文末附有本文使用的数据集和源代...

43950
来自专栏林德熙的博客

C# 使用转换语义版本号

本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(semantic version)就是版本号带 alpha 等的版本号

12410
来自专栏hotqin888的专栏

bootstrap模态框瞬间消失解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

28220
来自专栏布尔

金格科技iMsg2000消息数据格式

本文介绍的是金格科技iweboffice2003控件前端向服务器发请求后服务器解析数据流的过程,从中也可以了解其前端对数据的封装过程,不复杂很简单,挺不错的数据...

20260
来自专栏企鹅号快讯

Bootstrap项目实训干货:设计带修改和删除的图书表格

# 一、实验目标 写一个带修改和删除的表格。页面如下: ? # 二、环境依赖 采用bootstrap框架来实现,依赖的版本为3.3.7。 我们可以直接引用cdn...

21450

扫码关注云+社区

领取腾讯云代金券