1.体验(baipiao)之前
作为一个精通多种移动端AI框架(TFLite、AndroidNNAPI、NeuroPilot、SNPE、Huawei HiAI Foundation、ARM周易NPU等)的高级AI框架工程师(俗称调包侠/API调用狗/部署狗),怀着忐忑的的心情申请(俗称白piao)到了CSK6开发板;
这是一款算力高达到 128 GOPS的单片机开发板。在手机算力已经20T起步的今天,128GOPS算力的单片机还是有不少的想象空间。
2.项目规划
在体验和看官方指导文档之前,首先应该利用历史的经验,提前搞下项目规划,理论上下面是1个万能调包模板:
a.直接下载(baipiao)开源经典模型,如: mobilenet、yolo等
b.下载和安装XXX模型优化/转换工具,将开源模型转成XXX自定义模型
c.下载和安装XX编译工具链(如:xx交叉编译工具链/ndk、仿真器/模拟器),使用专有的API(XX头文件、XX动态库),将XXX自定义模型进行模型加载、设置输入数据、运行和模型释放
d.观察运行时间、运行日志、运行内存
e.掏出自制的50米大刀(XX算子工具)对常用的XX个算子进行性能和精度测试
f.开工....
好了,下面系好安全带,发车了
3.体验发车
3.1 模型下载
ARM-CHINA model zoo已经整理好了100+模型,点赞!链接如下:
https://github.com/Arm-China/Model\\_zoo
3.2 模型优化工具下载
下载和安装XXX模型优化/转换工具,翻到官方文档支持:
https://docs.listenai.com/chips/600X/application/getting\\_start
转换工具? --?? 没有
开放AI能力? --?? 没有
好吧,我大意了。。。。。
开发板不支持自定义模型,仅支持固化了的2个功能:人脸识别、头肩&手势识别
(这还玩个P啊,只有2个基础功能不就相当于1个50块钱的老年机)
既然这样,那就跳过吧
3.3 上板(车)
(a). 下载和安装工具链,翻到官方文档支持:
https://docs.listenai.com/chips/600X/application/getting\\_start
看一眼,支持3个系统,但仅需要2个工具:git(正经人谁没有git呢)、 CSK6一键安装包(csk6\\_integration\\_installer\\_v1.6.5.exe)。
绝对好评(不像XX友商,只支持某个版本的Ubuntu,使用前需要注册XXX开发者社区后,下载一堆错误百出的PDF文档...)
等等....
CSK6一键安装包(csk6\\_integration\\_installer\\_v1.6.5.exe) 1.8G,太大了!
安装过程可以看出,将大量python、nodejs、arm-gcc等打包为二进制可执行程序,看来支持3个系统的秘密在这里,下面可能有几个比较严重的问题了:
(1).依赖这么多开源软件,开源软件的License列表在哪里?确定不违反开源协议?
(2).开源漏洞如何跟踪和解决?
(3).如何保证工具中的每个文件的可追溯?
(4).使用lisa命令包装git等命令,但是又没看到lisa工具的概念建模,搞得有点不伦不类
安装完成后,执行:
lisa info zep
但提示更新,更新完成后,变更记录是?可否回退呢?
(b).编译和体验helloworld
重点3条命令和115200
lisa zep create
lisa zep build -b csk6011a\\_nano
lisa zep flash
可使用串口工具查看,推荐MobaXterm,可以将编译/串口都在1个工具中完成
不过问题和槽点也有不少,如:
(1).helloworld没有提现AI,是不是应该考虑改成2个矩阵相乘?
(2).编译依赖cmake,但是工具包里是没有cmake,也没有在入门文档中写上
(3).目录名称里也不支持数字开头,如:03\_CSK\_TEST,否则有无效的错误提示:
“FATAL ERROR: CMake is not installed or cannot be found; cannot build.”
(c).编译和体验AI手势检测识别
套路和helloworld差不多,在上面3步基础上新增2步:
(1)创建/下载项目
git clone https://cloud.listenai.com/zephyr/applications/app\\_algo\\_hsd\\_sample\\_for\\_csk6.git
再次更新下git内容和SDK
lisa zep init-app
lisa zep update
(2)修改配置和编译
prj.conf 文件,将 CONFIG\\_WEBUSB=n 改为CONFIG\\_WEBUSB=y
lisa zep build -b csk6011a\\_nano
(3)烧录和查看
lisa zep flash
(4)烧录资源
lisa zep exec cskburn -s .\COMx -C 6 0x400000 .\resource\cp.bin -b 748800
lisa zep exec cskburn -s .\COMx -C 6 0x500000 .\resource\res.bin -b 748800
(5)PC工具查看
工具在git项目中,nodejs开发的网页工具,实现功能相对简单,也无力吐槽了
git clone https://cloud.listenai.com/zephyr/applications/csk\\_view\\_finder\\_spd.git
4.观察运行时间、运行日志、运行内存(暂不支持)
5.50米大刀(待续)
6.总结
感谢极术社区与聆思科技给予宝贵的试用机会!
从开发板开放的功能看,缺少自定义模型推理功能和自定义算子功能,仅预制2个基础功能,可玩性比较一般,无法发挥128GOPS的性能。
从工具链角度看,将复杂的工具链安装打包到1个工具包中,简化了开发者工具安装的难度,非常方便。但是缺少必要的一些调试和仿真工具。
不过相信随着后面功能的完善和开放,该开发板将释放出AI潜力,开发板将大放异彩!