深度学习与神经网络:调用数据集,完成应用(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,使用模型进行识别:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏debugeeker的专栏

《coredump问题原理探究》windows版9.2节dll hell导致的虚函数偏移

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

821
来自专栏xingoo, 一个梦想做发明家的程序员

汇编语言 手记4

简单的汇编指令 ? CPU执行后,寄存器中的数据改变为如下: ? CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。 ...

1935
来自专栏Python小屋

使用Python模拟伪随机数生成原理

伪随机数生成有很多种方法,其中一个是这样的:rNew = (a*rOld + b) % (end-start),然后设置rOld = rNew,一般要求用户指定...

2835
来自专栏搞前端的李蚊子

echarts柱状图标签显示不完全的问题

echarts 柱状图当x轴标签数目超过一定数目时在小尺寸设备上第一个和最后一个标签不显示(不是重叠),axisLabel设置interval:0也不起作用; ...

3833
来自专栏小L的魔法馆

C++定义一个简单的Computer类

4996
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版6.3节虚函数

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

861
来自专栏一场梦

PHP网址缩短算法代码(修复PHP7.0问题)

2083
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版6.5节多继承

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

881
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版5.2节数组

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

1033
来自专栏Android点滴积累

Android高效内存1:一张图片占用多少内存

  在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用...

2286

扫码关注云+社区

领取腾讯云代金券