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

长沙seo优化推广宝鸡seo培训

长沙seo优化推广,宝鸡seo培训,玉环 网站建设,关于申请建设门户网站的一、背景介绍 随着深度学习技术的快速发展,卷积神经网络(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/82769.html

相关文章:

  • 网站seo方案案例关键词优化上海
  • 公司网站制作策划盘古百晋广告营销是干嘛
  • 网站设计错误网页设计与制作知识点
  • 委托 网站开发 进什么费用北京口碑最好的教育机构
  • 网站建设友情链接怎样交换哪有恶意点击软件买的
  • C语言开发网站开发语言广州今日头条新闻最新
  • 徐州手工活外发加工网搜索引擎优化的内容包括
  • 物流网站建设目标网站营销与推广
  • 南宁网页制作招聘泰州百度seo
  • 政府网站建设方案范文 工作方案b2b平台排名
  • 无锡网站建百度的主页
  • 长沙seo网站排名整合营销传播策划方案
  • 中华人民建设部网站seo行业岗位
  • 惠州企业建站模板信息流优化师证书
  • 深圳市盐田区住房建设局网站百度关键词优化排名
  • win7做网站seo引擎优化教程
  • 酷虎云建站seo网站排名后退
  • 衡水网站制作费用网站平台怎么推广
  • 山东网站设计公司无锡百度推广平台
  • 沈阳模板建站代理新闻平台发布
  • 常德房产网嘉兴seo外包公司
  • 有没有做卡商的网站交换友情链接的渠道
  • 潍坊做网站的企业谷歌浏览器下载手机版最新版
  • h5模板网站有哪些昆明网络营销公司哪家比较好
  • 国内搜索网站嘉兴seo报价
  • 张家界网站建设企业佛山网站建设排名
  • php网站开发实例教程 传智播客市场营销案例
  • 网站目前如何做外链网络公司seo教程
  • wordpress有多强大南宁关键词优化软件
  • 合肥网站建设 微笑互联怎么在百度上推广产品