卷积神经网络(CNN)mnist手写字python源代码详解_卷积神经网络识别x的源代码-程序员宅基地

技术标签: python  

首先介绍下卷积神经网络
在这里插入图片描述
输入层我就不讲了,我主要根据代码讲下卷积层,池化层,全连接层。
(一)
卷积层

'''
-1代表着矩阵行不确定我这里用n表示,[-1,28,28,1]的意思是n行28列,
它的子元素是一个28行1列的矩阵,例如
[[[[1]], [[1]], [[1]], [[1]]],
 [[[1]], [[1]], [[1]], [[1]]]]
可以表示为【2,4,1,1】它的子元素[[1]]为1行1列。在这里这个1也可以理解为通道数为1
'''
x_image = tf.reshape(x, [-1, 28, 28, 1])
'''
w_conv1代表着filter【5,5】为卷积核大小,1为通道数,32为卷积核的个数,卷积核个
数的选取需要凭经验,也许有大神知道一定的规律,这里我讲一下卷积核的通道数为什么需
要和输入的通道数一样,其实原理很简单,我们需要x_image和w_conv1相乘,也就需要它们两
个的子元素相乘,上边已经说过x_image的子元素为【28,1】,要想两者相乘,则w_conv1
子元素必须为【1,n]

'''
w_conv1 = weight_variable([5, 5, 1, 32])

卷积的计算包括两部分,输入和filter
卷积的计算(注意,下面蓝色矩阵周围有一圈灰色的框,那些就是上面所说到的填充值)
在这里插入图片描述
蓝色的矩阵(输入图像)对粉色的矩阵(filter)进行矩阵内积计算并将三个内积运算的结果与偏置值b相加(比如上面图的计算:2+(-2+1-2)+(1-2-2) + 1= 2 - 3 - 3 + 1 = -3),计算后的值就是绿框矩阵的一个元素。下面的动态图形象地展示了卷积层的计算过程:

在这里插入图片描述
代码中我们需要定义一个方法,来实现卷积

def conv2d(x, w):
    b = tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')
    return b

这里有 tf.nn.conv2d函数的介绍,https://www.cnblogs.com/qggg/p/6832342.html
我主要介绍下padding(卷积层的) = 'SAME’和padding(卷积层的) = 'VALUE’的区别
之前在

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43043256/article/details/89305669

智能推荐

fw_setenv的配置及使用-程序员宅基地

文章浏览阅读4.7k次。fw_setenv即常说的fw_printenv.1.1 fw_setenv编译进入uboot/tools/env目录下,确保有env相关的文件,如下图所示:root@ubuntu:/uboot/tools/env# lscrc32.c embedded.c env_flags.c fw_env.config fw_env_main.c linux_string.c READMEctype.c env_attr.c fw_env.c fw_env.h ._fw_setenv

js中几种获得页面值的方式_js获取页面的值-程序员宅基地

文章浏览阅读2.4w次。JS中获取页面中的值的几种方式:document.getElementById("id").value;//根据 Id获得对象中的值document.getElementByName("name")[0].value;//根据name获得对象中的值document.getElementsByTagName("input")取得所有input对象后过滤,也可以通过其它一些浏览器特_js获取页面的值

共享汽车软件哪个比较好用?只有这3款不需要押金!_gofun哪个车型最好开-程序员宅基地

文章浏览阅读603次。共享汽车软件哪个比较好用?随着人工智能的发展,消费不断升级,人们对生活水平的诉求越来越高,汽车出行成为一个必需品,但是一辆车除了需要花费一大笔钱之外,汽车的保养、修理、油费也是花费很大的项目,对一个普通家庭来说,这是一笔很大的开支。同时,不少人买了车之后需求不大,但有时候却又有用车的需求,那么,共享汽车则成为了最好的选择之一。伴随着共享模式的深入,共享汽车逐渐走入大众的视野。各种共享汽车如雨后春笋般涌现,但是质量、费用、舒适度不一,小编为了提供更好的建议,特体验了三款北京市面上比较火爆的新能源共享汽车。g_gofun哪个车型最好开

JVM哪些内存需要回收?_jvm堆内存中的哪些对象是需要回收的-程序员宅基地

文章浏览阅读917次。哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1;当引用失效时,计数器值-1。任何时刻计数值为0的对象就是不可能再被使用的。这种算法使用场景很多,但是,Java中却没有使用这种算法,因为这种算法很难解决对象之间相互..._jvm堆内存中的哪些对象是需要回收的

LaTeX段落缩进简介_latex \section后自动缩进-程序员宅基地

文章浏览阅读7k次,点赞6次,收藏17次。首先,以下面示例开始。\documentclass[12pt]{article}% \usepackage{indentfirst} \begin{document}\section{Paragraph Indentation 1}LaTeX is a high-quality typesetting system; it includes features designed for ..._latex \section后自动缩进

智能计算模拟: DFT+MD+ML 深度融合及科研实践-程序员宅基地

文章浏览阅读765次,点赞19次,收藏5次。第一性原理、分子动力学与机器学习三者的交汇融合已在相关研究领域展现强劲的研究热潮。借助第一性原理计算揭示材料内在的量子特性,并结合分子动力学模拟探究材料在实际环境下的动态行为;运用机器学习算法与上述方法结合,开发高性能预测模型与模拟工具,能有效缩短研发周期,降低计算成本,实现对新型化合物性质的高精度预测。“ 第一性原理+ 分子动力学+ 机器学习”三位一体的综合手段 ,已经成为模拟计算的一个前沿方向,为解决传统计算化学方法面临的挑战提供了新的解决方案。

随便推点

为什么大学生学点Python容易拿高薪?-程序员宅基地

文章浏览阅读23次。前段时间,何同学采访苹果CEO库克的视频上了热搜。作为B站顶流、知名月更博主、现实版江直树,年仅22岁的他,共发布40个视频,累计播放已超过1.7亿次,全网粉丝超过600万。人家的22岁成了史上最年轻采访过库克的人,而我的22岁还摊在宿舍床上睡懒觉…何同学说自己做视频内容的时候,看着一个个同学都在准备考研、留学、工作,投入主流赛道竞争。他也曾对自己的决定抱有深深的担心。但还好,何同学说自己真是太喜欢做视频了,压根舍不得放弃!

RAC 数据库的全库恢复_rac db restore-程序员宅基地

文章浏览阅读810次。RMAN 下的RAC数据库的恢复测试RDBMS 11.2.0.4 。 节点 host02,host03,对应的instance分别是racdb2,racdb3. 1 创建测试用的表,以验证恢复前后数据一样SYS@racdb3>create table test20180414 (id date);Table created.SYS@racdb3>alter session se..._rac db restore

#千锋逆战班 Java_千峰java逆战1-程序员宅基地

文章浏览阅读87次。生活中处处充满着温情,只要我们有一双善于发现的明亮的眼睛。异常复习:<1>public static void main(String[] args) { Student stu = new Student(); try { stu.setAge(250);//是可能出现异常的代码 }catch(Exception e) { System.err.prin..._千峰java逆战1

【UE C++】延迟执行方法 (Delay/异步执行)_ue5 c++ 延迟-程序员宅基地

文章浏览阅读904次,点赞4次,收藏3次。【UE C++】延迟执行方法 (Delay/异步执行)_ue5 c++ 延迟

linux配置部署elasticsearch集群(虚拟机、docker)_groupadd elastic && useradd elastic -g elastic -p -程序员宅基地

文章浏览阅读4.5k次。ES集群搭建一、环境准备JDK 配置。 略 2. elasticsearch7.X开始需要java11,通常我们用jdk1.8作为共有环境变量,我们可以不安装 jdk11版本 。但启动会报错,因为与现有环境变量冲突。敲黑板:es安装包包含一个相匹配的 JAVA 版本,只需修改配置文件。修改启动脚本/bin/elasticsearch使用自带jdk。亲测不好使没找到原因,启动总是提示找不到JAVA_HOME。所以自己下了一个jdk11。修改/bin/elasticse..._groupadd elastic && useradd elastic -g elastic -p elasticsearch

Nginx漏洞修复_检测到目标主机可能存在缓慢的http拒绝服务攻击-程序员宅基地

文章浏览阅读1.4k次,点赞8次,收藏8次。在Nginx的配置文件中的 server 标签内增加一下配置。去掉在请求响应头中存在的信息。Server: nginx X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1;mode=block_检测到目标主机可能存在缓慢的http拒绝服务攻击