MLP手写数字识别(3)-使用tf.data.Dataset模块制作模型输入(tensorflow)

server/2024/10/19 7:25:45/

tensorflow_0">1、tensorflow版本查看

python">import tensorflow as tfprint('Tensorflow Version:{}'.format(tf.__version__))
print(tf.config.list_physical_devices())

在这里插入图片描述

2、MNIST数据集下载与预处理

python">(train_images,train_labels),(test_images,test_labels) = tf.keras.datasets.mnist.load_data()
train_images,test_images = tf.cast(train_images/255.0,tf.float32),tf.cast(test_images/255.0,tf.float32) # 归一化

tf.data.Dataset制作训练数据集

python">ds_train_image = tf.data.Dataset.from_tensor_slices(train_images)
ds_train_label = tf.data.Dataset.from_tensor_slices(train_labels)
ds_train = tf.data.Dataset.zip((ds_train_image,ds_train_label))
ds_train = ds_train.shuffle(10000).repeat().batch(64) # 乱序,无限次重复,每次取64张图片print(ds_train_image)
print(ds_train_label)
print(ds_train)

在这里插入图片描述

tf.data.Dataset制作测试数据集

python">ds_test = tf.data.Dataset.from_tensor_slices((test_images,test_labels))
ds_test = ds_test.repeat().batch(64)print(ds_test)

在这里插入图片描述

3、搭建MLP模型

python">from keras import Sequential
from keras.layers import Flatten,Dense
from keras import Inputmodel = Sequential()
model.add(Input(shape=(28,28)))
model.add(Flatten())
model.add(Dense(units=256,kernel_initializer='normal',activation='relu'))
model.add(Dense(units=10,kernel_initializer='normal',activation='softmax'))
# model.summary()

4、模型训练

调用model.compile()函数对训练模型进行设置

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

调用model.fit()配置训练参数,开始训练,并保存训练结果。

python">steps_per_epochs = train_images.shape[0]//64  # 937H = model.fit(ds_train,  # 训练数据集steps_per_epoch=steps_per_epochs,  # 每个epoch训练步数validation_data=ds_test,  #验证数据集validation_steps=10000//64,epochs=10,verbose=1)

在这里插入图片描述


http://www.ppmy.cn/server/32979.html

相关文章

ClickHouse安装(成功安装)

1.下载安装包 下面通过阿里镜像(https://mirrors.aliyun.com/clickhouse/rpm/lts/)进行下载,下载哪里,自行指定。 # deb包下载使用如下4行 wget https://mirrors.aliyun.com/clickhouse/deb/pool/stable/clickhouse-client_22.8…

微服务----nacos配置及简单使用

目录 什么是nacos 项目在nacos上进行注册 注入nacos依赖 配置application.yml文件 nacos写入配置文件 首先,还是需要导入依赖 然后在nacos中编写配置文件 prod是我自定义的一个命名空间,在这里面进行配置文件编写~ 启动类上加上注解 编写Patt…

Apache kylin面试题50道题及参考答案(2万字长文)

目录 什么是Apache Kylin,它主要用于解决什么问题? 解释OLAP和Kylin是如何关联的。

【网络安全产品】---应用防火墙(WAF)

what Web应用防火墙(Web Application Firewall) WAF可对网站或者App的业务流量进行恶意特征识别及防护,在对流量清洗和过滤后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常等问题,从而保障…

Ubuntu18.04 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法

解决办法: ssh-keygen -R 192.168.11.11 注意根据自己的实际地址 参考博客:【linux】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法_warning: remote host identification has changed!-CSDN博客

【平衡二叉树】AVL树(右单旋和左单旋的情况)

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | 初阶数据结构 | Linux 文章目录 1. AVL树的定义2. C实现AVL树2.1 插入——左左型的右旋2.2 插入——右右型的左旋 3. 总结 1. AVL树的定…

政安晨:【Keras机器学习示例演绎】(三十五)—— 使用 LayerScale 的类注意图像变换器

目录 简介 导入 层刻度层 随机深度层 类注意力 会说话的头注意力 前馈网络 其他模块 拼凑碎片:CaiT 模型 定义模型配置 模型实例化 加载预训练模型 推理工具 加载图像 获取预测 关注层可视化 结论 政安晨的个人主页:政安晨 欢迎 &#…

Mysql技能树学习

查询进阶 别名 MySQL支持在查询数据时为字段名或表名指定别名&#xff0c;指定别名时可以使用AS关键字。 BETWEEN AND条件语句 mysql> SELECT * FROM t_goods WHERE id BETWEEN 6 AND 8; 查询特定数据 &#xff08;CASE&#xff09; select name,case when price <…