手把手从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进行模型训练。 一. 选择训练平台 要完成狗的分类,需要使用图像分类模型进行训练,在EasyDL首页中点击开始训练,选择“经典版”训练平台,模型类型选择图像分类,如图2所示。 ![]() 图2. 模型类型 二. 准备数据集 ![]() 图3. 8类狗的照片文件 下面是我们准备好的数据,共8分类,每个分类用50张左右的图片用来训练,剩下20张左右用来做推理测试。 ![]() 图4. 狗的照片 三. 创建数据集 根据EasyDL训练模型的规则,首先我们创建数据集,将采集好的数据每个种类放到一个文件夹中,如图2所示,再压缩成一个zip文件,然后把数据集上传到EasyDL平台,如图5所示。 ![]() 图5. 上传数据集到EasyDL平台 四. 创建模型 数据集建立完成后,创建模型,根据需要填写相应的信息,如图6所示。 ![]() 图6. 创建模型 五. 训练模型 在训练模型页面中,应用类型选择“离线服务”,算法选择“高精度”和“高性能”都可以,添加数据集,开始训练,如图7所示。 ![]() 图7. 训练模型 六. 发布模型 训练模型需要一定的时间,等模型训练完成之后,我们点击申请发布,跳转到发布模型页面,选择“软硬一体方案”的“EdgeBoard+专用SDK”,提交申请,如图8所示。 ![]() 图8. 发布模型 五.下载SDK 审核成功后,点击“服务详情”,“下载SDK”,如图9所示。 ![]() ![]() 图9. 下载SDK 至此,在EasyDL上的模型训练结束,接下来将转到EdgeBoard的推理实现上。 在图9中,我们会看到有“管理序列号”的按钮,如果购买了EdgeBoard,跳转页面中会有一个EdgeBoard专用的序列号,这是EasyDL模型在EdgeBoard上部署的通行证。 ![]() 图10. EdgeBoard专用序列号 下面我们就开始把模型部署到EdgeBoard上,下图是EdgeBoard FZ9A系列硬件,EdgeBoard的技术文档可在百度大脑AI开放平台EdgeBoard FZ9A板块找到。 ![]() 根据该技术文档,需要将EasyDL离线SDK通过FTP或者samba工具传到EdgeBoard系统中,然后将EdgeBoard专用序列号填写到离线SDK中。 ![]() 图11. EdgeBoard上的文件 EdgeBoard内置Linux系统,我们将使用命令行的方式进行后面的部署操作。由于离线SDK在第一次使用时需要联网激活,因此将EdgeBoard接入路由器,连通外网。 ![]() 图12. 测试网络连接 同时,将EdgeBoard的时间改成当前时间,否则离线SDK可能会激活失败,然后对离线SDK解压,进入到EasyDL文件夹,解压cpp文件夹中的tar包。 ![]() 图13.修改本地时间 ![]() 图14. 解压cpp文件中的tar包 ![]() 根据官方文档,编辑cpp-->demo文件夹中的demo.cpp文件,将EdgeBoard专用序列号填入指定的位置处,如图15所示,改过之后,在demo文件夹中新建build文件夹,进行编译。 ![]() 图15. 添加序列号 ![]() 图16. 编译过程 编译完成后,开始进行模型推理。我们放置一张图片(如图17)到RES文件夹中,调用RES资源文件夹中的模型,以及测试图片的路径,在build下运行命令,如图18所示。 ![]() 图17. 待测试照片 ![]() 图18. 执行推理预测 从上面的打印信息中可以看到,EasyDL的模型在EdgeBoard上做出了完美的预测,corgi,分值p=0.999023,说明99%的概率是柯基,是不是很准。如果说这样看起来不直观,EasyDL的SDK还支持http服务的调用,下面来开启一下http服务,如图19所示。 ![]() 图19. 开启http服务 ![]() 图20. http服务显示界面 开启http服务后,在浏览器中写入http://{EdgeBoard ip地址}:24401,比如EdgeBoard的ip是192.168.1.254,就写http://192.168.1.254:24401就出来如图18的显示界面。 ![]() 图21. 上传图片进行推理预测 点击上传图片,选择测试集中的狗的图片,结果就立马出来了,置信度为1说明,百分之百就是可爱的比熊啦! 至此,我们就完成了一个狗分类的模型训练和离线部署。 福利 据可靠小道消息:EdgeBoard正在打折中,历史最低价,降价1000元,有兴趣可以看看。 |
网友评论