K210 本地深度学习训练(目标检测数据集)教程

前言:k210是嘉楠堪智科技的边缘智能计算芯片,其搭载了神经网络处理器KPU,算力达到了0.8TFLOPS,成为了近年来热门的边缘计算选择。

        本教程主要依托sipeed公司出品的Maix系列开发版,使用python语言进行编译使用。

---------------------------------------------------------------------------------------------------------------------------------

——>!!!!项目链接:Austin-Clinton / k210 · GitCode !!!!<——

        这是我对sipeed官网的源码进行改进、debug、整合转化工具后的完整版本,省去很多不必要的麻烦与解释,建议使用我的gitcode项目配合教程进行学习。本次演示的系统为linux下的Ubuntu21.10系统,不过教程内容与window下操作无异,可互通学习。

一、配置环境

        通过上述gitcode下载解压后,打开项目文件,找到 "requirements.txt" 文档。对环境要求配置进行安装即可。

其中tensorflow版本不一定要求2.3.1,安装最新版本即可,我安装的是2.10.0版本,可行!

二、代码初始化

        打开主目录下的train.py,找到 "train" 一栏(图中鼠标托蓝处),将 "train" 改为 "init" 即可,运行程序train.py。

       运行程序后,文件中生成新子文件夹 "instance" 以及下属配置文件 "config.py" 。这个config.py就是实际训练中用来调节参数的重要配置文件!!

三、 选择目标检测模式,调用数据集进行训练

        本地训练使用的是yolo v2的代码进行训练,在这里我们参数选择 "detector" 模式,也就是检测模式,与之对应的还有 "classifier" 分类模式,这里我们不做讲解。检测模式更加常用故以此作为演示。接下来,我们选择数据集,在 "datasets" 中我已经为大家解压好了检测部分的例程数据集,直接调用即可。

接下来,进入前面生成的 "comfig.py" 配置文件,进行参数的调节,选择 # detector部分就算检测模式对应的参数。

epochs是训练轮数,batch_size是批尺寸,主要就是调节这两个参数。

一切调完以后就可以运行train.py,进行训练了(记得要将第二步 "init" 处改回 "train" 哦!)

 演示epochs参数调为10轮

训练过程可见CPU占用率几乎拉满,本机为intel core i7 +16G笔记本。

训练GPU占有率不高,原因是该训练是用以边缘计算小模型的训练,CPU的速度足以满足计算,加上GPU加速配置较麻烦若没有基础较难进行配置,为了让大家更快上手便选择了基础的CPU训练模式。

四、训练结果

        训练完成后,文件夹中会生成 "out" 的子文件,里面就包含了训练的相关结果。其中report.jpg中包含了模型损失的下降曲线。

 可见虽然只训练了10轮,但是效果还是十分明显的。

剩下的文件中,其中以.zip格式压缩的文件便包含了最终导入K210芯片的数据。

 

五、导入K210芯片

以下为spieed官方注释,清晰易懂!

---------------------------------------------------------------------------------------------------------------------------------

------------------------------------------

      Maixhub 目标检测训练结果 使用说明

------------------------------------------

文件说明:

* boot.py: 在 maixpy 上运行的代码
* *.kmodel 或者 *.smodel: 训练好的模型文件( smodel 是加密模型 )
* labels.txt: 分类标签
* startup.jpg: 启动图标
* report.jpg: 训练报告,包括了损失和准确度报告等
* warning.txt: 训练警告信息,如果有这个文件,务必阅读, 里面的原因可能会导致训练精度低

使用方法:

0. 按照文档(maixpy.sipeed.com)更新到最新的固件
   如果新固件出现bug,可以使用这个固件测试(选择minimum_with_ide_support.bin):
   https://dl.sipeed.com/MAIX/MaixPy/release/master/maixpy_v0.5.1_124_ga3f708c
1. 准备一张 SD 卡, 将本目录下的文件拷贝到 SD 卡根目录
2. SD 卡插入开发板
3. 开发板上电启动
4. 摄像头对准训练的物体,
       屏幕左上角会显示 物体标签 和 概率
       屏幕左下角会显示 运行模型消耗的时间,单位是毫秒

如果没有 SD 卡:

* 按照 maixpy.sipeed.com 文档所述的方式, 将模型烧录到 flash
* 修改 boot.py 的 main 函数调用的参数: model 在 flash 中的地址
* 其它资源文件,比如 startup.jpg 可以通过工具发送到开发板的文件系统,或者不管, 没有会自动跳过显示
* 运行 boot.py
* 如果以上的步骤您不理解,那么应该先完整按照 maixpy.sipeed.com 的文档学习一遍使用方法就会了


问题反馈:
   关于 MaixPy 的问题请到这里提问,提问前搜一下是否有相同问题提出过: https://github.com/sipeed/MaixPy/issues
   maixhub 相关问题请邮件: support@sipeed.com, 每天邮件很多,注意邮件格式很重要,不然可能得不到及时回复请谅解
        邮件标题: [maixhub][故障/建议] 标题内容,简洁描述问题 而 不是 "我需要帮助" "为什么用不了了" 这样的问题
        邮件内容: 如果是出现使用问题或者bug,为了更快更好的帮您解决问题, 请务必写好 错误现象, 详细 的复现过程
   也可以到 bbs.sipeed.com 进行讨论

---------------------------------------------------------------------------------------------------------------------------------

本次实验训练结果的压缩包

资源链接:https://download.csdn.net/download/ClintonCSDN/86724741icon-default.png?t=M85Bhttps://download.csdn.net/download/ClintonCSDN/86724741免费不用积分,可以下载自己试试。

  • 7
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
对于K210本地训练模型,你可以按照以下步骤进行操作: 1. 准备数据集:首先,你需要准备一个适合K210数据集。这可以是图像、声音或其他类型的数据集,取决于你的具体需求。 2. 构建模型:接下来,你需要选择合适的模型架构来训练K210支持多种模型架构,如ResNet、MobileNet等。你可以选择一个适合你任务的模型,并进行相应的修改。 3. 数据预处理:在训练模型之前,你需要对数据进行预处理。这可能包括数据的归一化、裁剪、缩放等操作,以确保数据的质量和一致性。 4. 训练模型:使用准备好的数据集和预处理后的数据,你可以开始训练模型。你可以使用K210提供的开发工具链和库来训练模型。在训练过程中,你可以调整超参数、监控模型性能并进行模型调优。 5. 优化模型:一旦模型训练完成,你可以对模型进行优化,以提高其性能和效率。这可以包括剪枝、量化、深度压缩等技术。 6. 部署模型:最后,你可以将训练好的模型部署到K210上进行推理。这可以是通过编写适合K210的代码,或使用K210提供的开发工具链和库进行部署。 需要注意的是,K210训练资源相对有限,因此在训练过程中可能需要进行一些优化和调整,以适应其硬件限制。此外,K210的本地训练模型与其他平台可能存在一些差异,你可能需要参考K210的文档和示例代码来进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值