树莓派部署实操

目录

装32位系统

git clone-U盘

权限及改密码

root和其他用户

树莓派新建用户

安装cmake opencv

运行柠檬分类项目

迁移表情识别项目 

总结


 

装32位系统

距离安装系统,具体细节已经记不清。需要一张TF卡,一个读卡器,在raspberry官网上下载官方desktop版镜像,TF卡格式化后将镜像载入卡中,需要在卡中写一个ssh文件便于之后用ssh在电脑上连接树莓派。

搜了一个文章,感觉很靠谱,读者可自行查阅参考:

树莓派3B+ 安装系统

git clone-U盘

在树莓派上部署机器学习柠檬分类示例,需要在其上下载paddle lite及其他文件。Paddle lite是百度一个轻量化的推理库,读者可在百度Paddle平台的官方GitHub目录下载所需版本:

https://github.com/PaddlePaddle/Paddle-Lite/releases/

uname -a //用来查询系统位数

我们可以在github下载好所需版本,将我们需要的文件夹(这里是cxx)放在树莓派的某一目录下(需和其他文件夹在同一目录下以便运行)。

 我们也可以使用一条命令git clone直接下载链接里的文件:

git clone https://github.com/hang245141253/lemon.git

在尝试部署的过程中,git clone命令执行的时间很长,于是我们选择在电脑下载好后直接用U盘拷到树莓派的目录下。下图展示了文件与文件夹的从属关系:

 

 

权限及改密码

在将U盘中的文件复制到树莓派的目录中时,系统提示权限不够,要求输入密码来执行操作,然而距离安装系统已有一个月,我和老师都不记得我们是否设置过密码,于是我们尝试修改密码以获得权限。

修改树莓派用户密码的操作:

-将树莓派关机后取出sd卡,用读卡器插入电脑,在目录下打开cmdline.txt文件,在所有内容的末尾添加 init=/bin/sh, 确保与所有内容处于同一行。

-将sd卡插入树莓派,开机,显示器界面会有一个闪烁的横线,是在提示我们可以进行接下来的操作。

-输入以下内容

        mount -rw -o remount /      //然后回车,输入下面内容

        passwd pi                //注意,这里写pi意为修改pi用户的密码,同理可写root即修改root用户的密码。

-界面会让你设置新密码,写的时候不会显示密码内容,心中有数即可

passwd pi
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

-出现以上最后一句意味着密码设置好了。

-执行以下内容来同步并执行初始化

sync
exec /sbin/init

-接下来树莓派就自动关机了,断电,取出sd卡用读卡器插入电脑,将cmdline.txt文件之前写入的init=/bin/sh删除掉,然后再把sd卡放入树莓派开机,密码就设置好了,修改了哪个用户的密码,登陆的时候就写哪个用户。

root和其他用户

在上一步修改密码的过程中,经过一系列无知的操作,没有成功修改pi用户的密码,反而进入了root账户的界面,与老师交流后得知用root账户进行linux的学习会比较危险,因为root用户相比普通用户有更高的权限,在不小心更改了高级配置的情况下的操作是新手很难还原的,于是我们新建了另一个用户xnn用于学习。

树莓派新建用户

su -
useradd -m -s /bin/bash xnn             //新建了一个用户xnn
passwd xnn                              //修改用户xnn的密码

接下来给予用户sudo权限
su root                                 //切换到root用户
visudo                                  //打开root配置文件

找到 root    ALL=(ALL:ALL)   ALL  
紧接着写一行  xnn   ALL=(ALL:ALL)   ALL  然后保存退出即可

安装cmake opencv

C++准备环境:
主要安装OpenCV3.2.0(推荐3.2)与CMake3.10

sudo apt-get update
sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config
wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz
tar -zxvf cmake-3.10.3.tar.gz
cd cmake-3.10.3
./configure
make
sudo make install

 

 以上代码运行需要半个小时及以上,时间不充足者视情况再开始。

具体Cmake是什么还不了解,以及cmakelist文件的语法规则,仍需学习。 

运行柠檬分类项目

将文件夹按前文放在树莓派目录下后,进入code目录,运行两个sh文件,即可直接得到结果。

cd code    //进入code文件夹,里面有images,models,cmakelists.txt,cmake.sh,labels.txt,run.sh,main.cc

sh cmake.sh            //编译,每次main.cc或其他文件内容有改动,都需要重新编译
sh run.sh              //执行,预测分类结果

迁移表情识别项目 

在柠檬分类的基础上对代码进行几点改动,即可运行之前我们在aistudio上主攻的表情识别项目。

这是code文件夹:

 

改动有以下几点: 

images文件夹选择我们测试数据集里的若干个表情替换掉之前的柠檬照片,并各自命好名字。

models文件夹删除之前的模型框架及模型参数以及用于推理部署的静态nb模型,分别替换为表情识别的三个文件。

 

cmake.sh文件,选择适用的raspbery3B推理库,上面一行注释掉。 

 

labels.txt文件,写入我们的目标分类结果。

 

 

 

 main.cc文件中,替换为我们数据库的均值和标准差。

 

在运行时,报错数据没有对齐,这里模型的输入时256*256的图片,于是在resize这里把他改为256。

 

run.sh文件,同样把它改为Raspberry3B版本,执行预测的图片的名字替换成images文件夹里对应图片的名字。

 

至此,执行 sh cmake.sh, sh run.sh,得到运行结果。

 

 相较于这个模型在aistudio上运行,树莓派上运行的结果会有上面这一张的预测不准确,考虑可能是opt工具对模型进行裁剪优化时影响了模型的准确度。接下来需要做的工作有数据增强以及添加一个人脸识别模型,毕竟使用摄像头时,比数据集多了背景和色彩的影响。

总结

经过这两天的部署实操,对linux增加了一些了解,同样对柠檬示例的代码也有了更多的认识,接下来还是要做一些数据增强、和添加人脸识别模型的处理,同时也需要再补一些机器学习和opencv的基础知识,老师已经给发了两门课程,再接再厉。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值