TensorFlow mnist数字识别

TensorFlow Lite 入门样例,亲测有效 参考链接:     tensorflow 物体检测模型相关资料    https://github.com/tensorflow/models/tree/master/research/object_detection      java api接口 https://tensorflow.google.cn/lite/apis#java Running on mobile with Tenso... 阅读详情
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

INPUT_NODE = 784
OUTPUT_NODE = 10

LAYER1_NODE = 500

BATCH_SIZE = 100

LEARNING_RATE_BASE = 0.8
LEARNING_RATE_DECAY = 0.99

REGULARIZATION_RATE = 0.0001
TRAINNING_STEPS = 30000
MOVING_AVERAGE_DECAY = 0.99

def inference(input_tensor, avg_class, weights1, biases1, weights2, biases2):
    #当没有提供滑动平均类时,直接使用参数当前的取值
    if avg_class == None:
        layer1 = tf.nn.relu(tf.matmul(input_tensor, weights1) + biases1)
        return tf.matmul(layer1, weights2) + biases2
    else :
        layer1 = tf.nn.relu(tf.matmul(input_tensor, avg_class.average(weights1)) + avg_class.average(biases1))
        return tf.matmul(layer1, avg_class.average(weights2)) + avg_class.average(biases2)

def train(mnist):
    x = tf.placeholder(tf.float32, [None, INPUT_NODE], name='x-input')
    y_ = tf.placeholder(tf.float32, [None, OUTPUT_NODE], name='y-input')

    weights1 = tf.Variable(tf.truncated_normal([INPUT_NODE, LAYER1_NODE], stddev=0.1))
    biases1 = tf.Variable(tf.constant(0.1, shape=[LAYER1_NODE]))

    weights2 = tf.Variable(tf.truncated_normal([LAYER1_NODE, OUTPUT_NODE], stddev=0.1))
    biases2 = tf.Variable(tf.constant(0.1, shape=[OUTPUT_NODE]))

    y = inference(x, None, weights1, biases1, weights2, biases2)

    global_step = tf.Variable(0, trainable=False)
    variables_averages = tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY, global_step)
    variables_averages_op = variables_averages.apply(tf.trainable_variables())

    average_y = inference(x, variables_averages, weights1, biases1, weights2, biases2)

    #第一个参数是神经网络不包含softmax层的前向传播结果,第二个是训练数据的正确答案
    cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))
    #计算当前batch中所有样例的交叉熵平均值
    cross_entropy_mean = tf.reduce_mean(cross_entropy)

    regularizer = tf.contrib.layers.l2_regularizer(REGULARIZATION_RATE)
    regularization = regularizer(weights1) + regularizer(weights2)
    #总损失等于交叉熵损失和正则化损失的和
    loss = cross_entropy_mean + regularization

    learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE, global_step, mnist.train.num_examples / BATCH_SIZE, LEARNING_RATE_DECAY)

    train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)

    with tf.control_dependencies([train_step, variables_averages_op]):
        train_op = tf.no_op(name='train')

    correct_prediction = tf.equal(tf.argmax(average_y, 1), tf.argmax(y_, 1))

    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

    with tf.Session() as sess:
        tf.global_variables_initializer().run()
        validate_feed = {x: mnist.validation.images, y_: mnist.validation.labels}
        test_feed = {x: mnist.test.images, y_:mnist.test.labels}

        for i in range(TRAINNING_STEPS):
            if i % 1000 == 0:
                validate_acc = sess.run(accuracy, feed_dict=validate_feed)
                print("After %d training step(s), validation accuracy using averge model is %g" %(i, validate_acc))

            xs, ys = mnist.train.next_batch(BATCH_SIZE)
            sess.run(train_op, feed_dict={x:xs, y_:ys})

        test_acc = sess.run(accuracy, feed_dict=test_feed)
        print("After %d training step(s), test accuracy using averge model is %g" %(TRAINNING_STEPS, test_acc))

def main(argv=None):
    mnist = input_data.read_data_sets("/tmp/data", one_hot=True)
    train(mnist)

if __name__ == '__main__':
    tf.app.run()
Tensorflow第T1周:Tensorflow实现mnist手写数字识别 MNIST手写数字数据集来源于是美国国家标准与技术研究所,是著名的公开数据集之一。数据集中的数字图片是由250个不同职业的人纯手写绘制,数据集获取的网址为:http://yann.lecun.com/exdb/mnist/(下载后需解压)。我们一般会采用这行代码直接调用,这样就比较简单MNIST手写数字数据集中包含了70000张图片,其中60000张为训练数据,10000为测试数据,70000张图片均是28*28,数据集样本如下:如果我们把每一张图片中的像素转换为向量,则得到长度为28*28=784。 阅读详情

相关推荐

tensorflow实现MNIST手写数字识别演示

用tensorflow实现MNIST手写数字识别演示,分别参考这两篇文章: https://blog.youkuaiyun.com/dusin/article/details/108544965 https://blog.youkuaiyun.com/starlet_kiss/article/details/115550344 一.tensorflow实现MNIST手写数字识别演示 1.加加载数据 import tensorflow as tf #导入tensorflow库 mnist=tf.keras.datasets.mni

qq_41273406的博客 3494

语言也是量子

“量子力学”可能是我们当下既熟悉而又陌生的一个概念,热衷于玩梗的我们聊天中总是脱口而出“遇事不决,量子力学”,新闻媒体上关于它的概念也不断出现,有去年获得突破的量子通信技术,有中央集中学...

BAAIBeijing的博客 2647

【TensorFlow】T1:实现mnist手写数字识别

此处所需数据直接联网下载,故无需数据集。固定模板,直接调用即可。

CH3_CH2_CHO的博客 1374

TensorFlow入门之二:tensorflow手写数字识别

基础知识 本节内容可以跳过直接看后面的处理 MNIST数据集 MNIST数据集的官网是Yann LeCun’s website。可以使用下面的python代码自动下载数据集。 #已经下载input_data.py #import input_data #没有下载input_data.py from tensorflow.examples.tutorials.mnist import input_d...

mergerly的专栏 8049

TensorFlow入门 |(三)MNIST手写数字识别

(一)MNIST手写体数据集介绍 MNIST手写数字识别算是计算机视觉入门的一个项目。也是传说中机器学习入门的“Hello World”。小编写这篇文章的时候也算是一个新手,分享下自己的学习成果,和大家一起学习进步。 MNIST数据集包含各种(0~9)手写数字: 数据集官网:http://yann.lecun.com/exdb/mnist/ ,数据集包含60000个训练样本和10000个测试样本。...

econe_wei的博客 1904

基于Tensorflow CNN网络MNIST数据集手写数字识别

一、项目背景与意义手写数字识别是计算机视觉和机器学习领域的一个经典问题。MNIST数据集包含了大量手写数字的图片和对应的标签,是初学者和研究者们常用的数据集之一。通过使用卷积神经网络(CNN)对MNIST数据集进行训练和测试,我们可以构建一个能够自动识别和分类手写数字的系统。这不仅能够帮助我们理解卷积神经网络的工作原理,还能为更复杂的图像识别任务提供基础。二、项目目标构建一个基于TensorFlow的卷积神经网络模型。使用MNIST数据集对模型进行训练和测试。

Q1744828575的博客 1089

android opengl camera2 实现相机的实时预览 以及 点坐标samplerExternalOES的纹理坐标

相机一直是我的心病,花了几周的时间学习了下opengl se。并利用opengl来实现android平台下的实时预览。,真的硬着头皮啃 网上的大神的代码,没有什么注解,确实有点苦逼,闲话不说了现在做好笔记 ,方便回顾。 相机的预览 首先回到相机的预览,我们知道camera2,利用surfacetexture 可以在非预览情况下获得相机的数据,,然后利用与surfacetexture同一个textu...

Lammy的专栏 4844

基于TensorFlow实现MNIST手写体数字识别

1. 背景描述 1.1 数据源介绍 数据源说明:60000训练集 + 10000测试集 图中的每个数字都是[28,28]的二阶数组表示,每个位点上的值是颜色的深度[0-255] ~ [白色-黑色]。根据规范化处理,我们后面会将灰度值缩放到[0,1]。 使用程序获取数据 from keras.datasets import mnist # 注意keras的默认路径是~/.keras/dataset...

阿尔卑斯LOVE 1072

基于tensorflow的MNIST数字识别

一、MNIST数据集介绍 MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会作为深度学习的入门样例。下面大致介绍这个数据集的基本情况,并介绍tensorflow对MNIST数据集做的封装。tensorflow的封装让使用MNIST数据集变得更加方便。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练数据,10000张图片作为测试数据。在MNIS...

weixin_36670529的博客 2165

基于tensorflow lite的自定义手写识别网络App

App的安装包,里面包含两个例子,一个是Google自带的图像识别的例子,一个自定义手写识别神经网络的例子。

电阻、电容、电感的实际等效模型

1、电阻的等效模型 2、电容的寄生参数 3、电容的等效参数 4、理想铝电解电容与实际铝电解电容的区别 5、电感的等效模型  

鸟宿江边树的博客 4万+

使用Tensorflow和MNIST识别自己手写的数字

最近在学习神经网络相关的东西,发现有很多资料是Tensorflow教程上的内容,但是教程很多只是一个验证官方程序的过程。如何将官方程序变成自己可以利用的程序,网上似乎资料比较少,所以我就来介绍一下如何使用Tensorflow和MNIST搭建自己的手写识别算法,识别自己写的数字。

鸡蛋灌饼小菜鸟的博客 6万+

智驾域控制器硬件架构:从接口丛林到算力核心的工程解码

本文深入解析了智驾域控制器硬件架构的设计挑战与工程实践。面对复杂的接口丛林,文章详细探讨了如何高效融合摄像头、雷达等多源传感器数据,并构建以多SOC为核心的强大算力平台。同时,文章强调了电源、时钟、散热等最小系统及车规级可靠性设计的关键作用,为工程师提供了从接口驯服到算力核心协同的完整硬件解码指南。

happy2的博客 485

Tensorflow 实现 MNIST 手写数字识别

本节笔记作为 Tensorflow 的 Hello World,用 MNIST 手写数字识别来探索 Tensorflow。笔记的内容来自 Tensorflow 中文社区和黄文坚的《Tensorflow 实战》,只作为自己复习总结。

Gler.的博客 3万+

告别Overleaf!本地LaTeX环境配置:VSCode+TeXLive完全指南(Windows/Mac双平台)

本文详细介绍了如何在Windows和Mac平台上配置本地LaTeX环境,使用VSCode和TeXLive打造高效的专业写作工作流。从TeXLive安装到VSCode插件配置,再到高级技巧与性能优化,帮助用户摆脱Overleaf限制,实现更快速、更私密的学术写作体验。

3c4x5z6v7b的博客 953

手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程

本文详细介绍了在Android 14中调试ShellTransitions机制的方法,重点通过Log追踪ActiveTransition与Handler的匹配过程。文章提供了关键日志点植入策略、Handler匹配机制解析及实战调试案例,帮助开发者解决窗口转场动画中的卡顿和错乱问题,提升系统动画性能。

weixin_42652674的博客 434

Tensorflow实现mnist手写数字识别

一、Tensorflow实现mnist手写数字识别 代码里会有部分注释,仅供个人后续复习!ps:我也是小白,有兴趣大家可以一起交流! import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import time """ mnist数据集有60000张图片,10000张图片作...

斯人若彩虹,遇上方知有! 934

TensorFlow2深度学习实战(十四):目标检测算法 YOLOv4 解析

最易上手的【计算机视觉】小白教程!

不积跬步,无以至千里! 7637

TensorFlow | 实现mnist手写数字识别

这段代码构建了一个典型的卷积神经网络,适合处理图像数据,通过卷积层和池化层提取特征,最终通过全连接层进行分类。使用ReLU激活函数可以加快训练速度,同时保持较好的泛化能力。通过调用,设置了模型训练时的基本参数。这些配置将直接影响模型的训练效果和收敛速度。选择合适的优化器、损失函数和评估指标是成功训练深度学习模型的重要步骤。确保这些配置适合具体任务的特点,能够提升模型的性能通过调用方法,开始了模型的训练过程。

weixin_52390875的博客 1921

【YOLOv11多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1968

Robot Framework 7.0 报告解析

本文深入解析 Robot Framework 7.0 新增的 JSON 报告功能,手把手教你如何从 output.xml 转换为结构清晰的 output.json,并通过 Python 脚本提取关键测试指标。文章附完整示例、命令、解析脚本,支持导出为 CSV 和 Markdown,方便接入可视化看板、群通知和 CI 流程。适用于测试自动化、质量平台建设和回归趋势分析场景。

点点寒彬的博客 268

Tensorflow实现MNIST手写数字识别

之前我们讲了神经网络的起源、单层神经网络、多层神经网络的搭建过程、搭建时要注意到的具体问题、以及解决这些问题的具体方法。本文将通过一个经典的案例:MNIST手写数字识别,以代码的形式来为大家梳理一遍神经网络的整个过程。 一 、MNIST手写数字数据集介绍 MNIST手写数字数据集来源于是美国国家标准与技术研究所,是著名的公开数据集之一,通常这个数据集都会被作为深度学习的入门案例。数据集中的数字...

TensorFlowNews 2410

华为MetaERP国资委语境下的 DRP(全域数字化资源管理平台/Digitalized Resource-management Platform)与传统 ERP(以 SAP、Oracle 为代表)的

【摘要】国资委推动的DRP(全域数字化资源管理平台)正在重构央国企数智化转型路径,其本质是通过"ERP管交易+DRP管管控"的双层架构实现升维替代。与传统ERP相比,DRP具有三大突破:采用国产分布式数据库实现全级次穿透监管、构建数据中台打破信息孤岛、以实时分析替代事后报表。当前政策明确2026-2030年分阶段建设目标,这将重塑产业格局——倒逼传统ERP厂商转型,为云原生/AI/信创企业创造新机遇。需注意DRP并非简单替代ERP,而是通过治理模式变革实现"交易系统做薄、管控中

金牌架构师 291

mnist手写数字识别python_tensorflow实现MNIST手写数字识别

MNIST数据集是由0-9,10个手写数字组成。训练图像有60000张,测试图像有10000张。1、在tensorflow中可以使用python下载数据集,调用download.py。代码如下:from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data...

weixin_39595537的博客 1045

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mnist手写数字识别python_基于Tensorflow的MNIST手写数字识别分类

本文实例为大家分享了基于Tensorflow的MNIST手写数字识别分类的具体实现代码,供大家参考,具体内容如下代码如下:import tensorflow as tfimport numpy as npfrom tensorflow.examples.tutorials.mnist import input_datafrom tensorflow.contrib.tensorboard.plug...

weixin_39926943的博客 331

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 《李宏毅机器学习》task3
下一篇: 《李宏毅机器学习》-task4
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值