cnn模型训练——从环境搭建到模型部署

Posted 重力异常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cnn模型训练——从环境搭建到模型部署相关的知识,希望对你有一定的参考价值。

一、准备python环境

以Windows平台为例:

1.安装python3

直接默认安装,并且添加到PATH。

安装完毕后在命令行输入python回车查看是否安装成功。

2.更换pip源

在win+R运行输入%APPDATA%,点击确定,进入C:Users\\用户名\\AppData\\Roaming文件夹,在该文件夹下新建文件夹pip,在pip下新建文本文件,在其中填入如下内容,然后将文件命名为pip,扩展名改为ini。

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

 3.创建虚拟环境

通过pip安装virtualenv:

pip install virtualenv

测试安装:

virtualenv --version

创建一个文件夹用来存放虚拟环境,命名Envs。cd进目录:

创建虚拟环境:

virtualenv venv01

4.安装pycharm并新建project

进入官网下载,有免费社区版和付费专业版(学生免费)。任选其一即可。

pycharm官网下载(网速极慢)

下载完安装,下一步、下一步、默认安装就行。安装完打开,点击Creat New Project:

选择项目存放路径——>点击Existing interpreter——>点击【...】

找到刚刚用virtualenv创建的虚拟环境下的python.exe,点击OK,勾选Make available to all projects:

点击Creat创建项目:

5.安装tensorflow

点击Terminal打开终端:

输入

pip install tensorflow

安装tensorflow,注意到是安装到虚拟环境里,这样有助于保护系统,并且如果后续环境炸了,可以直接删库重建,十分方便。

同样的方法安装opencv-python等库,缺少库pycharm会报红,按提示安装相应库即可。

二、模型训练

以图像分类模型为例:

将准备好的文件放进项目文件夹里:

CNN_net.py使用keras创建了模型,app.py是模型训练程序。

首先将下载的数据集放进dataset文件夹里,按类别再分文件夹放置,文件夹名就是类别标签名。然后创建output文件夹(不会自动创建,不创建会报错)。

训练程序用到了cv2对图像进行处理,cv2不支持中文路径和中文文件名,如果批量下载的图片带中文,先使用rename.py批量重命名,按需改动path和name:

确认无误后,在终端执行

python app.py

等待训练完成,在output文件夹里生成模型文件cnn.h5。

三、模型测试

将欲测试的图片(可以是dataset里的图片,也可以是另外找的图片)放进cs_image文件夹里。更改test.py中的图片文件名与测试图片文件名相同:

在终端执行

python test.py

将显示图片和预测的分类结果及其概率:

四、.h5模型转.tflite

更改keras2tflite_int.py中的DATADIR和CATAGORIES分别为数据集路径和标签名:

在终端执行

python keras2tflite_int.py

在output文件夹中生成cnn.tflite模型文件。

以上是关于cnn模型训练——从环境搭建到模型部署的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch从头搭建并训练一个神经网络模型(图像分类CNN)

PyTorch从头搭建并训练一个神经网络模型(图像分类CNN)

从零开始搭建深度学习验证码识别模型

PPv3-OCR自定义数据从训练到部署

AI常用框架和工具丨8. Keras实现基于CNN的手写数字识别

AI常用框架和工具丨8. Keras实现基于CNN的手写数字识别