深度学习入门笔记系列 ( 八 ) ——基于 tensorflow 的手写数字的识别(进阶)

简介: 基于 tensorflow 的手写数字的识别(进阶) 本系列将分为 8 篇 。本次为第 8 篇 ,基于 tensorflow ,利用卷积神经网络 CNN 进行手写数字识别 。 1.引言 关于 mnist 数据集的介绍和卷积神经网络的笔记在本系列文章中已有过介绍 ,有需要可见下述两篇文章 。

基于 tensorflow 的手写数字的识别(进阶)

本系列将分为 8 篇 。本次为第 8 篇 ,基于 tensorflow ,利用卷积神经网络 CNN 进行手写数字识别 。

1.引言

关于 mnist 数据集的介绍和卷积神经网络的笔记在本系列文章中已有过介绍 ,有需要可见下述两篇文章 。本系列第 5 篇曾实现利用最简单的 BP 神经网络进行手写数字识别 。本系列第 6 篇简单介绍了下卷积神经网络的知识 。

基于 tensorflow 的手写数字识别

卷积神经网络(CNN)学习笔记

2.设计的 CNN 结构

本系列第 4 讲讲过实战可以大致分为 "三步走"

 ●   定义神经网络的结构和前向传播的输出结果
 ●   定义损失函数以及选择反向传播优化的算法
 ●   生成会话(tf.Session) 并在训练数据上反复运行反向传播优化算法

这里也一样 ,当然首先是设计我们针对此实战的卷积神经网络 ,设计一个最简单的如下手绘 (还是那句话 ,字丑人帅 ,拒绝反驳)

7ab29816819a05aa115819c4d46ad607ebf46209

上图得到两次卷积池化结果后 ,将结果展平为 1 维向量 ,即1 *(7*7*64),再连接到十个节点的输出层 。

3.手动干起来 !

首先 ,需要读取 MNIST 数据集 ,利用 TF 框架自带类进行下载读取 。

bb779062cc90298ebfc533c42f4ee37a9fbb4376

接下来就是根据之前的 “三步走” 进行实践 。实现上述的网络结构 ,并依旧选择二次代价函数和梯度下降法 。

首先 ,定义两个函数 ,用于初始化参数 。再定义两个函数实现卷积核池化(只是便于模块化 ,提高可读性)。

d32b5a079f26d0b87fd0c23de7b68ea725b1d0bf

根据上述手绘结构图进行编程实现该结构 。

3f6372a06d14e13fcad7459925f188d22ad9d87c

这里有一个 dropout 操作 ,目的是训练过程中使一部分神经元参数不变 ,即不参与训练 ,相当于简化结构 ,减少过拟合 。

31a868d9635903f2f571ed9483d56ed7829a018a

再在会话 Session 中执行 ,并保存好模型参数 。

3f2ad2a2e01c64e68f250acabd297e1a99d6a001

测试结果(小詹在按时付费的某服务器跑的结果)如下图 :

b9736109d4bc835ba262e8405482334a93075cda


原文发布时间为:2018-09-14
本文作者:小詹本文来自云栖社区合作伙伴“ 小詹学Python”,了解相关信息可以关注“ 小詹学Python”。
相关文章
|
4天前
|
机器学习/深度学习 计算机视觉 异构计算
构建高效图像分类器:深度学习在视觉识别中的应用
【5月更文挑战第30天】 在计算机视觉领域,图像分类任务是基础且关键的一环。随着深度学习技术的兴起,卷积神经网络(CNN)已成为图像识别的强有力工具。本文将探讨如何构建一个高效的图像分类器,着重分析CNN架构、训练技巧以及优化策略。通过实验对比和案例研究,我们揭示了深度学习模型在处理复杂视觉数据时的优势和挑战,并提出了改进方向,以期达到更高的准确率和更快的处理速度。
|
19天前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习的最佳入门路线
深度学习的最佳入门路线
|
4天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
23 0
|
4天前
|
机器学习/深度学习 数据安全/隐私保护
深度学习在医学影像识别中的应用与挑战
传统的医学影像识别方法在面对复杂的医学图像时存在一定局限性,而深度学习技术的快速发展为医学影像识别带来了新的希望。本文探讨了深度学习在医学影像识别中的应用现状,分析了其面临的挑战,并展望了未来发展的趋势。
|
14天前
|
机器学习/深度学习 人工智能 算法
食物识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
食物识别系统采用TensorFlow的ResNet50模型,训练了包含11类食物的数据集,生成高精度H5模型。系统整合Django框架,提供网页平台,用户可上传图片进行食物识别。效果图片展示成功识别各类食物。[查看演示视频、代码及安装指南](https://www.yuque.com/ziwu/yygu3z/yhd6a7vai4o9iuys?singleDoc#)。项目利用深度学习的卷积神经网络(CNN),其局部感受野和权重共享机制适于图像识别,广泛应用于医疗图像分析等领域。示例代码展示了一个使用TensorFlow训练的简单CNN模型,用于MNIST手写数字识别。
39 3
|
16天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用TensorFlow进行深度学习入门
【5月更文挑战第18天】本文介绍了TensorFlow深度学习入门,包括TensorFlow的概述和一个简单的CNN手写数字识别例子。TensorFlow是由谷歌开发的开源机器学习框架,以其灵活性、可扩展性和高效性著称。文中展示了如何安装TensorFlow,加载MNIST数据集,构建并编译CNN模型,以及训练和评估模型。此外,还提供了预测及可视化结果的代码示例。
|
17天前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
26 0
|
19天前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch 与 Tensorflow:深度学习的主要区别(1)
Pytorch 与 Tensorflow:深度学习的主要区别(1)
30 2
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能在医疗诊断中的应用探索深度学习在图像识别中的应用
【5月更文挑战第31天】随着人工智能技术的飞速发展,其在医疗领域的应用也日益广泛。特别是在医疗诊断方面,AI技术不仅提高了诊断的准确性和效率,还为医生提供了更多的决策支持。本文将深入探讨AI在医疗诊断中的应用,包括图像识别、自然语言处理等方面,并分析其优势与挑战。 【5月更文挑战第31天】 随着人工智能技术的飞速发展,深度学习已经成为了推动计算机视觉领域进步的核心力量。本文将深入探讨深度学习技术在图像识别任务中的应用,重点分析了卷积神经网络(CNN)的基本原理、关键技术以及面临的挑战。通过精选的案例研究,我们揭示了深度学习如何改善模型的识别精度和泛化能力,同时讨论了目前该领域的开放性问题及未
|
3天前
|
机器学习/深度学习 自然语言处理 语音技术
深度学习在图像识别中的应用
本文主要探讨了深度学习技术在图像识别领域的应用。随着科技的发展,图像识别已经成为了计算机视觉领域的一个重要研究方向。深度学习作为一种强大的机器学习方法,已经在图像识别任务中取得了显著的成果。本文将详细介绍深度学习的原理、常用模型以及在图像识别中的应用案例。