使用一层神经网络训练mnist数据集
import numpy as np
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
def add_layer(inputs,in_size,out_size,activation_function=None):
W=tf.Variable(tf.random_normal([in_size,out_size]))
b=tf.Variable(tf.zeros([1,out_size])+0.01)
Z=tf.matmul(inputs,W)+b
if activation_function is None:
out_puts=Z
else:
out_puts=activation_function(Z)
return out_puts
if __name__=="__main__":
MINST=input_data.read_data_sets("./",one_hot=True)
learning_rate=0.05
batch_size=128
n_epochs=10
X=tf.placeholder(tf.float32,[batch_size,784])
Y=tf.placeholder(tf.float32,[batch_size,10])
L1=add_layer(X,784,1000,tf.nn.relu)
prediction=add_layer(L1,1000,10)
entropy=tf.nn.softmax_cross_entropy_with_logits(labels=Y,logits=prediction)
loss=tf.reduce_mean(entropy)
optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
n_batches=int(MINST.train.num_examples/batch_size)
for i in range(n_epochs):
for j in range(n_batches):
X_batch,Y_batch=MINST.train.next_batch(batch_size=batch_size)
_,loss_=sess.run([optimizer,loss],feed_dict={
X:X_batch,
Y:Y_batch
})
if j == 0:
print("Loss of epochs[{0}] batch[{1}]: {2}".format(i, j, loss_)) # test the model
n_batches = int(MINST.test.num_examples / batch_size)
total_correct_preds = 0
for i in range(n_batches):
X_batch, Y_batch = MINST.test.next_batch(batch_size)
preds = sess.run(prediction, feed_dict={X: X_batch, Y: Y_batch})
correct_preds = tf.equal(tf.argmax(preds, 1), tf.argmax(Y_batch, 1))
accuracy = tf.reduce_sum(tf.cast(correct_preds, tf.float32)) total_correct_preds += sess.run(accuracy) print("Accuracy {0}".format(total_correct_preds / MINST.test.num_examples))
我们不做卷积。直接将x输入到网络中去。最后用softmax作为激活函数
大概结构,我这里没法上传,等我回去在传。
使用一层神经网络训练mnist数据集的更多相关文章
- TensorFlow初探之简单神经网络训练mnist数据集(TensorFlow2.0代码)
from __future__ import print_function from tensorflow.examples.tutorials.mnist import input_data #加载 ...
- mxnet卷积神经网络训练MNIST数据集测试
mxnet框架下超全手写字体识别—从数据预处理到网络的训练—模型及日志的保存 import numpy as np import mxnet as mx import logging logging. ...
- 使用caffe训练mnist数据集 - caffe教程实战(一)
个人认为学习一个陌生的框架,最好从例子开始,所以我们也从一个例子开始. 学习本教程之前,你需要首先对卷积神经网络算法原理有些了解,而且安装好了caffe 卷积神经网络原理参考:http://cs231 ...
- 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
- Python实现bp神经网络识别MNIST数据集
title: "Python实现bp神经网络识别MNIST数据集" date: 2018-06-18T14:01:49+08:00 tags: [""] cat ...
- TensorFlow——CNN卷积神经网络处理Mnist数据集
CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...
- deep_learning_LSTM长短期记忆神经网络处理Mnist数据集
1.RNN(Recurrent Neural Network)循环神经网络模型 详见RNN循环神经网络:https://www.cnblogs.com/pinard/p/6509630.html 2. ...
- TensorFlow——LSTM长短期记忆神经网络处理Mnist数据集
1.RNN(Recurrent Neural Network)循环神经网络模型 详见RNN循环神经网络:https://www.cnblogs.com/pinard/p/6509630.html 2. ...
- TensorFlow 训练MNIST数据集(2)—— 多层神经网络
在我的上一篇随笔中,采用了单层神经网络来对MNIST进行训练,在测试集中只有约90%的正确率.这次换一种神经网络(多层神经网络)来进行训练和测试. 1.获取MNIST数据 MNIST数据集只要一行代码 ...
随机推荐
- C语言学习笔记 (004) - 数组名和数组首地址(转)
一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址.指针变量既然可以指向变量,当然也可以指向数组和数组元素(把数据起始地址或某一元素的地址放到一个指针变量中) ...
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- 创建 maven maven-archetype-quickstart 项目抱错问题解决方法
问题: eclipse装m2eclipse的时候装完后创建项目的时候报错: Unable to create project from archetype org.apache.maven.arche ...
- PWA 入门: 写个非常简单的 PWA 页面
Progressive Web Apps 是 Google 提出的用前沿的 Web 技术为网页提供 App 般使用体验的一系列方案. 这篇文章里我们来完成一个非常简单的 PWA 页面. 一个 PWA ...
- ASP.NET MVC同时支持web与webapi模式
原文地址:https://blog.csdn.net/laymat/article/details/65444701 我们在创建 web mvc项目时是不支持web api的接口方式访问的,所以我们需 ...
- 【C语言】字符串与整型数值之间的转换
一.将字符串转化为对应的数值 /*============================================================================= # # F ...
- Android 关于导航栏(虚拟按键)遮挡PopupWindow底部布局的问题
我们自定义popupWindow的时候,一般会设置这些参数 setContentView(contentView); //设置高度为屏幕高度 setWidth(UIUtils.getScreenHei ...
- C++虚函数工作原理
一.虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数.典型情况下,这一信息具有一种被称为 vptr(virtual table poi ...
- php实现ZIP压缩文件解压缩(转)
测试使用了两个办法都可以实现: 第一个:需要开启配置php_aip.dll <?php //需开启配置 php_zip.dll //phpinfo(); header("Content ...
- nexus7 1代 刷4.2.2+root[转]
下面和大家分享一下刷机方法.(该刷机方法根据论坛有小改动)刷机前记得备份...刷机前准备:一.准备工具1.N7电脑驱动(usb_driver_r06_windows.zip)2.刷机工具(N7 fas ...