MX-Yolov3本地训练模型的安装和使用
装K210的本地训练模型初心是防止电赛,或者其他大型比赛时云端训练的人数过多,从而训练时间过长,浪费大量时间。总得来说发现以下几个情况:
- Maix的本地训练:不知道是不是我的问题,我来来回回重新装了好几遍,但是最后都会显示“model numpy”版本过低,但是升级“numpy”后,又与其他model不兼容,于是放弃。
- MX-Yolov3:模型测试和模型转化[k210的模型是(.kmodel),但yolov3训练结果的模型是(.tflite),所以需要转化模型]
- Maix的本地训练和MX-Yolov3并不兼容,前者需要Python3.8,后者需要Python3.7.4,而且MX-Yolov3安装时不能有其他Python版本。
- MX-Yolov3训练结束后模型默认保存路径的错误,这个后面回写解决方法
首先感谢CSDN的大佬的帮助:
vott使用和数据集的制作请看这位大佬
MaixHub在线训练的使用看这
脚本运行和脱机运行看这里喔
Mx-yolov3+Maixpy+ K210进行本地模型训练和目标检测
其实大佬们讲解的很详细了,我写这个文章主要是把我自己遇到的问题和解决方法写出来
MX-Yolov3环境配置
自废武功
MX-Yolov3需要的Python环境是Python3.7.4版本,如果你的电脑里有其他Python版本,要先卸载干净
Mx-yolov3软件下载
链接:https://pan.baidu.com/s/1wWJT27TolPt8lh88Q1KDBQ 提取码:zfz6
这个安装程序运行结束的目标文件夹里有着环境配置所有需要的安装包
环境配置
到MX-yolov3的解压目录下,根据下图的路径进入
点击(使用前配置.exe),进行环境配置
之后就是环境配置了,第一次的话从左到右依次点
Python3.7.4安装
- 点击安装Python3.7.4会弹出python的安装界面,然后跟随视频
【K210】识别神器Mx-yolov3安装教程。
这里再次提醒各位,一定要把其他Python版本删除干净,不然下一步会出问题。 - 打开cmd,输入
Python
即可查看Python安装版本
不出意外你会看到Python3.7.4
安装Python依赖库与预训练权重
重点!重点!重点!!!
在点击中间的(安装)按钮后,你的电脑最好不要进行其他操作,鼠标最好也别移动,不然你会发现你的配置软件会卡住 ,至于为什么,我也不知道哈哈哈哈,就是玄学
点击上面的(使用前配置.exe)图片的中间的按钮,会自动安装Python依赖库与预训练权重,运气好的话可以看到下面的图片(确实可以是说运气好,哈哈哈哈,我承认装这个非常艹)
安装CUDA和cudnn
这一步其实成功与否对Mx-yolov3是否配置成功关系不大,这个是用来配置GPU,让GPU训练模型,安装失败顶多你的CPU会哭泣,问题不大,就训练慢一些。
前面说个这个Mx-yolov3文件夹内已有安装包,所以无需下载
根据这个一步步安装和添加环境变量,但是我们可以跳过下载那一部分Cuda和Cudnn 安装教程
打开cmd,测试CUDA是否安装成功
nvcc --version
nvcc -V
正确结果:
环境配置失败解决方法
在下面的模型训练的一节中,你会知道你的环境配置是否成功。训练失败那多半都是你的环境配置有问题
解决方法了:
- 检查Python的版本,是否安装了其他Python版本
- 重复点击(安装Python依赖库与预训练权重),说不定有奇效(玄学)
- 删除安装的那个文件夹,整体删除,如果删除不掉,重启电脑,就可以成功删除,再重现安装和配置环境
环境训练
测试
准备
不要急着去制作数据集进行模型训练,可以先利用文件夹内现成的数据集去测试一下:
- 将训练次数改为1,因为只是测试,所以不需要训练那么多次
- 训练图片地址:Mx-yolov3_EN_1.2\datasets\yolo\masks\images
- 训练标签地址:Mx-yolov3_EN_1.2\datasets\yolo\masks\xml
- 点击自动提取
- 点击计算Anchor
如下图所示
开始训练
如果前面都没问题的话,正常来说,训练速度会非常快的,而且会看到End of Training
训练结束后,一般会自动弹出来训练结果的文件夹
如果看到上面的界面,证明你起飞了,让我们一起欢呼!!!!!哦耶!!!
模型测试
这里有个重点!重点!重点!!!
模型训练结束后不是弹出一个文件夹吗?它在 Mx-yolov3_EN_1.2\Model_file下,找到你刚刚训练结束的文件夹
将里面的文件全部复制粘贴到Mx-yolov3_EN_1.2\datasets\yolo\masks\Train_data这里
如图所示
点击模型测试,打开Mx-yolov3_EN_1.2\datasets\yolo\masks\Train_data,选择.h文件
等待一段时间后,就会看到这个界面
模型转换
K210用的是模型是.kmodel,MX-yolov3生成的是.tflite,所以需要转换模型
选择文件
- 模型输入路径:刚刚复制粘贴后的路径里的.tflite文件
- 模型输出路径:选择刚刚复制粘贴后的路径
- 量化图片路径:Mx-yolov3_EN_1.2\datasets\yolo\masks\Train_data\Test_img(就是模型里的测试集)
点击(转换)
不出意外的话,你会看到:
成功就会在文件夹里看到.kmodel文件
成功!!!
运行脚本
自带测试代码的,在文件夹(程序)里
点击打开boot.py文件,查看要求的文件名
我记得需要把label.txt改名为classes.txt
将boot里用的文件放到SD卡里就完成了,over!!!