该教程主要记录自己使用K210在Windows10下面的训练过程,请严格按照教程的步骤一步步来。所需要的文件我都已经放在了阿里云盘
阿里云盘链接:
Python3.8.10
cuda10

百度网盘链接:

链接:https://pan.baidu.com/s/1fbZhCQlHQs91d7J5yi1cHA
提取码:qdeb

一、 安装python3.8和pip

推荐安装

python3.8.10

由于python3.9有一些不知名问题导致了环境可能会配置失败
点击下载安装python3.8.10,具体的安装教程各位可以自行百度安装,需要注意的是,需要把Python添加到环境变量中。与此同时,用于安装Python的软件管理工具pip也需要安添加到系统环境变量中,具体的添加教程也是可以在CSDN搜索到的,这里就不细讲。

安装之后的python,按win+r,输入cmd打开命令行,然后输入python + 回车,出现下图则表示python安装成功

在Python安装完成了之后,需要检查pip是否安装完成(在Python安装的时候是默认安装pip的)
检查方法:按win+r,输入cmd打开命令行,然后输入pip -v回车,出现下图则表示pip安装成功

二、CUDA和CUDNN环境配置

对于模型的训练,可以使用CPU或者是GPU进行训练,本教程是针对GPU训练的环境配置的。
不同版本的CUDA有所对应不同的显卡驱动版本要求,对于K210的环境,我们推荐的是CUDA10.1搭配
cudnn v7.6.5.32 for cuda 10.1,同样,我们把安装包也一起放置在了阿里云盘中。

CUDA的安装:在下载好了CUDA的压缩包之后,解压打开。会达到一个安装包文件


以管理员身份运行,具体的安装方法新手推荐默认,不需要修改任何地方。

cudnn v7.6.5.32 for cuda 10.1的安装:解压文件夹,将解压后的文件夹下的文件拷贝到cuda安装目录下,与之相对应的文件夹下。

这时CUDA的环境已经配置好了!!!

在安装完成了之后可以使用以下方法检查CUDA的环境是否配置好。
在命令行中输入python,然后再输入

import tensorflow as tf
tf.test.is_gpu_available()

回车检查一下这些文件有没有找到,和最后一行是否打印出True!!!!!如果没有,则说明你的前面的cuda和cudnn环境没有安装好,请将所有关于英伟达的软件驱动进行卸载,是卸载!!!不是将文件删除。然后再重新进行cuda和cudnn的环境配置。

三、Tensorflow安装

对于Tensorflow的安装,这是也是有要求的,需要安装tensorflow-gpu 2.3.0版
win+r,输入cmd,打开命令行

在命令行中输入:

pip install tensorflow-gpu==2.3.0

如果下载的很慢,请输入:

pip install tensorflow-gpu==2.3.0 -i https://pypi.mirrors.ustc.edu.cn/simple

然后等待安装成功即可。

四、MiaxHub本地训练

本地训练所需要的环境我们已经基本配置完成了,接下来就是对数据集的制作和运行代码进行模型训练。
1、安装依赖
首先打开我们下载好的项目文件—K210_Project
可以看到有如下几个文件

打开maix_train

再在上方地址栏输入cmd,回车,进入命令行模式


输入

pip install -r requirements.txt

(下载速度很慢的时候可以使用以下指令来提高下载速度)

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

回车,等待安装结束

2、数据集的制作
数据集的制作这里就不再详细描述,按照Sipeed官网的示例制作即可,个人建议在进行标注的时候选用Python来下载安装LabelImg来进行数据的标注。
但要注意,K210支持两种识别方式

 1、目标分类2、目标检测

两者所需要的数据集格式存在一定的差异,本文着重介绍目标检测。

3、开始训练

在前面我们打开的CMD命令行输入以下命令
对训练的环境进行初始化

python train.py init

运行训练代码

python train.py -t detector -z datasets/fruit_test.zip train

注意!!!这里面的datasets/fruit_test.zip train是你所使用的数据集,我在工程中添加了我自己使用的一份数据集,打开K210_Project\maix_train\datasets 可以看到如下文件

其中fruit_test里面包含的即为数据集,另外在该文件路径下面,还保存了其他的数据集,感兴趣的话可以自行修改指令进行训练
训练完之后在K210_Project\maix_train路径下就会得到一个out的文件夹,里面的文件就是训练之后得到的模型以及配置文件

4、模型的使用
打开上一步生成的out文件夹,会发现里面有一个压缩包—
maixhub_detector_result_2021_11_12__22_07.zip
对其解压,打开解压之后得到的文件夹,可以发现有如下内容。

这里介绍以下各个文件各自的作用:

boot.py 里面存放的是给K210使用的运行脚本文件,我们需要在MaixPy IDE里面运行该脚本,确保在IDE上面程序可以正常运行之后,还需要把该文件以脚本的形式下载到板子内部的Flash中,注意该脚本文件需要下载到0x000000地址下面,确保板子上电后首先执行的是该部分程序。此外,这部分代码并不能直接使用,需要对其进行一定的修改才可下载到K210板子上面运行。

labels.txt 里面存放的是模型文件中的分类,在修改boot.py中会根据这一部分进行修改。

m.kmodel 训练之后得到的模型文件,需要下载到板子内部Flash地址为0x300000地址中,供脚本文件调用。
README.txt 训练文件生成的提示文件,暂不需要对其进行修改。
report.jpg 训练结束之后模型内部的loss值,反应了模型内部的迭代程度以及量化程度,可以在一定程度上反应训练之后模型的准确程度,但其目前仅限于针对训练集而言,对新的目标还需要实际验证。
startup.jpg 官方定义的开机JPG界面。

了解文件夹中各个文件的作用之后,开始训练。
首先将m.kmodel利用kflash_gui.exe烧录到板子内部的Flash中,

点击下载,下载完成之后,打开MaixPy IDE,连接上开发板。
之后把boot.py里面的内容复制到MaixPy IDE开始界面,这里我们需要修改部分参数。
因为我们是直接把模型文件烧录到板子内部的Flash中,所以我们需要修改程序中模型的调用地址为model_addr=0x300000,使得程序可以在该地址下进行模型寻址。
除此之外,我们需要修改labels指向的类别分类,这里我们直接把label.py里面的内容直接替换掉原来的内容即可。

此外,还有一个需要进行修改的地方,

训练出来的模型只支持224*224的图片输入,但该部分训练生成的运行脚本默认是240*240,故需要修改该部分参数,方可运行。
程序修改完成之后,点击运行,发现成功识别

当在IDE成功运行识别程序之后,就可以把改代码以脚本的形式下载到K210中,实现开机自启。

本文章借鉴了以下文章,如有侵权,请联系删除!!!!!
Sipeed官方 K210教程

K210在Windows10的本地训练相关推荐

  1. MaixPy K210 目标分类模型在线训练及使用教程

    MaixPy K210 目标分类模型在线训练及使用教程 相关步骤 准备数据集 在线训练 运行模型 相关步骤 本文的资料来自于MaixPy官方文档,更多详细内容可进入MaixPy官方文档进行查询. 官方 ...

  2. 服务器硬盘识别不到d盘,windows10系统本地磁盘找不到d盘如何解决

    刚刚购买的笔记本电脑预装了Win10正式版系统,可是在开机后打开我的电脑,发现只有C盘,没有D盘等其他磁盘,这是怎么回事呢?这是由于新买的带有正版系统的笔记本默认是没有分区的,只有一个分区,大家可以按 ...

  3. 【20210402期AI简报】TensorFlow-YOLOv3 从本地训练到服务器部署全过程

    导读:本期为 AI 简报 20210402 期,将为您带来 8 条相关新闻,明日寒食节~ 记得有一期有小伙伴留言说需要手势识别相关,本期它来啦~ 本文一共 2200 字,通篇阅读结束需要 5~7 分钟 ...

  4. 保姆级教程 | TensorFlow-YOLOv3 从本地训练到服务器部署全过程

    本文为 52CV 粉丝投稿,分享对已开源的 tensorflow-yolov3 版本进行许多细节上算法改进,步骤详细,非常适合新手入门.       01       项目简要说明 本项目主要对原 t ...

  5. 如何在Windows 11上的WSL2做到GPU直通,并用Deepracer本地训练炸干电脑的资源(显卡降价了,618等等党还等什么,一起来加入Deepracer的比赛学习交流吧)

    目录 第一步: 安装Docker *方式一:* 下载Docker Desktop并配置Nvidia-docker2 1.1 下载并安装 Docker Desktop 1.2 在Docker Deskt ...

  6. windows10新增本地账户

    添加windows10账户需要先激活windows,然后才能新增账户 命令行net user可以看到当前系统里的所有用户账户 C:\Users\John>net user\\PC158 的用户帐 ...

  7. windows10使用本地安全策略只允许某些ip访问远程计算机

    windows10只允许某些ip访问远程计算机 通过设置本地安全策略可以达成目的 进入本地安全策略 可以使用win+r输入secpol.msc可进入,或从控制面板–>管理工具–>本地安全策 ...

  8. Windows10修改本地用户账户名(彻底修改)

    0.启用超级管理员用户 右键开始按钮,选择管理员身份打开命令窗口 启用用户administrator net user administrator /active:yes 给用户设置密码,这里密码设置 ...

  9. Pycharm配置环境本地训练yolov5(车辆检测)

    整体过程较为顺利,yolov5使用起来非常友好. 目录 一.数据集准备 二.项目配置 1.安装pytorch和cuda,并创建新项目 2.安装所需要的库 3.运行detect.py验证 4.修改yol ...

最新文章

  1. 关于VC中的Timer
  2. 算法导论 CLRS 22.4-4 解答
  3. 【C语言】矩阵乘法(二维数组)
  4. DMA—直接存储区访问
  5. linux基础--awk文本分析工具详解
  6. 阿里巴巴高级算法专家威视:组建技术团队的一些思考
  7. 老农斗杀巨型蜈蚣目击记
  8. 蓝桥杯--第七届决赛:圆圈舞
  9. EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行
  10. 解决联想小新air13pro笔记本电脑插入耳机没声音的问题
  11. 除霾神器:中科爱讯推出BHU智能新风机,让你呼吸森林空气
  12. 证券投资深度学习_基于风险中性的深度学习选股策略
  13. 【Educoder】Python学习记录(二)
  14. systemverilog中rand机制的 $urandom_range()函数
  15. 云服务器如何绑定域名(腾讯云域名如何绑定ip)
  16. java 行列式计算_n阶行列式的全排列求解(Java)
  17. 计算机毕设(附源码)JAVA-SSM流浪动物救助系统
  18. 服务器例行维护是什么,端游公告丨8月11日服务器例行维护,1314绑点、随心染匣送送送...
  19. 如何学好编程(一):什么叫编程
  20. Spring通知(Advice)有哪些类型?

热门文章

  1. (WPF)360安全卫士界面设计
  2. 微信小程序的理性思考
  3. 正义有时会迟到,但从不会缺席
  4. 开年科普:小米、一加手机辐射最大?可能没有香蕉大...
  5. X7/X7Plus/Xplay5A/Xplay5S升级/降级教程
  6. Outlook签名设置不完全指北
  7. android 4.4.2 亮度,安卓系统手机修改屏幕最低亮度方法
  8. 故障诊断和故障预测数据集汇总并附下载方式
  9. mysql 如何解锁_mysql锁表如何解锁
  10. 糟糕程序员和优秀程序员的区别?