三层神经网络实现手写数字的识别(基于tensorflow)

数据集链接:https://download.csdn.net/download/fanzonghao/10598333

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("./mnist/", one_hot=True)import tensorflow as tf# Parameters
learning_rate = 0.001
training_epochs = 30
batch_size = 100
display_step = 1# Network Parameters
n_hidden_1 = 256 # 1st layer number of features
n_hidden_2 = 512 # 2nd layer number of features
n_input = 784 # MNIST data input (img shape: 28*28)
n_classes = 10 # MNIST total classes (0-9 digits)# tf Graph input
x = tf.placeholder("float", [None, n_input])
y = tf.placeholder("float", [None, n_classes])# Create model
def multilayer_perceptron(x, weights, biases):# Hidden layer with RELU activationlayer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])layer_1 = tf.nn.relu(layer_1)# Hidden layer with RELU activationlayer_2 = tf.add(tf.matmul(layer_1, weights['h2']), biases['b2'])layer_2 = tf.nn.relu(layer_2)# layer_3 = tf.add(tf.matmul(layer_2, weights['h3']), biases['b3'])# layer_3 = tf.nn.relu(layer_3)#we can add dropout layer# drop_out = tf.nn.dropout(layer_2, 0.75)# Output layer with linear activationout_layer = tf.matmul(layer_2, weights['out']) + biases['out']return out_layer# Store layers weight & biases
weights = {#you can change'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),'h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),#'h3': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),'out': tf.Variable(tf.random_normal([n_hidden_2, n_classes]))
}
biases = {'b1': tf.Variable(tf.random_normal([n_hidden_1])),'b2': tf.Variable(tf.random_normal([n_hidden_2])),#'b3': tf.Variable(tf.random_normal([n_hidden_2])),'out': tf.Variable(tf.random_normal([n_classes]))
}# Construct model
pred = multilayer_perceptron(x, weights, biases)# Define loss and optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=pred, labels=y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)# Initializing the variables
init = tf.global_variables_initializer()# Launch the graph
with tf.Session() as sess:sess.run(init)# Training cyclefor epoch in range(training_epochs):avg_cost = 0.total_batch = int(mnist.train.num_examples/batch_size)# Loop over all batchesfor i in range(total_batch):batch_x, batch_y = mnist.train.next_batch(batch_size)# Run optimization op (backprop) and cost op (to get loss value)_, c = sess.run([optimizer, cost], feed_dict={x: batch_x,y: batch_y})# Compute average lossavg_cost += c / total_batch# Display logs per epoch stepif epoch % display_step == 0:print("Epoch:", '%04d' % (epoch+1), "cost=", \"{:.9f}".format(avg_cost))print("Optimization Finished!")# Test modelcorrect_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))# Calculate accuracyaccuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))print("Accuracy:", accuracy.eval({x: mnist.test.images, y: mnist.test.labels}))

打印结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鼠标终将消失,未来我们有哪些人机交互方式?

来源:资本实验室在人类发明史上,诞生了无数的英雄。他们的发明往往从一项前沿技术到家喻户晓、无处不在,但他们自己却又鲜为人知,美国发明家道格拉斯恩格尔巴特就是其中的代表。20世纪60年代,道格拉斯恩格尔巴特发明了…

两层卷积网络实现手写数字的识别(基于tensorflow)

可和这篇文章对比:https://blog.csdn.net/fanzonghao/article/details/81603367 # coding: utf-8 # ## MNIST数据集from __future__ import division, print_function, absolute_importimport tensorflow as tf# Import MNIST data,MNIST数据集导入 fro…

光波导总结资料

1、写出光波导中的麦克斯韦方程,并把光场分解为纵向分量与横向分量,求出混合模式HE与EH模式的横向电场强度与横向磁场强度的点积(用纵向分量表示)(需要有推导过程) 解:在线性、各向同性且时不变…

德国再出颠覆性发明,这次要安排我们的快递

来源:最黑科技摘要:如果用一句话来形容德国的工业设计,我能想到的就是:“母牛坐电锯——锯牛逼",小编已经不止一次把它吹得五光十色斗转星移~但你可能不知道,这个工业强国在2013年还提出了一个著名的发…

C++中用frugally-deep调用keras的模型并进行预测

1、背景 Python语言中的Keras库搭建深度学习模型非常便捷,但有时需要在 C 中调用训练好的模型,得到测试集的结果。比如将模型部署于FPGA,中间的一个步骤则需要用C构建模型。但 Keras库没有提供 C API,其中一种解决方法是使用 Ten…

简单的线性回归实现模型的存储和读取

和这篇文章对比https://blog.csdn.net/fanzonghao/article/details/81023730 不希望重复定义图上的运算,也就是在模型恢复过程中,不想sess.run(init)首先看路径 lineRegulation_model.py定义线性回归类: import tensorflow as tf "&qu…

MIT重新发明飞机:无需燃料,每秒万米喷射带你上天 | Nature封面

来源:量子位这不是科幻小说,离子引擎飞机真的被造出来了!“曲率引擎”、“离子引擎”等等激动人心的科幻名词,正在走进现实。最近MIT又重新发明了飞机,实验成果登上了《自然》杂志封面。这架飞机翼展5米,总…

unet实现区域分割

https://github.com/zonghaofan/pig-seg/tree/master/disk_segmentation 网络架构: # coding:utf-8 import tensorflow as tf import cv2 import numpy as np import matplotlib.pyplot as pltimg cv2.imread(./data/test.png)# cv2.imshow(1.jpg,img) # cv2.wait…

数字图像处理 实验一 图像的基本运算

实验一 图像的基本运算 一、实验目的 (1)掌握点运算和代数运算的算法实现和概念 (2)掌握和几何运算的算法实现和概念 (2)掌握灰度变换和几何变换的基本方法 (3)理解图像灰度直方图的…

2018世界人工智能蓝皮书:看中国到底有多强!【附下载】| 智东西内参

来源:智东西人工智能是引领未来的战略性高科技,作为新一轮产业变革的核心驱动力,催生新技术、新产品、新产业、新模式,引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升…

tensorflow(GPU)使用

一,直接指定GPU: tf.ConfigProto一般用在创建session的时候。用来对session进行参数配置 with tf.Session(config tf.ConfigProto(...),...) #tf.ConfigProto()的参数 log_device_placementTrue : 是否打印设备分配日志 allow_soft_placementTrue : 如…

数字图像处理实验二 图像变换

一、实验目的 (1)了解图像变换的意义和手段。 (2)熟悉傅立叶变换的基本性质。 (3)通过实验了解二维频谱的分布特点。 (4)了解余弦变换或Walsh-Hadamard变换 二、实验内容…

科学家发联合声明:强烈谴责首例免疫艾滋病基因编辑

来源:人民网据人民网报道,来自中国深圳的科学家贺建奎在第二届国际人类基因组编辑峰会召开前一天宣布,一对名为露露和娜娜的基因编辑婴儿于11月在中国健康诞生。这对双胞胎的一个基因经过修改,使她们出生后即能天然抵抗艾滋病。这…

Keras】基于SegNet和U-Net的遥感图像语义分割

from:【Keras】基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新整…

实验四51单片机并口实验

一.实验目的: 1. 了解51单片机I/O口的电气特性和驱动能力。 2. 了解LED电路中加入限流电阻的原因。 3. 掌握定时器原理及编程。 4. 掌握并口程序的编辑、编译、调试和运行。 二.实验设备和器件 1. PC机 2. PROTEUS仿真软件 3. 实验箱 4. ISP下载器 5. 51仿真器…

5G 建设拉动光模块量价齐升

来源:国联证券光模块是光通信的核心部件,它主要完成光电转换和电光转换。行业增长稳定,行业内的头部企业通过不断并购完成上下游的整合,提供一体化的解决方案。国内企业在快速的追赶外资标杆企业,产品逐步往高端方向转…

tensorflow权重初始化

一,用10层神经网络,每一层的参数都是随机正态分布,均值为0,标准差为0.01 #10层神经网络 data tf.constant(np.random.randn(2000, 800).astype(float32)) layer_sizes [800 - 50 * i for i in range(0, 10)] num_layers len(l…

单片机实验报告-片内外RAM的数据转移

一、实验目的: 1.掌握C51编程基础,C51程序结构。 2.掌握C51数据类型、函数设计。 3.掌握C51程序的编辑、编译、调试和运行 二、编程提示 编程将片外8000H单元开始的10字节的内容移至8100H开始的各单元中。8000H单元开始的10字节内容用编程方式赋值。…

单片机实验-定时中断

一.实验目的 1.掌握51单片机定时器工作原理。 2.掌握51单片机中断系统工作原理。 3.掌握定时器初始化编程。 4.掌握中断程序的编写和调试。 二.实验设备和器件 1.KEIL软件 2.PROTEUS仿真软件 3.伟福实验箱 三.实验内容 (1)编程实…

2018全球最值得关注的60家半导体公司,7家中国公司新上榜 | 年度榜单

编译 | 张玺 四月来源:机器之能由《EE Times》每年评选全球值得关注的 60 家新创半导体公司排行榜——『Silicon 60』,今年已经迈向第 19 届,今年的关键词仍然是「机器学习」(machine learning),它正以硬件支持的运算形式强势崛起…