深度学习的程序实例

devtools/2024/10/24 22:28:40/

以下是一个使用深度学习的程序实例:

import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.optimizers import RMSprop# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()# 数据预处理
x_train = x_train.reshape(60000, 784)
x_test = x_test.reshape(10000, 784)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255# 类别标签进行One-Hot编码
y_train = tf.keras.utils.to_categorical(y_train, 10)
y_test = tf.keras.utils.to_categorical(y_test, 10)# 构建深度学习模型
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(784,)))
model.add(Dropout(0.2))
model.add(Dense(10, activation='softmax'))# 编译模型
model.compile(loss='categorical_crossentropy',optimizer=RMSprop(),metrics=['accuracy'])# 训练模型
batch_size = 128
epochs = 10
history = model.fit(x_train, y_train,batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(x_test, y_test))# 评估模型
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

上述代码是一个简单的手写数字识别程序,使用了深度学习模型进行训练和预测。首先,通过mnist.load_data()函数加载了MNIST数据集,数据集包含了手写数字的图像和对应的标签。

然后,对数据进行预处理,包括将图像数据转换为浮点数并归一化,以及对标签进行One-Hot编码。

接下来,使用Sequential()创建了一个序列模型,并添加了两个全连接层和一个Dropout层。模型通过RMSprop优化器和交叉熵损失函数进行编译。

然后,使用fit()函数训练模型,并将训练数据和测试数据作为输入。训练过程中,可以指定批次大小、训练轮数等参数。

最后,使用evaluate()函数评估模型在测试数据上的性能,并打印出损失值和准确率。

这个程序使用深度学习模型对手写数字图像进行分类,可以实现较高的准确率。


http://www.ppmy.cn/devtools/128526.html

相关文章

二、Linux 入门教程:开启大数据领域的神奇之旅

Linux 入门教程:开启大数据领域的神奇之旅 在当今这个飞速发展的数字化时代,大数据所具有的重要性正日益凸显出来。而 Linux 作为一种极为强大的操作系统,在大数据这一广阔的领域当中发挥着至关重要、不可或缺的关键作用。倘若你怀有涉足大数…

背包九讲——完全背包问题

目录 完全背包问题 问题定义 动态规划解法 状态转移方程 初始化 遍历顺序 三种解法: 朴素版——枚举k 进阶版——dp正推(一维滚动数组) 背包问题第三讲——完全背包问题 背包问题是一类经典的组合优化问题,通常涉及在限定…

线程同步之双摄

如何实现两个摄像头进行同步,并利用同步的信号做一些事情, 比如stereo camera 做深度,如果是自己整的两个camera,同步就需要自己做, 那么这时候可以利用线程同步手写一个,下面给一个示例代码: …

Java 代码优化 修饰器模式(Decorator Pattern)

在软件设计中,装饰模式是一种非常有用的结构型设计模式,它允许你在不修改现有类的情况下,动态地为对象添加新的功能。这个模式通过将对象包裹在装饰器对象中,实现功能的扩展和增强。 装饰模式的核心思想 核心问题:有时…

数据结构之队列

Hello,各位小伙伴们上期我们学习了栈这样的数据结构,今天让我们一起学习一下它的孪生兄弟队列。 队列的基本概念和结构 概念:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出F…

2024软考网络工程师笔记 - 第4章.局域网和城域网

文章目录 局域网基础1️⃣局域网和城域网体系架构 IEEE(负责链路层)2️⃣局域网拓扑结构 🕑CSMA/CD1️⃣CSMA/CD2️⃣CSMA/CD三种监听算法3️⃣冲突检测原理 🕒二进制指数退避算法1️⃣ 二进制指数退避算法 🕓最小帧长…

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (五):POST上传文件的设置

本项目旨在学习如何快速使用 nodejs 开发后端api,并为以后开展其他项目的开启提供简易的后端模版。(非后端工程师) 由于文档是代码写完之后,为了记录项目中需要注意的技术点,因此文档的叙述方式并非开发顺序&#xff0…

云曦10月13日awd复现

一、防御 1、改用户密码 passwd <user> 2、改数据库密码 进入数据库 mysql -uroot -proot 改密码 update mysql.user set passwordpassword(新密码) where userroot; 查看用户信息密码 select host,user,password from mysql.user; 改配置文件&#xff0c;将密码改为自己…