首页 > 其他分享 >记录编写并训练测试经典数据集mnist

记录编写并训练测试经典数据集mnist

时间:2023-09-07 23:24:19浏览次数:44  
标签:layers keras test train 测试 tf 编写 mnist

import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)

简单解释:

这段代码使用了TensorFlow库来训练一个简单的神经网络模型,用于识别手写数字。以下是代码的详细解释:

  1. 首先,导入TensorFlow库,并使用tf.keras.datasets.mnist加载MNIST数据集。

  2. mnist.load_data()函数用于加载MNIST数据集的训练和测试数据。返回值是一个元组列表,其中每个元组包含训练或测试数据的特征和对应的标签。

  3. x_trainx_test分别表示训练和测试数据的特征,它们的形状是(28, 28),即每个图像是一个28x28的二维数组。将特征数据归一化,将像素值除以255,使得像素值在0到1之间。

  4. 创建一个顺序模型,包含以下层:

    • tf.keras.layers.Flatten(input_shape=(28, 28)):将输入的二维数组展平为一维数组。
    • tf.keras.layers.Dense(128, activation='relu'):添加一个全连接层,包含128个神经元,使用ReLU激活函数。
    • tf.keras.layers.Dense(10, activation='softmax'):添加一个输出层,包含10个神经元,对应0到9的十个数字,使用softmax激活函数输出每个数字的概率。
  5. 编译模型,设置优化器为Adam,损失函数为稀疏类别交叉熵(sparse_categorical_crossentropy),评估指标为准确率。

  6. 使用训练数据对模型进行训练,设置训练周期为5。

  7. 使用测试数据对模型进行评估,输出在测试集上的准确率。

这段代码展示了如何使用TensorFlow库构建和训练一个简单的神经网络模型。通过调整模型的结构、优化器、损失函数等参数,可以进一步提高模型的性能。

 

标签:layers,keras,test,train,测试,tf,编写,mnist
From: https://www.cnblogs.com/litifeng/p/17686343.html

相关文章

  • 2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在
    2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务他喜欢R字符,因为在某些任务中,这个字符通常表示“正确”的结果另一方面,他不喜欢B字符,因为在某些任务中,这个字符通常表示“错误”的结果为了解决他的任务,塔子哥定义了字符串的权值为字符串中R字符的出现次数例如,......
  • 2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在
    2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务他喜欢R字符,因为在某些任务中,这个字符通常表示“正确”的结果另一方面,他不喜欢B字符,因为在某些任务中,这个字符通常表示“错误”的结果为了解决他的任务,塔子哥定义了字符串的权值为字符串中R字符的出现次数......
  • 测试文档
    测试发布packagecom.tang.consumptionRecord;importcom.tang.consumptionRecord.domain.Feedback;importcom.tang.consumptionRecord.util.JDBCUtils;importorg.apache.commons.dbutils.QueryRunner;importorg.apache.commons.dbutils.handlers.BeanListHandler;imp......
  • 软件测试——测试的分类(重点:黑盒测试、白盒测试、单元测试、集成测试、系统测试)
    一、按照测试对象进行划分1)界面测试界面是直接和用户进行交互的,界面设计的好坏决定了用户使用软件的直观感受界面测试(UI测试)一般包括以下内容:对比UI设计稿,验证系统显示界面的一致性和正确性验证界面上每个功能的正确性验证界面排版布局是否合理。字体大小、图片排版、......
  • 【web自动化测试】入门篇 01—— 框架介绍
    一、目的web自动化测试作为软件自动化测试领域中绕不过去的一个“香饽饽”,通常都会作为广大测试从业者的首选学习对象,相较于C/S架构的自动化来说,B/S有着其无法忽视的诸多优势,从行业发展趋、研发模式特点、测试工具支持,其整体的完整生态已经远远超过了C/S架构方面的测试价值。那么......
  • locust:Python 分布式压力测试(带WebUI)
    Locust介绍它采用纯Python实现,是一个分布式用户负载测试的工具。使用基于Requests库的客户端发起请求,使编写脚本大大简化;在模拟并发方面摒弃进程和线程,完全基于时间驱动,采用协程(gevent)提供的非阻塞IO和coroutine来实现网络层的并发请求。因此单台压力机也能产生数......
  • lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga
    1.概述    CrossLink开发板,是用Lattice的芯片CrossLink家族系列的,LIF-MD6000-6JM80I。该芯片用于桥接视频接口功能,自带2路MIPI硬核的功能,4LANE MIPI的功能,支持高速率1.5Gbps。   其他普通IO支持1.2Gbps速率,支持5路MIPI通道功能。 芯片包含LVDS,SLVS200,SubLV......
  • 使用vscodep快速编写markdown
    写在前面这是一篇基于vscode配置,用于书写markdown的文章为了方便快速书写markdown真想使用一些便捷的快捷键去生成一些自己常用的格式或者是模版,于是自己基于自己的个人习惯去创建了一些快捷键,用起来还是很方便的,当然自己也是尽可能的语义化了,希望能帮到大家。1.......
  • 软件第三方测评机构简析:良好的测试环境对软件产品起到的作用
    近年来,软件行业发展迅速,软件产品的质量成为用户关注的焦点。而软件的质量评估往往需要依赖专业的第三方测评机构,为了更好地了解软件测试环境对产品质量的重要性,小编整理了以下简析:一、良好的测试环境对软件产品起到的作用1、为软件产品提供一个真实、稳定的运行场景,模......
  • 软件测试|pip常用命令总结
    当使用Python进行开发时,pip是一个非常有用的包管理工具,它可以帮助我们方便地安装、升级和管理Python包。本文将介绍一些常用的pip命令,以帮助您更好地使用pip。查看帮助文档运行pip--help运行这个命令将帮助我们更好地了解pip的使用,pip命令的参数会完整展示出来,如下:pip--he......