卷积神经网络快速入门【基于TensorFlow】
一.概述
卷积神经网络【Convolutional neural networks】里面最重要的构建单元是卷积层。神经元在第一个卷积层不是连接输入图片的每一个像素,只是连接它们感受野1的像素,以此类推,第二个卷积层的每一个神经元仅连接位于第一个卷积层的一个小方格的神经元。
感受野
卷积层
由此牵扯出感受野的定义,感受野是指在视通路2上各层次的神经细胞,有简单到复杂,它们所处理的信息,分别对应于视网膜上的一个局部区域,层次越深入,该区域就越大。卷积神经网络就是模仿生理学视觉的这个特点,通过多层卷积层,逐步深入。具体细节请看上图!
对于什么是视通路,生理学上讲指的是物体在可见光的照射下经眼睛的光学系统在眼底视网膜上形成物像,视网膜上的感光细胞又将视网膜上接收的光能转换为神经冲动,经过视交叉部分地交换神经纤维后,形成视束,传到中枢神经系统,包括丘脑的外膝体,上丘和视皮层。经过这个流程,人就能看见物体,这整个流程就是视通路。具体细节请看上图!
因此,整个卷积神经网络就是模仿眼睛的机理,通过逐层处理,提取特征,最后形成对物体整体的描述。
二.代码实现
1 # -*- coding: utf-8 -*-
2 """
3 Created on Wed Nov 7 15:45:53 2018
4 @author: zhen
5 """
6
7 import numpy as np
8 from sklearn.datasets import load_sample_images
9 import tensorflow as tf
10 import matplotlib.pyplot as plt
11
12 # 加载数据集
13 dataset = np.array(load_sample_images().images, dtype=np.float32)
14 batch_size, height, width, channels = dataset.shape
15
16 filters_test = np.zeros(shape=(7, 7, channels, 2), dtype=np.float32)
17 filters_test[:, 3, :, 0] = 1 # 垂直
18 filters_test[3, :, :, 1] = 1 # 水平
19
20 x = tf.placeholder(tf.float32, shape=(None, height, width, channels))
21 # 卷积
22 convolution = tf.nn.conv2d(x, filter=filters_test, strides=[1, 2, 2, 1], padding='SAME')
23 # pooling
24 max_pool = tf.nn.max_pool(x, ksize=[1, 4, 4, 1], strides=[1, 4, 4, 1], padding='VALID')
25
26 with tf.Session() as sess:
27 convolution_output = sess.run(convolution, feed_dict={x:dataset})
28 max_pool_output = sess.run(max_pool, feed_dict={x:dataset})
29
30 plt.imshow(convolution_output[0, :, :, 0]) # 绘制特征图
31 plt.show()
32 plt.imshow(max_pool_output[0].astype(np.uint8)) # 绘制特征图
33 plt.show()
三.执行结果
卷积神经网络快速入门【基于TensorFlow】的更多相关文章
- keras搭建神经网络快速入门笔记
之前学习了tensorflow2.0的小伙伴可能会遇到一些问题,就是在读论文中的代码和一些实战项目往往使用keras+tensorflow1.0搭建, 所以本次和大家一起分享keras如何搭建神经网络 ...
- 卷积神经网络详细讲解 及 Tensorflow实现
[附上个人git完整代码地址:https://github.com/Liuyubao/Tensorflow-CNN] [如有疑问,更进一步交流请留言或联系微信:523331232] Reference ...
- 卷积神经网络CNN原理以及TensorFlow实现
在知乎上看到一段介绍卷积神经网络的文章,感觉讲的特别直观明了,我整理了一下.首先介绍原理部分. [透析] 卷积神经网络CNN究竟是怎样一步一步工作的? 通过一个图像分类问题介绍卷积神经网络是如何工作的 ...
- 图卷积神经网络(GCN)入门
图卷积网络Graph Convolutional Nueral Network,简称GCN,最近两年大热,取得不少进展.不得不专门为GCN开一个新篇章,表示其重要程度.本文结合大量参考文献,从理论到实 ...
- CNN(卷积神经网络)入门
参考博文: 深度学习基础--卷积--1*1的卷积核与全连接的区别:https://blog.csdn.net/wydbyxr/article/details/84061410 如何理解卷积神经网络中的 ...
- axis1.4开发webservice客户端(快速入门)-基于jdk1.4
写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...
- axis1.4开发webservice服务端(快速入门)-基于jdk1.4
写在前面: 现在有很多开发webservice的方法以及框架,什么cxf等,但是这些在你编写服务类的时候都要用到注解这个功能.如果现在的jdk是1.4的,那么就不能使用注解这个功能了.所以这里可以用到 ...
- vuex 快速入门( 基于vue2.0,vue1.0未知可否)
1.原理概述 2.用户登录例子解析: 由上图可以看到: 1.组件的数据是username,我们把它以name放在state中: 2.更改name发生在mutations的回调里,事件名字是showUs ...
- TensorFlow实战第八课(卷积神经网络CNN)
首先我们来简单的了解一下什么是卷积神经网路(Convolutional Neural Network) 卷积神经网络是近些年逐步兴起的一种人工神经网络结构, 因为利用卷积神经网络在图像和语音识别方面能 ...
随机推荐
- windows10 dos窗口输出卡住
https://blog.csdn.net/u013866090/article/details/82790864 原本每间隔一秒就会输出一次数据,但是当鼠标点击窗口的其他区域后输出就停止了,在点击键 ...
- django -xadmin 详解 功能实现及orm 的复习
django 在xadmin中自定义内容的变量及优化汇总 一: 首先下载xadmin pip install git+git://github.com/sshwsfc/xadmin.git@djang ...
- libmysqlclient.so.18 not found 的解决方法
现象:在银河麒麟下,安装了mysql,并且mysql服务正常运行,但是Qt访问mysql还是报Driver not loaded,ldd Qt自己的mysql驱动报错如标题所示.路径: 解释:很明显就 ...
- 【449】Win10 蓝牙耳机链接没有声音
Exhausting,当电脑出现问题的时候!!! 问题描述:蓝牙耳机连接上了电脑,但是通过右下角声音按钮无法选择蓝牙耳机的选项??? 解决方案:在声音按钮处点击右键,选择最下面的菜单“troubles ...
- 查询、下载GWAS目录数据的R包(gwasrapidd)
目前GWAS方向发了很多文献,但是并没有一个很完善的R包对这些文献的数据进行汇总. 接下来推荐的这个是最新发表的GWAS数据汇总R包.看了一下功能齐全,但是数据不是收录的很齐全. 下面具体讲一下. ...
- datatables:initComplete和drawCallback比较
drawCallback: 对表的每个绘制事件执行操作非常有用 - 例如,您可能希望使用新显示的数据更新外部控件,或者启用服务器端处理,您可能希望将事件分配给新创建的元素.此回调旨在实现此目的,并将在 ...
- Appium查询元素方法
Appium查询元素有两种方式 一种是使用UI Automator: 参考 https://www.cnblogs.com/gongxr/p/10906736.html 另一种是使用appium的In ...
- python:校验邮箱格式
# coding:utf-8 import re def validateEmail(email): if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\ ...
- Office Online Server2016搭建与部署(在线编辑)
至少需要两台服务器,一台域控制器,一台部署Office Online Server https://docs.microsoft.com/zh-cn/officeonlineserver/office ...
- H5混合开发中android终端和ios终端常见的兼容问题2
转自 https://www.cnblogs.com/stoneniqiu/p/6077112.html 1.ios键盘挡住输入框. setInterval(function () { if (doc ...