手把手从EasyDL模型训练到EdgeBoard推理

人工智能

 摘要:

EdgeBoard是百度打造的基于FPGA的嵌入式AI解决方案系列硬件;EasyDL是百度推出的一站式AI定制化训练和服务平台。本文详细介绍如何使用EasyDL进行模型训练,然后部署到EdgeBoard,缩短从模型训练到推理实现的路径,提高开发效率。

EdgeBoard是百度自主研发的AI软硬一体深度学习加速套件,能够提供强大的算力,并支持定制化模型,适配不同场景的终端设备,大幅提高设备端的AI推理能力,具有高性能、高通用、易集成等优势。EdgeBoard还可以无缝衔接百度大脑的开放能力,可以轻松将在EasyDL和AI Studio平台定制的AI模型完美适配到EdgeBoard上。本文会介绍如何将EasyDL训练的模型离线部署到EdgeBoard上,实现AI的终端应用。

EasyDL定制化训练和服务平台可以一站式定制AI模型,并且完全界面化操作,利用少量的数据就可以训练出一个高精度的AI模型。

 

图1. EasyDL界面

接下来我们准备以狗的分类作为实例来介绍从训练到推理部署,首先介绍使用EasyDL进行模型训练。

1、选择训练平台

要完成狗的分类,需要使用图像分类模型进行训练,在EasyDL首页中点击开始训练,选择“经典版”训练平台,模型类型选择图像分类,如图2所示。

 

图2. 模型类型

2、准备数据集

下面是我们准备好的数据,共8分类,每个分类用50张左右的图片用来训练,剩下20张左右用来做推理测试。

 

图3. 8类狗的照片文件

图4. 狗的照片

3、创建数据集

根据EasyDL训练模型的规则,首先我们创建数据集,将采集好的数据每个种类放到一个文件夹中,如图2所示,再压缩成一个zip文件,然后把数据集上传到EasyDL平台,如图5所示。

 

图5. 上传数据集到EasyDL平台

4、创建模型

数据集建立完成后,创建模型,根据需要填写相应的信息,如图6所示。

 

图6. 创建模型

5、训练模型

在训练模型页面中,应用类型选择“离线服务”,算法选择“高精度”和“高性能”都可以,添加数据集,开始训练,如图7所示。

 

图7. 训练模型

6、发布模型

训练模型需要一定的时间,等模型训练完成之后,我们点击申请发布,跳转到发布模型页面,选择“软硬一体方案”的“EdgeBoard+专用SDK”,提交申请,如图8所示。

 

图8. 发布模型

五.下载SDK

审核成功后,点击“服务详情”,“下载SDK”,如图9所示。

 

图9. 下载SDK

至此,在EasyDL上的模型训练结束,接下来将转到EdgeBoard的推理实现上。

在图9中,我们会看到有“管理序列号”的按钮,如果购买了EdgeBoard,跳转页面中会有一个EdgeBoard专用的序列号,这是EasyDL模型在EdgeBoard上部署的通行证。

 

图10. EdgeBoard专用序列号

下面我们就开始把模型部署到EdgeBoard上,下图是EdgeBoard FZ9A系列硬件,EdgeBoard的技术文档链接是:https://ai.baidu.com/docs#/EdgeBoard%20quick%20start/top

 

 

根据该技术文档,需要将EasyDL离线SDK通过FTP或者samba工具传到EdgeBoard系统中,然后将EdgeBoard专用序列号填写到离线SDK中。

 

图11. EdgeBoard上的文件

EdgeBoard内置Linux系统,我们将使用命令行的方式进行后面的部署操作。由于离线SDK在第一次使用时需要联网激活,因此将EdgeBoard接入路由器,连通外网。

 

图12. 测试网络连接

同时,将EdgeBoard的时间改成当前时间,否则离线SDK可能会激活失败,

 

图13.修改本地时间

      然后对离线SDK解压,进入到EasyDL文件夹,解压cpp文件夹中的tar包。

图14. 解压cpp文件中的tar包

      根据官方文档,编辑cpp-->demo文件夹中的demo.cpp文件,将EdgeBoard专用序列号填入指定的位置处,如图15所示,改过之后,在demo文件夹中新建build文件夹,进行编译。

图15. 添加序列号

图16. 编译过程

编译完成后,开始进行模型推理。我们放置一张图片(如图17)到RES文件夹中,调用RES资源文件夹中的模型,以及测试图片的路径,在build下运行命令,如图18所示。

 

[[282206]]

图17. 待测试照片

图18. 执行推理预测

从上面的打印信息中可以看到,EasyDL的模型在EdgeBoard上做出了完美的预测,corgi,分值p=0.999023,说明99%的概率是柯基,是不是很准。如果说这样看起来不直观,EasyDL的SDK还支持http服务的调用,下面来开启一下http服务,如图19所示。

图19. 开启http服务

      开启http服务后,在浏览器中写入http://{EdgeBoard ip地址}:24401,比如EdgeBoard的ip是192.168.1.254,就写http://192.168.1.254:24401就出来如图18的显示界面。

 图20. http服务显示界面

      点击上传图片,选择测试集中的狗的图片,结果就立马出来了,置信度为1说明,百分之百就是可爱的比熊啦!

图21. 上传图片进行推理预测

至此,我们就完成了一个狗分类的模型训练和离线部署。

福利

据可靠小道消息:EdgeBoard正在打折中,历史最低价,降价1000元,有兴趣可以看看:https://aim.baidu.com/product/5b8d8817-9141-4cfc-ae58-640e2815dfd4

 

 

责任编辑:卢敏
相关推荐

2024-02-19 00:21:45

开源图片

2023-06-24 19:59:40

2016-04-27 09:49:16

用户模型产品总结

2018-02-07 14:19:16

深度学习机器学习模型

2017-10-18 09:48:13

深度学习TensorFlow入门篇

2023-06-29 08:02:05

向量Attention网络

2021-07-14 09:00:00

JavaFX开发应用

2011-05-03 15:59:00

黑盒打印机

2011-01-10 14:41:26

2020-09-27 06:59:59

IO系统Linux

2021-12-10 18:19:55

指标体系设计

2023-04-26 12:46:43

DockerSpringKubernetes

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2022-07-27 08:16:22

搜索引擎Lucene

2022-01-08 20:04:20

拦截系统调用

2022-12-07 08:42:35

2021-12-02 11:39:28

Git服务器Linux

2021-02-26 11:54:38

MyBatis 插件接口

2011-02-22 13:46:27

微软SQL.NET

2021-12-28 08:38:26

Linux 中断唤醒系统Linux 系统
点赞
收藏

51CTO技术栈公众号