毕业设计之「测试实验及结果分析」(一)

简介: 在毕设系列推文的第二章中我们详细介绍了TensorFlow的一些基础知识(TensorFlow 2.0 概述);在第三章(毕业设计之「神经网络与深度学习概述」 (一)、毕业设计之「神经网络与深度学习概述」(二))中对神经网络与深度学习做了简单的概述(主要介绍本章节中完成两个项目所用的一些基础概念)包括激活函数、梯度下降、损失函数、softmax算法等;并且通过简单描述全连接神经网络的不足,详细介绍了卷积神经网络的相关概念。

前言


在毕设系列推文的第二章中我们详细介绍了TensorFlow的一些基础知识(TensorFlow 2.0 概述);在第三章(毕业设计之「神经网络与深度学习概述」 (一)毕业设计之「神经网络与深度学习概述」(二))中对神经网络与深度学习做了简单的概述(主要介绍本章节中完成两个项目所用的一些基础概念)包括激活函数、梯度下降、损失函数、softmax算法等;并且通过简单描述全连接神经网络的不足,详细介绍了卷积神经网络的相关概念。


有了前面几章的基础知识,在本章中,我们会在此基础上介绍两个相关的例子(在此之前会对4.1节中对所用卷积神经网络AlexNet进行详尽的描述):其中包括利用AlexNet完成MNIST手写字的训练和识别(本文所涉及内容)以及毕业设计之「测试实验及结果分析」(二)


第一个例子是论文中要求指定完成的例子;第二个例子是为了丰富论文成果通过Python爬虫技术收集数据样本集(包括测试集图片和训练集图片,共计3762张图片)、通过搭建AlexNet标准网络结构模型进行训练,并通过测试集图片进行最终结果分析而特别引入的。



图解AlexNet网络结构


微信图片_20220611011000.png

微信图片_20220611011008.png

微信图片_20220611011015.png

微信图片_20220611011021.png

微信图片_20220611011027.png

微信图片_20220611011032.png

微信图片_20220611011037.png

微信图片_20220611011041.png

微信图片_20220611011045.png

微信图片_20220611011050.png



MNIST手写字训练和识别


微信图片_20220611011055.png

微信图片_20220611011059.png


import TensorFlow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train.reshape(-1,28,28,1) / 255.0, x_test.reshape(-1,28,28,1) / 255.0
# 毕业设计参数要求:卷积层3层、池化层3层、Relu3层,全连接层1层,连接单元数1024
model = tf.keras.models.Sequential([
  tf.keras.layers.Conv2D(input_shape = (28,28,1),filters = 32,kernel_size = 5,strides = 1,padding = "same",activation = "relu"),  # 28*28
  tf.keras.layers.MaxPool2D(pool_size = 2,strides = 2,padding = 'same'),  # 14*14
  tf.keras.layers.Conv2D(64,5,strides=1,padding='same',activation='relu'),  # 14*14
  tf.keras.layers.MaxPool2D(2,2,'same'),  # 7*7
  tf.keras.layers.Conv2D(64,5,strides=1,padding='same',activation='relu'), # 7*7
  tf.keras.layers.MaxPool2D(2,2,'same'), # 3*3
  tf.keras.layers.Flatten(),  # 64*3*3
  tf.keras.layers.Dense(1024,activation='relu'),
  tf.keras.layers.Dropout(0.5),
  tf.keras.layers.Dense(10,activation = 'softmax'),
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy',metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=32,epochs=5)


微信图片_20220611011104.png

4.11 卷积神经网络模型


微信图片_20220611011108.png

4.12 识别率展示图


相关文章
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率与准确性的策略分析
【4月更文挑战第30天】在快速发展的数字时代,软件已成为支撑现代社会运行的核心。随着软件系统的日益复杂化,确保其质量与稳定性显得尤为重要。软件测试作为保障软件质量的关键步骤,它的效率和准确性直接影响着产品的上市时间和用户体验。本文将探讨如何通过采用自动化测试工具、实施持续集成(CI)与持续交付(CD)流程、利用人工智能(AI)技术以及加强测试人员的专业培训等策略来提升软件测试的效率与准确性。
|
2天前
|
机器学习/深度学习 人工智能 数据管理
深入分析自动化测试中的挑战与机遇
【5月更文挑战第9天】随着软件行业的迅速发展,自动化测试已经成为确保软件质量、提高开发效率的关键手段。然而,在实施自动化测试过程中,企业和测试人员面临着众多挑战,包括测试脚本的维护问题、测试数据管理、与持续集成/持续部署(CI/CD)流程的融合等。本文将探讨这些挑战,并分析在这些挑战背后所隐藏的机遇,比如测试自动化工具的创新使用、人工智能(AI)在测试中的应用以及测试策略的优化。通过案例分析和最新行业趋势的讨论,我们旨在为读者提供对自动化测试未来发展的深刻见解。
|
4天前
|
安全 数据挖掘 测试技术
深入探究软件测试中的风险分析与管理
【5月更文挑战第7天】 在软件开发生命周期中,风险分析与管理是确保产品质量和项目成功的关键步骤。本文将探讨软件测试过程中如何有效进行风险评估、分类及采取相应的缓解措施。文章首先介绍了风险管理的重要性,然后详细阐述了风险识别的技术和工具,接着分析了如何制定和实施风险应对策略。最后,通过案例研究展示了一个结构化风险分析流程的实施效果。
|
7天前
|
机器学习/深度学习 人工智能 算法
深入分析自动化测试中AI驱动的测试用例生成
【5月更文挑战第4天】随着人工智能(AI)技术的飞速发展,其在软件测试领域的应用也日益广泛。特别是在自动化测试过程中,AI技术能够显著提高测试用例的生成效率和质量。本文将探讨AI在自动化测试用例生成中的应用原理、优势以及面临的挑战,并展示通过AI技术优化测试流程的实际案例。
43 8
|
9天前
|
测试技术
深入理解软件测试中的边界值分析法
【5月更文挑战第2天】 在软件测试领域,边界值分析是一种高效且实用的测试设计技术。本文将探讨边界值分析法的原理、实施步骤以及其在各种测试场景中的应用。通过对边界条件进行精确的测试,可以揭示那些可能被忽视的错误,从而提高软件产品的质量。文中还将讨论如何结合其他测试方法来优化边界值分析,确保测试过程更加全面和高效。
|
9天前
|
算法 异构计算
基于直方图的图像曝光量分析FPGA实现,包含tb测试文件和MATLAB辅助验证
该内容包括了算法的运行效果展示、软件版本信息、理论概述和核心程序代码。在正常图像中,`checkb`位于`f192b`和`f250b`之间,而多度曝光图像中`checkb`超出此范围,判断为曝光过度。使用的软件为Vivado 2019.2和MATLAB 2022a。理论依据未详细给出,但提及主要方法。提供的Verilog代码段用于处理图像数据,包括读取文件、时钟控制及图像histogram计算等,其中模块`im_hist`似乎是关键部分。
|
12天前
|
前端开发 JavaScript 测试技术
深入探索自动化测试框架:Selenium与Appium的对比分析
【4月更文挑战第29天】 在快速迭代的软件发展环境中,自动化测试已成为确保软件质量和加速产品上市的关键步骤。本文将重点探讨两种广泛使用的自动化测试框架——Selenium和Appium,通过对比它们的核心特性、适用场景及执行效率,为软件开发和测试团队提供选择指南。文章不仅分析了各自的技术架构和脚本语言支持,还讨论了它们在处理Web应用和移动应用测试时的优缺点,旨在帮助读者根据项目需求做出更加明智的选择。
|
12天前
|
机器学习/深度学习 人工智能 算法
深入分析自动化测试中AI驱动的测试用例生成技术
【4月更文挑战第29天】随着人工智能技术的不断发展,其在软件测试领域的应用也越来越广泛。本文主要探讨了AI驱动的测试用例生成技术在自动化测试中的应用,以及其对提高测试效率和质量的影响。通过对现有技术的深入分析和实例演示,我们展示了AI如何通过学习和理解软件行为来自动生成有效的测试用例,从而减少人工编写测试用例的工作量,提高测试覆盖率,降低错误检测的成本。
|
13天前
|
测试技术 项目管理
深入理解软件测试中的自动化边界值分析
【4月更文挑战第28天】 在追求效率和准确性的软件测试领域,自动化测试已经成为不可或缺的一环。本文专注于探讨自动化测试中一个特定的测试方法——边界值分析,并详细阐述其在提高测试效率和有效性方面的重要性。通过将理论与实践相结合,本文不仅解释了边界值分析的概念和重要性,还展示了如何利用自动化工具执行边界值测试,以及如何根据不同项目需求定制边界值分析策略。文章的目的在于为软件测试工程师提供一种高效的自动化测试策略,帮助他们系统地识别和处理潜在的边界问题,确保软件产品的质量。
|
13天前
|
数据可视化 测试技术 持续交付
python分析测试结果
【4月更文挑战第21天】
21 3

热门文章

最新文章