当前位置: 首页 > wzjs >正文

武汉网站设计搜索引擎有哪些分类

武汉网站设计,搜索引擎有哪些分类,湖北专业网站建设市面价,windows同步wordpress一、背景介绍 随着深度学习技术的快速发展,卷积神经网络(CNN)在图像识别、图像分类等领域取得了显著成果。本教学案例将引导学生使用TensorFlow 2框架构建并训练一个简单的CNN模型,用于MNIST手写数字分类任务。 二、输入数据 M…
一、背景介绍

随着深度学习技术的快速发展,卷积神经网络(CNN)在图像识别、图像分类等领域取得了显著成果。本教学案例将引导学生使用TensorFlow 2框架构建并训练一个简单的CNN模型,用于MNIST手写数字分类任务。

二、输入数据

MNIST数据集是一个包含手写数字(0-9)的图像数据集,由60000张训练图像和10000张测试图像组成,每张图像为28x28像素的灰度图[8][9]

三、步骤讲解
  1. 环境设置

    • 确保已安装TensorFlow 2库,可以使用pip install tensorflow命令进行安装。
    • 导入必要的库,包括TensorFlow、NumPy等。
  2. 数据准备

    • 加载MNIST数据集。
    • 对数据进行预处理,如归一化等。
  3. 模型构建

    • 使用TensorFlow的Keras API构建CNN模型。
    • 定义模型结构,包括卷积层、池化层、全连接层等。
  4. 模型编译

    • 配置模型的损失函数、优化器和评估指标。
  5. 模型训练

    • 使用训练数据对模型进行训练。
    • 监控训练过程中的损失和准确率。
  6. 模型评估

    • 在测试数据集上评估模型性能。
    • 输出测试准确率等指标。
  7. 模型预测

    • 使用训练好的模型对新的图像数据进行预测。
四、代码讲解及注释
# 导入必要的库
import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np
import matplotlib.pyplot as plt# 加载MNIST数据集
mnist = tf.keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()# 数据预处理:归一化
train_images, test_images = train_images / 255.0, test_images / 255.0# 构建CNN模型
model = models.Sequential([# 第一个卷积层,32个3x3的卷积核,激活函数为ReLUlayers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),# 最大池化层,2x2的池化窗口layers.MaxPooling2D((2, 2)),# 第二个卷积层,64个3x3的卷积核,激活函数为ReLUlayers.Conv2D(64, (3, 3), activation='relu'),# 最大池化层,2x2的池化窗口layers.MaxPooling2D((2, 2)),# 将多维输入一维化,全连接层layers.Flatten(),# 全连接层,128个神经元,激活函数为ReLUlayers.Dense(128, activation='relu'),# 输出层,10个神经元(对应0-9数字),激活函数为Softmaxlayers.Dense(10, activation='softmax')
])# 打印模型摘要
model.summary()# 编译模型
model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),metrics=['accuracy'])# 训练模型
history = model.fit(train_images.reshape(-1, 28, 28, 1), train_labels, epochs=10, validation_data=(test_images.reshape(-1, 28, 28, 1), test_labels))# 评估模型
test_loss, test_acc = model.evaluate(test_images.reshape(-1, 28, 28, 1), test_labels, verbose=2)
print('\nTest accuracy:', test_acc)# 可视化训练过程
plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.ylim([0, 1])
plt.legend(loc='lower right')
plt.show()# 模型预测
predictions = model.predict(test_images.reshape(-1, 28, 28, 1))# 显示预测结果
def plot_image(i, predictions_array, true_label, img):predictions_array, true_label, img = predictions_array[i], true_label[i], img[i]plt.grid(False)plt.xticks([])plt.yticks([])plt.imshow(img, cmap=plt.cm.binary)predicted_label = np.argmax(predictions_array)if predicted_label == true_label:color = 'blue'else:color = 'red'plt.xlabel("{} {:2.0f}% ({})".format(class_names[predicted_label],100*np.max(predictions_array),class_names[true_label]),color=color)# 显示前5张测试图像的预测结果
num_rows = 5
num_cols = 3
num_images = num_rows * num_cols
plt.figure(figsize=(2 * 2 * num_cols, 2 * num_rows))
for i in range(num_images):plt.subplot(num_rows, 2 * num_cols, 2 * i + 1)plot_image(i, predictions[i], test_labels[i], test_images[i])
plt.tight_layout()
plt.show()
五、代码注释说明
  1. 数据加载与预处理

    • 使用tf.keras.datasets.mnist加载MNIST数据集。
    • 将图像数据归一化到[0, 1]范围内,以便模型更好地学习。
  2. 模型构建

    • 使用Sequential模型,通过堆叠层来构建CNN。
    • 定义了两个卷积层,每个卷积层后面跟一个最大池化层,用于提取图像特征。
    • 使用Flatten层将多维输入一维化,以便后续的全连接层处理。
    • 定义了一个全连接层和一个输出层,输出层使用Softmax激活函数进行多分类。
  3. 模型编译

    • 使用Adam优化器来优化模型参数。
    • 使用SparseCategoricalCrossentropy作为损失函数,适用于整数编码的类标签。
    • 指定评估指标为准确率。
  4. 模型训练

    • 使用fit方法对模型进行训练,指定训练集和验证集。
    • 设置训练轮次(epochs)为10。
  5. 模型评估

    • 在测试集上评估模型性能,输出测试准确率。
  6. 模型预测与可视化

    • 使用训练好的模型对测试集进行预测。
    • 可视化部分测试图像的预测结果,包括真实标签和预测标签。

通过本案例,大家可以掌握使用TensorFlow 2构建并训练CNN模型的基本流程,包括数据准备、模型构建、模型编译、模型训练、模型评估和模型预测等步骤。

http://www.dtcms.com/wzjs/234303.html

相关文章:

  • mysql做网站怎么查看数据库独立站建站平台
  • 如何制作简单软件苏州排名搜索优化
  • 镇政府网站模板搜索引擎优化策略
  • wordpress内插件翻译关键词优化到首页怎么做到的
  • 两个网站合并建设实施方案58同城发布免费广告
  • wordpress如何修改成中文字体自动app优化
  • app排版网站三一crm手机客户端下载
  • 公司网站建设比较好的公司刷排名的软件是什么
  • 成都网站建设四川推来客网络友情链接收录
  • 网站版面设计说明seo课程培训机构
  • 当当网网站的建设过程晚上偷偷看b站软件推荐
  • 小工作室做网站湖南企业竞价优化
  • 计算机机应用网站建设与维护长沙网站公司品牌
  • 济南网站设计价格百度识图搜索
  • 正规的网站制作与推广南宁seo推广优化
  • 生态建设研究所网站环球网今日疫情消息
  • 盘古建站模板外贸订单一般在哪个平台接?
  • 网络平台管理制度百度推广seo效果怎么样
  • 网络游戏的特点seo外链平台热狗
  • 怎么做淘宝链接网站google推广教程
  • 无锡网站建设团队微信附近人推广引流
  • 屯留做网站哪里好西安seo顾问培训
  • 泰安建材网站建设电话站内推广
  • 做版权素材网站门槛搜收录网
  • 做网站店铺图片用什么软件企业网络的组网方案
  • 网站开发数据库设计百度seo视频教程
  • 网站建设优点搜索推广开户
  • 建个微网站多少钱seo综合查询
  • 企业网页设计网站案例网站关键词怎么快速上排名
  • 容城县建设银行网站湛江今日头条新闻