一、项目介绍:
本次参加的活动平台是ADI的MAX78000FTHR,开发板上集成了:图像传感器、数字麦克风、TF卡、RGB灯和按键等;我想要完成的项目是:手势识别,将识别结果通过串口打印在电脑终端;
二、项目设计思路:
根据官方提供的文档,我选择使用ubuntu,SDK来完成项目;
大致思路如下:1.使用开发板采集不同手势图片以及不同环境图片各20组;
2.修改官方例程,使用ubuntu来训练素材;
3.将训练结果导入SDK例程,完成手势识别以及结果输出;
三、搜集素材的思路
此处照着教学视频跑通了CAMER例程,但还没有完成照片的输出;
四、预训练实现过程
教程提供的开发流程框图如下图:
环境搭建分两步:
第一步:ubuntu部分,大概需要以下操作:安装ubuntu20.04,更新系统,安装训练环境,安装资源,下载工程文件,开始训练,量化。
第一次接触linux系统,环境搭建过程磕磕绊绊。大部分步骤跟着视频教程可以完成,但有些地方报错后就进行不下去了,此处记录几处卡壳的地方:
(1).安装pyenv,没有科学的上网工具,不能直接从github安装PYENV:显示连接不上:
解决方法是下载到本地安装,代码如下:
https://blog.csdn.net/m0_37616927/article/details/108770185
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
执行以上代码后倒是安装成功了,只是每次重启后还得执行source .bashrc才能正常用;
(2).安装numpy提示需要升级torch到1.13.0,使用pip升级torch:
pip install --upgrade torch==1.13.0
(3) .从github下载training前需要先安装git,填写账号信息:
sudo apt install git
git config --global user.email "xxxxxxxxxxxxx"
git config --global user.name "xxxxxxxxxxxxx"
如果下载不来,就多试几次;此处记录一条重要指令删除文件夹:
sudo rm -rf /xxxx/xxxx/xxxx
(4) .训练的过程中每次到[32]时,就killd了。查了一下是内存不足了,扩充内存方法如下:
sudo dd if=/dev/zero of=/swapfile bs=64M count=160
sudo mkswap /swapfile
chmod 0600 /swapfile
sudo swapon /swapfile
sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
文档中提到电脑独立显卡可以极大程度提升开发速度;我查了下自己的电脑不带独立显卡,不算下载资源,单纯训练就需要3-4个小时;所以我将train.py中的epochs改成了6,先有个结果;
(5).训练完成切换到ai8x-synthesis/执行scripts/quantize_kws20_v3.sh ;
第二步:是安装MAXIM SDK,也是照着视频做即可,但是我在使用eclipse拉例程的时候不能选择MAXIM例程;解决方法是从eclipse.bat打开eclipse即可:
五、心得体会:
搭建好的环境和测试的例程不要随意删掉....