import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data/', one_hot=True) def compute_accuracy(v_xs,v_ys):
global prediction
y_pre=sess.run(prediction,feed_dict={xs:v_xs,keep_prob:})
correct_prediction=tf.equal(tf.argmax(y_pre,),tf.argmax(v_ys,))
accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
result=sess.run(accuracy,feed_dict={xs:v_xs,ys:v_ys})
return result def weight_varirable(shape):
inital=tf.truncated_normal(shape,stddev=0.1)
return tf.Variable(inital) def bias_variable(shape):
initial = tf.constant(0.1, shape=shape)
return tf.Variable(initial) def conv2d(x,W):
return tf.nn.conv2d(x,W,strides=[,,,],padding='SAME') def max_poo_(x):
return tf.nn.max_pool(x, ksize=[,,,], strides=[,,,], padding='SAME') xs=tf.placeholder(tf.float32,[None,])
ys=tf.placeholder(tf.float32,[None,])
keep_prob=tf.placeholder(tf.float32) x_image=tf.reshape(xs,[-,,,]) W_conv1=weight_varirable([,,,])
b_conv1=bias_variable([])
h_conv1=tf.nn.relu(conv2d(x_image,W_conv1)+b_conv1)
h_pool1=max_poo_(h_conv1) W_conv2=weight_varirable([,,,])
b_conv2=bias_variable([])
h_conv2=tf.nn.relu(conv2d(h_pool1,W_conv2)+b_conv2)
h_pool2=max_poo_(h_conv2) W_fc1=weight_varirable([**,])
b_fc1=bias_variable([]) h_pool2_flat=tf.reshape(h_pool2,[-,**])
h_fcl=tf.nn.relu(tf.matmul(h_pool2_flat,W_fc1)+b_fc1)
h_fc1_drop=tf.nn.dropout(h_fcl,keep_prob) W_fc2=weight_varirable([,])
b_fc2=bias_variable([]) prediction=tf.nn.softmax(tf.matmul(h_fc1_drop,W_fc2)+b_fc2) cross_entropy=tf.reduce_mean(
-tf.reduce_sum(ys*tf.log(prediction),
reduction_indices=[])) train_step=tf.train.AdamOptimizer(1e-).minimize(cross_entropy) sess=tf.Session() sess.run(tf.global_variables_initializer()) for i in range():
batch_xs, batch_ys = mnist.train.next_batch()
sess.run(train_step, feed_dict={xs: batch_xs, ys: batch_ys,keep_prob:0.5})
if i % == :
print(compute_accuracy(
mnist.test.images, mnist.test.labels))

如果有同学没有MINST数据,请到http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_download.html下载,或者QQ问我

Tensorflow通过CNN实现MINST数据分类的更多相关文章

  1. FaceRank-人脸打分基于 TensorFlow 的 CNN 模型

    FaceRank-人脸打分基于 TensorFlow 的 CNN 模型 隐私 因为隐私问题,训练图片集并不提供,稍微可能会放一些卡通图片. 数据集 130张 128*128 张网络图片,图片名: 1- ...

  2. Tensorflow简单CNN实现

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 少说废话多写代码~ """转换图像数据格式时需要将它们的颜色空间变为灰度空间,将图像尺寸修改为同一尺寸,并将标签依 ...

  3. Tensorflow的CNN教程解析

    之前的博客我们已经对RNN模型有了个粗略的了解.作为一个时序性模型,RNN的强大不需要我在这里重复了.今天,让我们来看看除了RNN外另一个特殊的,同时也是广为人知的强大的神经网络模型,即CNN模型.今 ...

  4. [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)

    3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...

  5. 第三节,TensorFlow 使用CNN实现手写数字识别(卷积函数tf.nn.convd介绍)

    上一节,我们已经讲解了使用全连接网络实现手写数字识别,其正确率大概能达到98%,这一节我们使用卷积神经网络来实现手写数字识别, 其准确率可以超过99%,程序主要包括以下几块内容 [1]: 导入数据,即 ...

  6. [Tensorflow] Cookbook - CNN

    Convolutional Neural Networks (CNNs) are responsible for the major breakthroughs in image recognitio ...

  7. 6 TensorFlow实现cnn识别手写数字

    ------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...

  8. TensorFlow实现CNN

    TensorFlow是目前深度学习最流行的框架,很有学习的必要,下面我们就来实际动手,使用TensorFlow搭建一个简单的CNN,来对经典的mnist数据集进行数字识别. 如果对CNN还不是很熟悉的 ...

  9. tensorflow构建CNN模型时的常用接口函数

    (1)tf.nn.max_pool()函数 解释: tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=No ...

随机推荐

  1. Win10命令提示符git log中文乱码的解决方案

    在系统环境变量中新建一个名为LESSCHARSET的变量 其值为utf-8 新建完毕后应用,git log就不会出现乱码的问题了^_^ 参考博文:git- win10 cmd git log 中文乱码 ...

  2. 面试系列24 dubbo负载均衡策略和集群容错策略

    (1)dubbo负载均衡策略 1)random loadbalance 默认情况下,dubbo是random load balance随机调用实现负载均衡,可以对provider不同实例设置不同的权重 ...

  3. 面试系列12 redis和memcached有什么区别

    (1)redis和memcached有啥区别 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcached ...

  4. 【笔记篇】C#笔记3

    笔记目录:http://blog.csdn.net/enzymii/article/details/77169928 C#的接口有点意思,我们说过可以用来多重继承.. using System; na ...

  5. openSUSE安装Composer

    使用的是LAMP,PHP版本为7.0.7. 在终端中,运行以下命令 php -r "copy('https://install.phpcomposer.com/installer', 'co ...

  6. 虚拟机上CentOS7 配置NAT模式

    1. 虚拟机网络适配器选择NAT模式 2. 使用vi编辑/etc/sysconfig/network-scripts/ifcfg-ens32 vi /etc/sysconfig/network-scr ...

  7. Django项目在linux上运行

    目录 前言 上传 解压 制作启动脚本 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 前言 我们在windows本地开发完Django项目后,需要把项目部署到lin ...

  8. iOS开发本地推送(iOS10)UNUserNotificationCenter

    1.简介 iOS10之后苹果对推送进行了封装,UNUserNotificationCenter就这样产生了.简单介绍本地推送的使用UserNotifications官方文档说明! 2.简单使用UNUs ...

  9. Python学习day26-面向对象之小结

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  10. java连接neo4j

    呼.博客要落灰了 记录一下Java连接neo4j的问题. 首先是neo4j的下载和配置,基本参考https://blog.csdn.net/appleyk/article/details/790918 ...