前言
树莓派现在价格涨到天上去了。可以考虑用国产的板子来替代一下。香橙派的板子就很便宜,质量也可以。还是国产的。
一、百度EasyDL导出SDK文件后怎么操作?
百度EasyDL的教程参考官网,已经非常详细了。这里只讲一下把SDK部署到树莓派上或香橙派的步骤。下图是我的模型执行性能报告。
图片说明,树莓派或者香橙派,实时跑推理的话基本不可能,一张图片的预测时间RK3399开发板都达到500多毫秒,而且还是C++代码。
下载对应的SDK:
里面有2个文件夹:
进入CPP文件夹,里面有2个压缩文件:
如果你的开发板是树莓派的,选择armv7hf版本,如果是香橙派的,选择aarch64版本。然后将压缩包解压。
以树莓派为例,看下图。(我是在WIN10上讲解步骤,所以截图是WIN10界面,实际应该是在树莓派或者香橙派内执行)进入这个压缩包以后执行以下代码:
第一 cd src
第二 mkdir build && cd build
第三 cmake .. && make【这步报错可能没安装cmake,sudo apt-get install cmake安装一下】`
第四 ./easyedge_serving ../../../RES【你的RES文件夹途径】 "1111-1111-1111-1111"【你的激活码】 0.0.0.0【你的开发板IP】 24401
这里有个问题, 第4行代码执行如果报错的话,需要核对一下执行的途径。因为目前没测试,不太记得在那个文件里执行,最多也就返回上一层的另外一个文件执行即可。
为什么这样操作?为什么用serving模式?
因为导出的SDK都是cpp文件,此时不好结合python和串口去做一些项目。但是如果把开发板当成主机做serving服务,则处于同一网络内的树莓派或者香橙派甚至PC都可以通过python代码调用主机的服务做图片识别。
二、怎么使用python代码实现图片的推理?
python调用代码如下(示例):
import requests
with open('./1.jpg', 'rb') as f:
img = f.read()
result = requests.post('http://127.0.0.1【你的主机开发板IP】:24401/',params='threshold': 0.1},data=img).json()
代码很简单,只要打开你的图片即可实现图片的推理,如果视频要推理,可以把视频转成一帧一帧的图片进行推理,但推一张图片都要半秒钟,视频推理基本没得玩了。
总结
使用EasyDL的SDK是要付出代价的,就是产生模型需要付费。激活码需要申请,一个模型好像是300元,但是有3个月以上的试用时间,对于大部分人来说其实够了。
有没有从百度产生免费模型的方法呢?有,下次讲。