K210——Linux本地训练环境
前言
记录一下Maix bit在Ubuntu环境下的本地训练配置,虽然官方文档已经写的非常详细,但是仍然出现了一点问题,所以写博客记录一下防止下次配置的时候忘记了。
环境版本
Ubuntu:20.04
Python:3.8.10
1、安装pip3
在Ubuntu20.04中已经去掉了python2的环境,并且在安装的时候默认安装了Python3.8.10的版本,因此省去了安装python的步骤,使用其他版本Ubuntu的需要先进行python的安装,当然使用3.7等不是太老的版本应该都是OK 的。
Python3 -V //使用该命令查看Python版本
确认Python版本没有问题后安装一下pip工具,使用如下命令:
sudo apt install python3-pip
接下来就是安装官方文档进行配置了
下载训练代码到本地
git clone https://github.com/sipeed/maix_train --recursive
提示:这里的话使用手机的USB网络分享会更快,因为仓库服务器不在国内,所以有时候可能会进不去。
安装依赖
到下载下来的文件目录中执行以下代码
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
随后到文件中新建tools文件夹
到下面的路径中下载对应的nccser工具
Github超链接
并将文件解压到如下目录结构中,将解压后的文件重命名为ncc_v0.1
整体目录结构为:maix_train/tools/ncc/ncc_v0.1
配置工程
1、初始化
python3 train.py init
初始化完成后会生成instance文件夹,可以自行配置其中的config.py文件进行自己的训练要求配置。使用官方提供的demo的话无需修改配置。
开始训练
在前面的下载训练代码中,已经包含了demo 的数据集文件(在datasets中),所以直接训练即可
python3 train.py -t detector -z datasets/test_detector_xml_format.zip train
在训练的过程中,我报错了以下内容:
通过翻译,大致内容是一些组件的版本不兼容的问题,查看报错信息,第一行就是:2022-06-20 22:20:23,694 - [ERROR]: train datasets not valid: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
因此,不妨更新一下protoc 的版本,使用以下命令:
pip install 'protobuf~=3.19.0'
更新完成后便可以顺利的训练了。
模型使用
训练完成后,会在out文件夹下生成对应的压缩文件,里面包含了训练的线性曲线、官方的开机LOGO、模型文件、标签文件及示例代码
代码还没来得及研究,通过尝试发现官方给的代码有点小问题
默认情况下,官方示例是使用72行进行main函数调用,但是其中的模型地址参数填写的是flash中的地址,如果是使用SD卡进行测试的话,是无法运行出训练结果的,因此我们需要将其注释,并使用下方73行的代码进行测试,最终实现了测试结果。
效果图如下: