【新手基础教程】训练自己的分类和检测模型
# 训练自己的分类和检测模型### Maixhub 模型训练
Maixhub 提供模型训练功能和模型分享功能, 只需要准备好需要训练的数据集, 不需要搭建训练环境和代码, 上传训练数据即可快速训练出模型
目前 Maixhub 支持分类模型 和 目标检测模型的训练。
你需要做的:
- 确定目标, 是分类还是检测
- 根据使用说明制作符合要求的数据集
- 上传数据集等待云端自动训练
- 训练完成, 结果会通过邮件进行通知, 不管是成功还是失败,都会有邮件通知,里面有详细的任务信息和结果文件
Maixhub 使用说明参考(https://www.maixhub.com/index/mtrain/help.html)
# 本地模型训练
本地模型训练使用(https://github.com/sipeed/maix_train)这份代码进行, 使用了 Tensorflow 作为训练框架
主要支持:
- 物体分类模型(使用 Mobilenet V1): 只识别图片中的物体是什么
- 物体检测模型(使用 YOLO V2): 找到图片中认识的图体,并同时找到其坐标和大小
## 1. 系统环境
首先,需要一台有 Linux 系统的电脑 如果你的主力系统是 Windows, 你可以用以下系统环境:
- 使用虚拟机,`virtual box`或者`vmware`都可以, 系统推荐安装`Ubuntu20.04`
- 或者安装双系统,安装方法请自行搜索学习,或者看[这个双系统安装教程](https://neucrack.com/p/330)
你可能想着在`Windows`下面进行开发, 但是这里强烈建议使用`Linux`而不是`Windows`:
- 首先,大多数模型训练框架都是首先支持`Linux`, 在`Linux`下面开发的难度会比`Windows`下开发更加容易
- 作为一个开发者, 学会使用`Linux`是基础技能,当然,除非你是`Windows`狂热粉, 那我相信你一定有把其它系统的软件移植到`Windows`的能力
## 2. 软件安装
训练可以使用 CPU 进行训练,但是速度比较慢, 如果使用专用的显卡(GPU)进行加速,速度会快非常多,个人一般使用`Nvidia`的显卡, 比如`RTX 3090`, 当然,使用普通的`GTX 1060 6G内存`版本就可以愉快使用了
初次接触,建议先使用 CPU 进行训练,环境安装会简单很多很多, 以下只讲 CPU 训练的方法, GPU 请自行学习
> GPU 使用可以参考 Tensorflow 官方(https://tensorflow.google.cn/install/gpu), 如果你显卡驱动遇到了问题,可以参考[这里](https://neucrack.com/p/252), 另外如果你用(https://tensorflow.google.cn/install/docker)遇到了问题, 也可以看[这里](https://neucrack.com/p/116)
接下来的使用方法摘抄于仓库的(https://github.com/sipeed/maix_train/blob/master/README.md), 如果有出入, 以仓库的`README`为准,注意分辨
- 将训练代码克隆到本地
```
git clone https://github.com/sipeed/maix_train --recursive
```
- 安装依赖
```
cd maix_train
pip3 install -r requirements.txt
```
中国用户可以使用阿里云或者清华的源, 下载速度更快
```
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
```
- 下载(https://github.com/kendryte/nncase/releases/tag/v0.1.0-rc5)并解压到`maix_train/tools/ncc/ncc_v0.1`, 保证可执行文件的路径是`maix_train/tools/ncc/ncc_v0.1/ncc`
- 配置工程
先初始化工程
```
python3 train.py init
```
然后根据你的硬件情况,编辑`maix_train/instance/config.py`配置
## 3. 准备数据集
准备数据集, 图片大小为`224x224`, 格式可以参考`maix_train/datasets`下的数据集示例
也可以看(https://www.maixhub.com/index/mtrain/help.html)
## 4. 训练分类模型
```
python3 train.py -t classifier -z datasets/test_classifier_datasets.zip train
```
或者解压数据集到文件夹,指定数据集文件夹
```
python3 train.py -t classifier -d datasets/test_classifier_datasets train
```
## 5. 训练目标检测模型
```
python3 train.py -t detector -z datasets/test_detector_xml_format.zip train
```
## 6. 使用模型
和使用`Maixhub`训练的模型一样, 在`out`文件夹会生成一个`zip`文件,里面包含了结果,把**所有**文件拷贝到`SD`卡根目录,然后开发板上电运行即可 详细,我顶
页:
[1]