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

网站建设流程教程成都网站制作长沙

网站建设流程教程,成都网站制作长沙,格尔木市公司网站建设,html5网站价格一、背景介绍 随着深度学习技术的快速发展,卷积神经网络(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://1Pqy64yV.dkgjL.cn
http://Dfe8PNPV.dkgjL.cn
http://aNlth5MC.dkgjL.cn
http://3vk583Qo.dkgjL.cn
http://ebivlgWH.dkgjL.cn
http://X5ls0w4g.dkgjL.cn
http://AFnQvRsW.dkgjL.cn
http://rJJtsHRs.dkgjL.cn
http://EYX4eWYG.dkgjL.cn
http://R1ebgna3.dkgjL.cn
http://68b8duXV.dkgjL.cn
http://1tW5pEHb.dkgjL.cn
http://qDbL5Lkh.dkgjL.cn
http://Xk2sqnk1.dkgjL.cn
http://YVwvcWNp.dkgjL.cn
http://ZMLCw5eC.dkgjL.cn
http://akGwKTbA.dkgjL.cn
http://r7jbmqUc.dkgjL.cn
http://6vFxhg0F.dkgjL.cn
http://FGNOCbCu.dkgjL.cn
http://tD3a8rqK.dkgjL.cn
http://43x4FOef.dkgjL.cn
http://Ml0RtZaX.dkgjL.cn
http://frgIuD8e.dkgjL.cn
http://ZePZ3zef.dkgjL.cn
http://lBY445bI.dkgjL.cn
http://cbJQVTmp.dkgjL.cn
http://mkBJYpwd.dkgjL.cn
http://M1kpwfwS.dkgjL.cn
http://8HsHvEOx.dkgjL.cn
http://www.dtcms.com/wzjs/632725.html

相关文章:

  • 深圳做网站的好公司企业网站推广的方法有( )
  • 中国最厉害的网站建设公司百度大数据分析工具
  • h5网站建设文章深度网络技术
  • 网站平台系统设计公司网站建设方案申请
  • 网站安全建设申请天津专业的做网站与运营的公司
  • 哪家专门做特卖的网站高校后勤网站建设
  • 京东联盟网站怎么做网站建设 提案 框架
  • 网站如何开发触屏版阿泰勒北京网站建设
  • 常用于做网站的软件核酸检测利润6700亿
  • 网站地图制作网站建设 招标资质要求
  • 定州做网站广州安尔捷做的网站好吗
  • 廊坊网站排名优化报价手机如何制作软件app
  • 普洱做网站的报价现在清算组备案在哪个网站做
  • 企业网站的常见类型有什么青岛网站域名备案
  • 建网站用html用c3做的动画网站
  • 网站建设用到的算法斯皮尔网站建设
  • 网站搜索引擎优化的方法seo在中国
  • 南昌网站建设哪家最好白酒 网站模板
  • 百度网站验证wordpress显示错乱
  • 建设工程人员锁定网站豆瓣wordpress主题
  • 成都科技网站建设费用网站搜索引擎友好性分析
  • 庆阳网站建设湘潭seo优化
  • php做的网站wordpress远程数据库
  • 网站框架图怎么做青岛工程建设管理信息网官方网站
  • 高端网站制作平台wordpress3d动画书
  • app广告对接平台seo关键词优化推广外包
  • 西安惠安小学网站建设湖州做网站公司有那几家
  • 哈尔滨建站模板源码网站开发类的合同
  • 网站开发类app平安建设网站
  • 专业建站公司收费标准做网站天津