基于卷积神经网络的分类算法
应用机器学习模型采用卷积神经网络,部署在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()方法加载数据集。
由于在线下载速度较慢,可以选择离线导入数据集,在GitHub上下载Fashion-MNIST,下载地址为:https://github.com/zalandoresearch/fashion-mnist。在当前工作目录下创建\FashionMNIST文件夹,并在其中创建\raw和\processed文件夹,将下载好的数据集放入\raw下,再使用上述代码导入即可,如图2-5所示。
为丰富图像训练集,更好地提取图像特征,提高模型泛化能力,防止模型过拟合,提升模型的健壮性,需要对训练集数据进行增强。常用的方式有旋转图像、剪切图像、改变图像色差、扭曲图像特征、改变图像尺寸大小、增强图像噪音等。在PyTorch中,tansforms类提供了20余种图像处理的方法,可用于数据增强。