卷积神经格络(CNN)模型训练 MNIST数据集

这篇博客利用TensorFlow构建了一个卷积神经网络(CNN)模型,对MNIST数据集进行训练。经过100轮训练,模型的准确率达到了约99.22%,显示出CNN在手写数字识别任务上的优秀性能。
摘要由CSDN通过智能技术生成

# 数据集下载地址:https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py

本文用TensorFlow 搭建一个卷积神经格络(CNN)模型,并用它来训练 MNIST数据集。同样,构建的流程也是先加载数据,再构建格络模型,最后训练和评估模型。

# 加载TF 并加载数据
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data

#设置输入参数
batch_size = 128
test_size = 256


# 初始化权值与定义网络结构,建构一个3个卷积层和3个池化层,一个全连接层和一个输出层的卷积神经网络
# 首先定义初始化权重函数
def init_weights(shape):
    return tf.Variable(tf.random_normal(shape, stddev=0.01))


# 第一组卷积层以及池化层,最后 droupout是为了防止过拟合,在模型训练的时候丢掉一些神经元
# padding表示对边界的处理,SAME表示卷积的输入和输出保持同样尺寸
def model(X, w, w2, w3, w4, w_o, p_keep_conv, p_keep_hidden):
    l1a = tf.nn.relu(tf.nn.conv2d(X, w,
                                  strides=[1, 1, 1, 1], padding='SAME'))
    l1 = tf.nn.max_pool(l1a, ksize=[1, 2, 2, 1],  # l1 shape=(?, 14, 14, 32)
                        s
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值