本文算是对K210使用的一个记录吧,这样以后方便后面的学弟学妹快速学习了解K210的基本知识和入门使用
1、基本资料来源
官网(嘉楠堪智)
https://canaan-creative.com/product/kendryteai
常用的使用一般有两种,这里从适用性的角度优先使用第一种,资料齐全,上手会快很多
1、使用micro python进行开发
官方文章
https://wiki.sipeed.com/soft/maixpy/zh/index.html
模型训练平台
https://www.maixhub.com/ModelTraining
官方淘宝店
https://sipeed.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.681570a1T5WoCg&user_number_id=2200606237318
了解K210(单指sipeed家的)基本可以从以上几个链接看到比较详细的资料,一般使用K210都是当成openmv来使用,外加使用k210的Kpu进行部分神经网络的计算,当成一个轻量级的目标检测平台使用,可以做的事情比较多,不过因为自身算力的原因也比较有限。
2、裸机开发,建议参考下面大佬的教程
https://blog.csdn.net/jwdeng1995/category_10302376.html
官方提供了堪智IDE,和vscode比较像,可以进行裸机开发,类似satm32一样进行c语言编程。
2、基本视觉功能
1、固件定制
使用sipeed家的方法进行开发需要事先进行固件定制,固件下载链接如下所示:
https://dl.sipeed.com/MAIX/MaixPy/release/master/
下面固件及其版本
打开就能看到里面的几种版本的固件,推荐用下面的这种,同时支持openmv还有读取kmodel的,当然最大的那个应该是最全的,也可以试试
固件的刷写可以看官方的一个视频,官方提供了一个串口的工具进行固件擦除和写入
https://www.bilibili.com/video/BV144411J72P?spm_id_from=333.337.search-card.all.click
视频打开是这样的,b站的一个视频,作者是他们官方群的群主
2、程序移植
如果已经刷了k210的固件,那么就可以开始进行进行开发了
在前面给的资料参考网站可以看到sipeed提供的一些传统图像的实现方案,这部分基本和openmv是一样的
k210移植了openmv的函数库,openmv能干的基本上k210都可以,(不过openmv在不断更新,相关函数库也在不断更新,所以openmv新的一些东西k210都是没有的),不过基本的视觉功能都还在,可以直接使用,我之前写过一篇关于openmv基本使用的文章,根据这篇文章来即可,基本上都可以在k210上进行实现。
OPENMV配置记录(一)
老实说openmv这个硬件卖的确实贵,不过他本身的教程还有例程更新的也确实勤快,这些部分sipeed后面都没有移植了,可以自行一直或者当作一种思路来看看吧
还有一个很重要的地方就是openm的文档做的很详细,有啥不清楚的都可以来这边查,是在属于一边用,另一边查了!
https://docs.singtown.com/micropython/zh/latest/openmvcam/index.html
比如想了解最常见的寻找色块的函数,在这里输入即可进行查询
点击进去可以看到比较详细的介绍,这不比在sipeed上看详细多了,也方便我们进行参数的修改
基本openmv的部分就不继续介绍了,可以直接参考我之前写的openmv的记录文章,本文主要还是介绍有关k210进行目标检测的部分内容。
3、训练K210环境搭建
1、CUDA和CUDNN的安装配置
需要配置这两个才能成功调用电脑的GPU来训练,不然这个训练速度简直就不是一个速度级别的,差距有很大,所以电脑有GPU还是尽量要给他配置上
tensorflow的两个包的对应关系
打开可以查看对应关系,就是这两个包的版本要对应上来安装
还可以看到针对linux的设备匹配情况,这里就是多了GCC的版本对应
下面是cudnn的下载地址
https://developer.nvidia.com/rdp/cudnn-archive
下面是cuda的下载地址
https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Windows&target_arch=x86_64&target_version=10
这里针对版本匹配,需要下载CUDA10.0.1,CUDNN为7.6.4版本的,如下所示
2、开始安装
安装上先安装CUDA,这里就比较基本直接上了,双击就可以开始
下面也是一路next,选自定义
这里选一个就行,之后就一路安装即可
下面就又到了环境变量部分了
新建这两个变脸,下面是第一个
第二个如下所示
之后在进行下面的操作
·
打开命令行,输入,看到信息就成功
之后解压下载的cudnn工具包,解压出来这样的
打开里面的文件,打开bin文件,把bin文件里面的.dll文件复制到我们的CUDA的目录下,位置如图所示
之后是include文件夹也进行复制
之后是lib文件夹的内容进行复制
这样我们就安装好了CUDA还有CUDNN了
3、anaconda环境配置
conda这里环境配置就不多说了,网上教程很多,版本也是很多种的,可以参考我之前的博客来进行配置 pycharm配置conda记录
这里进入命令行,配置如下,因为官方比较推荐3.7的,所以这里就给他配置一个3.7的环境吧
conda create -n Mx_yolov3 python=3.7
之后把我们刚才配置的python加入到环境变量里面去
之后使用conda安装下面的内容,这里可以用新建一个txt的方法也可以直接一句一句的方法都可以的
imgaug==0.2.6
opencv-python==4.0.0.21
Pillow==6.2.0
requests==2.24.0
tqdm==4.48.2
sklearn==0.0
pytest-cov==2.10.0
codecov==2.1.8
matplotlib==3.0.3
Tensorflow==1.15.0
Tensorflow_gpu==1.15.0
pascal_voc_writer==0.1.4
PyQt5==5.15.0
numpy==1.16.2
keras==2.3.1
scikit-learn==0.22.2
seaborn==0.11.0
alive-progress==1.6.1
h5py==2.10.0
pyecharts==1.9.0
matplotlib==3.0.3
这样我们就配置好需要的环境了,下面就是下载源码跑起来了
4、训练神经网络模型
1、使用官方训练模型训练
官方模型地址,把这个项目克隆下来就行,官方推荐是使用linux平台,这里我电脑装了另一个ubuntu系统,电脑装双系统的教程很多,可以参考b站相关教程,也比较多。
https://github.com/sipeed/maix_train.git
首先还是把这个项目克隆下来,打开是这样的,这里新建一个conda环境,安装下面的需要的东西即可
输入下面的命令即可
pip install -r requiremnets.txt
之后还需要下载一个ncc的模型转换工具,这个在官方的代码李说明了
点开链接即可进行下载,下载第一个即可
之后把他放到指定的文件夹之后解压这里我解压完成之后就把压缩包删除了,看个人情况吧(解压的目录为tools/ncc/ncc_v0.1,这里需要自己新建这个目录,如果没有的话要新建)
之后就可以开始训练了,首先生成训练参数
python train.py init
会生成这样的一个文件夹
这里面的就是训练参数了,不需要修改,直接用就行,要改可能就改改训练次数还是最小精度之类的,下面都挺清楚的,可以自行查看,根据需要修改。
下面就可以开始训练了,其实官方的readme都已经写过了,按照他的来就行
下载的git文件里面已经有了数据集,我们要用的话,按照这个数据集格式其实就行
查看压缩文件是这样的
最后其实就这样的一个格式
因此如果使用检测模型的话就是如下命令(这里数据集可以换成自己的)
python3 train.py -t detector -z datasets/test_detector_xml_format.zip train
开始训练
训练完成
训练完成之后就都在out目录下面
结果可以在这里查看
loss曲线查看
之后就可以把训练好的模型放到sd卡里面运行了,官方提供了boot.py文件供我们进行测试
2、使用maixhub在线训练
首先是训练说明,这里主要是前期一些数据集的制作等部分需要我们注意下(特别注意最后打包的格式不要做了)
https://www.maixhub.com/ModelTrainingHelp_zh.html
下面模型训练的网站
https://www.maixhub.com/ModelTraining
这里注意下获取机器码,经过我验证这个机器码就算你用的不是sipeed家的板子也是可以的,按照它上面的提示烧录固件然后查看串口打印的信息就可以查看机器码了,训练完成之后可以下载我们训练的文件,基本和之前的下载的差不多,相关的文件也都提供了。
3、使用mx-yolov3训练
详情查看,这个是一个大佬做的可视化训练工具,非常方便,大佬收发应该是公众号,名称为import创客,进入后回复mx3就可以获取下载链接
https://mc.dfrobot.com.cn/thread-307554-1-1.html
打开后是这样的
首先是环境配置,这里不建议安装,因为经常会有各种各样的问题,而且这还是采用的直接安装在c盘,不如使用conda虚拟环境来安装方便,直接参考我第三章k210训练环境搭建即可。
工具打开后是这样的
一般常用的例如标注工具(标注工具强烈建议了解下快捷键的使用,效率飙升)
下载固件的工具,这里都做了集成
下面是两种训练的方式,一种是检测模型一种是分类模型
引入数据集
作者还引入了描点计算,可以自己计算几次,获取最佳的锚点,之后就可以开始训练了
训练情况
文章来源:https://www.toymoban.com/news/detail-442932.html
之后是使用ncc工具将模型转为kmodel格式,这样就可以生成我们需要的模型文件了
引入的相关文件夹如下所示
这样就完成了一个训练流程了,不得不说这个工具还是很方便的!文章来源地址https://www.toymoban.com/news/detail-442932.html
到了这里,关于K210使用记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!