基于卷积神经网络的分类算法

简介: 基于卷积神经网络的分类算法

基于卷积神经网络的分类算法

应用机器学习模型采用卷积神经网络,部署在Web环境中,通过Fashion-MNIST数据集进行模型训练和改进,实现网页端服装类别精准识别。

运行环境

在Windows系统中下载Anaconda,下载地址为:https://www.anaconda.com/。本项目采用Python 3.6版本,完成Anaconda的安装并配置好环境变量,也可以下载虚拟机在Linux环境下运行代码。

Python环境

在Windows系统中下载Anaconda,下载地址为:https://www.anaconda.com/。本项目采用Python 3.6版本,完成Anaconda的安装并配置好环境变量,也可以下载虚拟机在Linux环境下运行代码。

PyTorch环境

打开Anaconda Prompt,添加清华仓库镜像,输入命令:

conda config–add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config–add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config-set show_channel_urls yes

创建新的Python环境,名称为PyTorch,Python版本号要对应,输入命令:

conda create-n pytorch python=3.6

有需要确认的地方,都输入y。

在Anaconda Prompt中激活PyTorch环境,输入命令:

activate pytorch

在PyTorch官网查看可供选择PyTorch版本、系统版本、安装方式以及编程语言,获得下载命令,还可选择CUDA加速,下载地址为:https://pytorch.org/get-started/locally/

选用Stable 1.4版本、Windows系统、conda安装包、Python语言以及CUDA 10.1版本的PyTorch,在Anaconda Prompt中安装,输入命令:

conda install pytorch torchvision cudatoolkit=10.1

有需要确认的地方,都输入y,安装完成。

Django环境

打开Anaconda Prompt,激活PyTorch环境,输入命令:

activate pytorch

下载Django,输入命令:

conda install Django

有需要确认的地方,都输入y,安装完成后检查是否成功安装了Django,输入命令:

conda list

若有显示结果,则Django成功安装。

数据预处理

Fashion-MNIST是德国研究机构Zalando Research推出的一个全新的数据集,其中训练集包含60000个样例,测试集包含10000个样例,每个样本都为28×28的单通道灰度图像。该数据集的样本来自日常穿着的时尚单品,共10个类别,分别为[0]T-shirt/top、[1]Trouser、[2]Pullover、[3]Dress、[4]Coat、[5]Sandal、[6]Shirt、[7]Sneaker、[8]Bag、[9]Ankle boot。

Fashion-MNIST在PyTorch中是内置的数据集,对datasets类使用API下载即可,对于datasets类的对象,可以使用DataLoader()方法加载数据集。


411102827557457c9b8c4cf9366c349d.png


由于在线下载速度较慢,可以选择离线导入数据集,在GitHub上下载Fashion-MNIST,下载地址为:https://github.com/zalandoresearch/fashion-mnist。在当前工作目录下创建\FashionMNIST文件夹,并在其中创建\raw和\processed文件夹,将下载好的数据集放入\raw下,再使用上述代码导入即可,如图2-5所示。

为丰富图像训练集,更好地提取图像特征,提高模型泛化能力,防止模型过拟合,提升模型的健壮性,需要对训练集数据进行增强。常用的方式有旋转图像、剪切图像、改变图像色差、扭曲图像特征、改变图像尺寸大小、增强图像噪音等。在PyTorch中,tansforms类提供了20余种图像处理的方法,可用于数据增强。


目录
相关文章
|
6天前
|
机器学习/深度学习 数据采集 自然语言处理
理解并应用机器学习算法:神经网络深度解析
【5月更文挑战第15天】本文深入解析了神经网络的基本原理和关键组成,包括神经元、层、权重、偏置及损失函数。介绍了神经网络在图像识别、NLP等领域的应用,并涵盖了从数据预处理、选择网络结构到训练与评估的实践流程。理解并掌握这些知识,有助于更好地运用神经网络解决实际问题。随着技术发展,神经网络未来潜力无限。
|
1天前
|
机器学习/深度学习 编解码 边缘计算
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
本文介绍了如何在YOLOv5中用ShuffleNetV2替换卷积以减少计算量。ShuffleNetV2是一个轻量级网络,采用深度可分离卷积、通道重组和多尺度特征融合技术。文中提供了一个逐步教程,包括ShuffleNetV2模块的代码实现和在YOLOv5配置文件中的添加方法。此外,还分享了完整的代码链接和GFLOPs的比较,显示了GFLOPs的显著减少。该教程适合初学者实践,以提升深度学习目标检测技能。
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
|
4天前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
6天前
|
机器学习/深度学习 算法 PyTorch
卷积神经网络的结构组成与解释(详细介绍)
卷积神经网络的结构组成与解释(详细介绍)
26 0
|
6天前
|
机器学习/深度学习 算法 网络架构
什么是神经网络学习中的反向传播算法?
什么是神经网络学习中的反向传播算法?
10 2
|
6天前
|
机器学习/深度学习 算法 数据挖掘
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
14 1
|
6天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
12 1
|
6天前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
35 1
卷积神经网络(CNN)的数学原理解析
|
6天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
14 2
|
6天前
|
机器学习/深度学习 算法 PyTorch
卷积神经网络(CNN)——基础知识整理
卷积神经网络(CNN)——基础知识整理
30 2