tensorflow实现mnist

本文档展示了如何使用TensorFlow构建一个简单的神经网络来识别MNIST数据集的手写数字。通过定义卷积层、池化层、全连接层以及训练过程,最终在测试集上计算准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import tensorflow as tf

# 输入数据
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)


# 定义网络的超参数
learning_rate = 0.0001
training_iters = 200000
batch_size = 128
display_step = 10



# 定义网络的参数
n_input = 784  # 输入的维度(img shape: 28×28)
n_classes = 10 # 标记的维度 (0-9 digits)
dropout = 0.75 # Dropout的概率,输出的可能性




x = tf.placeholder(tf.float32,shape = [None,n_input],name = 'x-input')
y = tf.placeholder(tf.float32,shape =[None,n_classes],name = 'y-input')

keep_prob= tf.placeholder(tf.float32) #dropout


#构建网络模型,以后都用这种模式写tensorflow
#接下来我们定义AlexNet需要用到的卷积、池化和规范化操作。为了简单,我们将这些功能封装起来。代码如下:

# 定义卷积操作



def  conv2d(name,x,W,b,strides = 1):
    x = tf.nn.conv2d(x,W,strides=[1,strides,strides,1],padding='SAME')
    x = tf.nn.bias_add (x,b)
    return   tf.nn.relu(x,name = name)  # 使用relu激活函数


# 定义池化层操作
def   maxpool2d(name,x,k=2):
    return  tf.nn.max_pool(x,ksize=[1,k,k,1],strides=[1,k,k,1],padding='SAME',name = name )


# 规
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值