1.知识点 """ 基础知识: 1.神经网络(neural networks)的基本组成包括输入层.隐藏层.输出层.而卷积神经网络的特点在于隐藏层分为卷积层和池化层(pooling layer,又叫下采样层) 2.卷积层:通过在原始图像上平移来提取特征,每一个特征就是一个特征映射 a)提取特征:定义一个过滤器(也称观察窗口,奇数大小,值为权重)大小,步长 b)移动越过图片: 1.VALID:不越过,直接停止观察(一般不用) 2.SAME:直接越过,则对图像零填充(paddin…
边学习边笔记 https://www.cnblogs.com/felixwang2/p/9190602.html # https://www.cnblogs.com/felixwang2/p/9190602.html # TensorFlow(十):卷积神经网络实现手写数字识别以及可视化 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.rea…
import os import numpy as np import matplotlib.pyplot as plt from PIL import Image, ImageChops from skimage import color,data,transform,io #获取所有数据文件夹名称 fileList = os.listdir("F:\\data\\flowers") trainDataList = [] trianLabel = [] testDataList =…
博主原文链接:用TensorFlow教你做手写字识别(准确率94.09%) 如需转载,请备注出处及链接,谢谢. 2012 年,Alex Krizhevsky, Geoff Hinton, and Ilya Sutskever 赢得 ImageNet 挑战赛冠军,基于CNN的图像识别开始受到普遍关注,CNN 成为了图像分类的黄金标准,自那以后,科学界掀开了基于深度神经网络对图像识别的大探索,现如今,深度学习对图像的识别能力已经超出了人眼的辨别能力.本公众号的图像识别系列将循序渐进,层层深入的带领读…
Tensorflow卷积神经网络 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Tensorflow官方提供的示例. 关于神经网络与误差反向传播的原理可以参考作者的另一篇博文BP神经网络与Python实现. 工作原理 卷积是图像处理中一种基本方法. 卷积核是一个nxn的矩阵通常n取奇数, 这样矩阵就有了中心点和半径的概念. 对图像中每个点取以其为中心的n阶方阵, 将该方阵与卷积核中…
1. Tensorflow 逻辑回归实现手写识别 1.1. 逻辑回归原理 1.1.1. 逻辑回归 1.1.2. 损失函数 1.2. 实例:手写识别系统 1.1. 逻辑回归原理 1.1.1. 逻辑回归 在现实生活中,我们遇到的数据大多数都是非线性的,因此我们不能用上一章线性回归的方法来进行数据拟合.但是我们仍然可以从线性模型着手开始第一步,首先对输入的数据进行加权求和. 线性模型: \[z=w{x}+b\] 其中w我们称为"权重",b为偏置量(bias),\({x}\)为输入的样本数据,…
1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数说明:pool_h1表示输入数据,4表示使用前后几层进行归一化操作,bias表示偏移量,alpha和beta表示系数 局部响应的公式 针对上述公式,做了一个试验代码: # 自己编写的代码, 对x的[1, 1, 1, 1]进行局部响应归一化操作,最后结果是相同的x = np.array([i for…
神经网络和深度学习目前为处理图像识别的许多问题提供了最佳解决方案,而基于MTCNN(多任务级联卷积神经网络)的人脸检测算法也解决了传统算法对环境要求高.人脸要求高.检测耗时高的弊端. 基于MTCNN多任务级联卷积神经网络进行的人脸识别—— MTCNN主要包括三个部分,PNet,RNet,ONet 测试阶段大概过程 首先图像经过金字塔,生成多个尺度的图像,然后输入PNet. PNet由于尺寸很小,所以可以很快的选出候选区域,但是准确率不高,然后采用NMS算法,合并候选框,然后根据候选框提取图像.…
import pandas as pd import numpy as np import matplotlib.pyplot as plt import os from sklearn.neighbors import KNeighborsClassifier def build_data(dir_name): """ 构建数据 :param dir_name: 指定传入文件夹名称 :return: 构建好的数据 """ # 获取文件名列表 f…
原文:Hands-On Convolutional Neural Networks with TensorFlow 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 TensorFlow 卷积神经网络实用指南 零.前言 一.TensorFlow 的设置和介绍 二.深度学习和卷积神经网络 三.TensorFlow 中…
1.知识点 """ 1.基础知识: 1.神经网络结构:1.输入层 2.隐含层 3.全连接层(类别个数=全连接层神经元个数)+softmax函数 4.输出层 2.逻辑回归:只能解决二分类问题 3.线性回归:只能用于预测 4.softmax:有多少类别,就会有多少个输出 5.信息熵:信息熵越大,不确定性越大,信息熵越小,则不确定小,属于的类别也更加清晰 6.softmax公式: Si = e^i / (e^1+....+e^j) ,用于计算概率值. 特点:所有类别概率值相加等于1…
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 手写数字识别 接下来将会以 MNIST 数据集为例,使用卷积层和池化层,实现一个卷积神经网络来进行手写数字识别,并输出卷积和池化效果. 数据准备 MNIST 数据集下载 MNIST 数据集可以从 THE MNIST DATABASE of handwritten digits 的网站直接下载. 网址:http://yann.lecun.com/exdb/mnist…
原网址:https://data-flair.training/blogs/cnn-tensorflow-cifar-10/ by DataFlair Team · Published May 21, 2018 · Updated September 15, 2018 1.目标-TensorFlow CNN 卷积神经网络 在之前的TensorFlow教程中,我们讨论了使用TensorFlow进行手写识别.今天我们讲学习怎样使用TensorFlow创建一个卷积神经网络关于CIFAR 10的分类模型…
1. 知识点准备 在了解 CNN 网络神经之前有两个概念要理解,第一是二维图像上卷积的概念,第二是 pooling 的概念. a. 卷积 关于卷积的概念和细节可以参考这里,卷积运算有两个非常重要特性,以下面这个一维的卷积为例子: 第一个特性是稀疏连接.可以看到, layer m 上的每一个节点都只与 layer m-1 对应区域的三个节点相连接.这个局部范围也叫感受野.第二个特性是相同颜色的线条代表了相同的权重,即权重共享.这样做有什么好处呢?一方面权重共享可以极大减小参数的数目,学习起来更加有…
本项目使用卷积神经网络识别字符型图片验证码,其基于 TensorFlow 框架.它封装了非常通用的校验.训练.验证.识别和调用 API,极大地减低了识别字符型验证码花费的时间和精力. 项目地址: https://github.com/nickliqian/cnn_captcha 操作系统: Ubuntu 16.04.3 LTS 环境部署遇到的问题: apt install python3-pip 遇到如下报错: Unable to fetch some archives, maybe run a…
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Tensorflow官方提供的示例. 关于神经网络与误差反向传播的原理可以参考作者的另一篇博文BP神经网络与Python实现. 工作原理 卷积是图像处理中一种基本方法. 卷积核是一个nxn的矩阵通常n取奇数, 这样矩阵就有了中心点和半径的概念. 对图像中每个点取以其为中心的n阶方阵, 将该方阵与卷积核中对应位置的值相乘, 并用它们的和作…
前面我们曾有篇文章中提到过关于用tensorflow训练手写2828像素点的数字的识别,在那篇文章中我们把手写数字图像直接碾压成了一个784列的数据进行识别,但实际上,这个图像是2828长宽结构的,我们这次使用CNN卷积神经网络来进行识别. 卷积神经网络我的理解是部分模仿了人眼的功能. 我们在看一个图像时不是一个像素点一个像素点去分辨的,我们的眼睛天然地具有大局观,我们看到某个图像时自动地会把其中的细节部分给聚合起来进行识别,相反,如果我们用个放大镜看到其中的各个像素点时反而不知道这是啥东西了.…
Tensorflow是当下AI热潮下,最为受欢迎的开源框架.无论是从Github上的fork数量还是star数量,还是从支持的语音,开发资料,社区活跃度等多方面,他当之为superstar. 在前面介绍了如何搭建Tensorflow的运行环境后(包括CPU和GPU的),今天就从MNIST手写识别的源码上分析一下,tensorflow的工作原理,重点是介绍CNN的一些基本理论,作为扫盲入门,也作为自己的handbook吧. Architecture 首先,简单的说下,tensorflow的基本架构…
上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是google开源出来的人工智能库,由python语言写的 官网地址:http://www.tensorflow.org/   请用科学上网访问 中文地址:http://www.tensorfly.cn/ 当然还有其他AI库,不过大多数都是由python 写的 .net 的AI库叫 Accord.net…
1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, strides表示步长,分别表示为样本数,长,宽,通道数,padding表示补零操作 2. tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')  # 对数据进行池化操作 参数说明:x表示输入数据,ksize表示卷…
一.前言 计算机视觉长久以来没有大的突破,卷积神经网络的出现,给这一领域带来了突破,本篇博客,将通过具体的实例来看看卷积神经网络在图像识别上的应用. 导读 1.问题描述 2.解决问题的思路 3.用DL4J进行实现 二.问题 有如下一组验证码的图片,图片大小为60*160,验证码由5个数字组成,数字的范围为0到9,并且每个验证码图片上都加上了干扰背景,图片的文件名,表示验证码上的数字,样本图片如下: 穷举每张图片的可能性几乎不可能,所以传统的程序思路不可能解这个问题,那么必须让计算机通过自我学习,…
使用tensorflow构造神经网络用来进行mnist数据集的分类 相比与上一节讲到的逻辑回归,神经网络比逻辑回归多了隐藏层,同时在每一个线性变化后添加了relu作为激活函数, 神经网络使用的损失值为softmax概率损失值,即为交叉熵损失值 代码:使用的是mnist数据集作为分类的测试数据,数据的维度为50000*784 第一步:载入mnist数据集 第二步:超参数的设置,输入图片的大小,分类的类别数,迭代的次数,每一个batch的大小 第三步:使用tf.placeholder() 进行输入数…
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import os %matplotlib inline import matplotlib.pyplot as plt mnist = input_data.read_data_sets('MNIST_data', one_hot=True) class ConvModel(object):…
上代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data',one_hot=True) #每个批次的大小 batch_size = 100 #计算一共有多少个批次 n_batch = mnist.train.num_examples // batch_size #参数概要 def vari…
import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 OUTPUT_NODE = 10 LAYER1_NODE = 500 def get_weight_variable(shape, regularizer): weights = tf.get_variable("weights", shape, initializer…
这篇文章中,我们将使用CNN构建一个Tensorflow.js模型来分辨手写的数字.首先,我们通过使之“查看”数以千计的数字图片以及他们对应的标识来训练分辨器.然后我们再通过此模型从未“见到”过的测试数据评估这个分辨器的精确度. 一.运行代码 这篇文章的全部代码可以在仓库TensorFlow.js examples中的tfjs-examples/mnist 下找到,你可以通过下面的方式clone下来然后运行这个demo: $ git clone https://github.com/tensor…
# -*- coding: utf-8 -*- import numpy as np np.random.seed(1337) #for reproducibility再现性 from keras.datasets import mnist from keras.utils import np_utils from keras.models import Sequential#按层 from keras.layers import Dense, Activation,Convolution2D,…
# -*- coding:utf-8 -*- import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import os import argparse import sys DATA_DIR = os.path.join('.', 'mnist_link') # ======================================= # COMMON OPERATIONS #…
#-*- coding:utf- -*- import time import keras import skimage import numpy as np import tensorflow as tf import matplotlib.image as img from scipy import ndimage from skimage import color, data, transform %matplotlib inline #设置文件目录 Training = r'F:\\da…
莫烦视频网址 这个代码实现了预测和可视化 import os # third-party library import torch import torch.nn as nn import torch.utils.data as Data import torchvision import matplotlib.pyplot as plt # torch.manual_seed() # reproducible # Hyper Parameters EPOCH = # train the tra…