在日常生活中总是有给图像分类的场景,比如垃圾分类、不同场景的图像分类等;今天的文章主要是基于图像识别场景进行模型构建。图像识别是通过 Python深度学习来进行模型训练,再使用模型对上传的电子表单进行自动审核与比对后反馈相应的结果。主要是利用 Python Torchvision 来构造模型,Torchvision 服务于Pytorch 深度学习框架,主要是用来生成图片、视频数据集以及训练模型。
模型构建
构建模型为了直观,需要使用 Jupyter notebook 进行模型的构建,Jupyter notebook 的安装及使用详见公众号历史文章 一文吃透 Jupyter Notebook,进入 JupyterNotebook 页面后即可进行编辑。详细页面如下:
导入所需包
图像识别需要用到深度学习相关模块,所以需要导入相应的包,具体导入的包如下:
1 |
|
是否使用 GPU
模型的训练主要方式是基于 GPU 或者 CPU 训练,在没有 GPU 的条件下就在 CPU 下进行训练,模型的训练需要花费一定的时间,训练时长根据训练集的数据和硬件性能而定,训练结果精确性根据数据的多少和准确性而且,深度学习需要大量的素材才能判断出精确的结果,所以需要申明使用 CPU 进行训练:
1 |
|
数据增强
将拿到的数据进行训练集的数据预处理并设置训练分层数,再将拿到的图片进行水平翻转后对图片进行剪裁, 剪裁后将图片进行随机翻转,增强随机对比度以及图片颜色变化
1 |
|
数据集和验证集准备
模型训练需要准备数据集和验证集,只有足够的照片才能得到更精准的答案。训练集和验证集部分代码如下:
1 |
|
模型构建并准备模型
1 |
|
构建模型优化器
1 |
|
模型训练和训练结果可视化
数据集和训练集准备好后进行模型训练和训练结果可视化,部分代码如下:
1 |
|
调参进行模型训练
1 |
|
保存模型
1 |
|
总结
今天的文章主要是讲图像识别模型如何构建。希望对大家有所帮助。
你安利到了吗?
示例代码 Python 教你如何给图像分类