卷积神经网络分类算法的模型训练

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 卷积神经网络分类算法的模型训练

卷积神经网络分类算法的模型训练

启动Web服务器、应用使用说明和测试结果示例。

模型创建与编译

原VGG-16模型要求输入224×224×3的图片,限于GPU的计算能力,选择将28×28×1的数据集图片大小重置为56×56×1,由此计算出进入第一个全连接层的图像尺寸为7×7×256;最后一个全连接层输出值设为类别数量10。按设计好的参数定义模型结构,代码如下:

e1ac6b9397694c9f9cedabea1d4ce07f.png

为了评估实际情况和预测情况的差距,引入相对熵来描述这一差距。本模型是多类别的分类问题,因此选用经典的交叉熵作为损失函数,代码如下:

#损失函数

loss=nn.CrossEntropyLoss()

为了进行参数的调整和更新,以达到损失函数的最小化或最大化,使模型产生更好更快的效果,需要选择训练策略。本模型选择Adam优化算法,它具有能计算每个参数的自适应学习率的特点。因此,可以设置学习率为默认值0.001。

#优化算法

optimizer=optim.Adam(net.parameters(),lr=0.001)

模型训练及保存

定义模型结构及损失函数后,需要对模型进行训练,使其具有服装图像分类的能力。经过训练的模型需要测试,以评估模型的训练效果。根据训练和测试的效果进行参数的调整后,保存模型。设定训练集batch_size=50,则每训练50张图片后进行一次迭代,根据损失函数前向传播,完成参数更新。

229b27558ee444a3a13ccf7eb67409de.png

为使训练效果更加直观,可以借助画图工具对训练过程可视化,模型将在每一个训练周期结束后保存损失值和准确度。

模型保存

在模型训练过程中,同时保存模型当前已训练周期数、权重、损失函数、优化算法,便于在训练终止后从当前进度恢复训练,并同时保存每个周期的损失值和正确率,以方便数据可视化。

模型生成

该应用分两部分:一是网页端交互功能,用户可以上传需要分类的图片并查看分类结果;二是图片预处理,将图片转换为PyTorch能够处理的格式并输入模型中,获取图片分类结果。

获得用户上传的图片并输入至模型获得对应的分类,将标签和图片写入数据库中。为了提高数据库的稳定性,采用bulk_create()方法批量写入数据,避免每写入一条数据就需要调用和关闭数据库的烦琐操作。

3e40cd851fa548edafa8432038956911.png

图像预处理

使用PIL库作为打开图片的方式,类型为Image,并将图片转为灰度图像。

3fe41078992e425cb9490bcb61d266d2.png

为使图片符合输入模型的数据格式,对图像进行预处理。模型输入图像大小要求为56×56,因此,修改用户输入的图像分辨率为56×56;为了对图像进行数据化处理,将PIL Image对象转换为numpy类型;原始数据集图片为黑底色白图案,将输入图片进行黑白色反转;PyTorch要求的数据输入格式为[b,c,h,w],需要扩展numpy的维数,再转换成Tensor张量。


模型调用与导入

首先,进行实例化;其次,使用load()方法加载模型的权重;最后,使用load_state_dict()方法将参数加载到网络上。

8e7f13339337429b8b7113929d927f85.png

目录
相关文章
|
6天前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
9天前
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
12 2
|
9天前
|
机器学习/深度学习 自然语言处理 算法
什么是卷积神经网络
【10月更文挑战第23天】什么是卷积神经网络
16 1
|
12天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
49 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
6天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的决策树算法
【10月更文挑战第29天】本文将深入浅出地介绍决策树算法,一种在机器学习中广泛使用的分类和回归方法。我们将从基础概念出发,逐步深入到算法的实际应用,最后通过一个代码示例来直观展示如何利用决策树解决实际问题。无论你是机器学习的初学者还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。
|
9天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第26天】在这篇文章中,我们将深入探讨卷积神经网络(CNN)的基本原理、结构和应用。CNN是深度学习领域的一个重要分支,广泛应用于图像识别、语音处理等领域。我们将通过代码示例和实际应用案例,帮助读者更好地理解CNN的概念和应用。
|
11天前
|
机器学习/深度学习 算法 计算机视觉
深度学习与生活:如何利用卷积神经网络识别日常物品
【10月更文挑战第24天】在这篇文章中,我们将探索深度学习如何从理论走向实践,特别是卷积神经网络(CNN)在图像识别中的应用。通过一个简单的示例,我们将了解如何使用CNN来识别日常生活中的物体,如水果和家具。这不仅是对深度学习概念的一次直观体验,也是对技术如何融入日常生活的一次深刻反思。文章将引导读者思考技术背后的哲理,以及它如何影响我们的生活和思维方式。
|
28天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
14天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。

相关产品

  • 人工智能平台 PAI