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

2019年11月13日 15:31    发布者:eechina
摘要:EdgeBoard是百度打造的基于FPGA的嵌入式AI解决方案系列硬件;EasyDL是百度推出的一站式AI定制化训练和服务平台。本文详细介绍如何使用EasyDL进行模型训练,然后部署到EdgeBoard,缩短从模型训练到推理实现的路径,提高开发效率。EdgeBoard是百度自主研发的AI软硬一体深度学习加速套件,能够提供强大的算力,并支持定制化模型,适配不同场景的终端设备,大幅提高设备端的AI推理能力,具有高性能、高通用、易集成等优势。EdgeBoard还可以无缝衔接百度大脑的开放能力,可以轻松将在EasyDL和AI Studio平台定制的AI模型完美适配到EdgeBoard上。本文会介绍如何将EasyDL训练的模型离线部署到EdgeBoard上,实现AI的终端应用。EasyDL定制化训练和服务平台可以一站式定制AI模型,并且完全界面化操作,利用少量的数据就可以训练出一个高精度的AI模型。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.001.png图1. EasyDL界面接下来我们准备以狗的分类作为实例来介绍从训练到推理部署,首先介绍使用EasyDL进行模型训练。一. 选择训练平台要完成狗的分类,需要使用图像分类模型进行训练,在EasyDL首页中点击开始训练,选择“经典版”训练平台,模型类型选择图像分类,如图2所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.002.png图2. 模型类型二. 准备数据集http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.003.png图3. 8类狗的照片文件下面是我们准备好的数据,共8分类,每个分类用50张左右的图片用来训练,剩下20张左右用来做推理测试。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.004.png图4. 狗的照片三. 创建数据集根据EasyDL训练模型的规则,首先我们创建数据集,将采集好的数据每个种类放到一个文件夹中,如图2所示,再压缩成一个zip文件,然后把数据集上传到EasyDL平台,如图5所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.005.png图5. 上传数据集到EasyDL平台四. 创建模型数据集建立完成后,创建模型,根据需要填写相应的信息,如图6所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.006.png图6. 创建模型五. 训练模型在训练模型页面中,应用类型选择“离线服务”,算法选择“高精度”和“高性能”都可以,添加数据集,开始训练,如图7所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.007.png图7. 训练模型六. 发布模型训练模型需要一定的时间,等模型训练完成之后,我们点击申请发布,跳转到发布模型页面,选择“软硬一体方案”的“EdgeBoard+专用SDK”,提交申请,如图8所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.008.png图8. 发布模型五.下载SDK审核成功后,点击“服务详情”,“下载SDK”,如图9所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.009.pnghttp://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.010.png图9. 下载SDK至此,在EasyDL上的模型训练结束,接下来将转到EdgeBoard的推理实现上。在图9中,我们会看到有“管理序列号”的按钮,如果购买了EdgeBoard,跳转页面中会有一个EdgeBoard专用的序列号,这是EasyDL模型在EdgeBoard上部署的通行证。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.011.png图10. EdgeBoard专用序列号下面我们就开始把模型部署到EdgeBoard上,下图是EdgeBoard FZ9A系列硬件,EdgeBoard的技术文档可在百度大脑AI开放平台EdgeBoard FZ9A板块找到。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.012.jpeg根据该技术文档,需要将EasyDL离线SDK通过FTP或者samba工具传到EdgeBoard系统中,然后将EdgeBoard专用序列号填写到离线SDK中。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.013.png图11. EdgeBoard上的文件EdgeBoard内置Linux系统,我们将使用命令行的方式进行后面的部署操作。由于离线SDK在第一次使用时需要联网激活,因此将EdgeBoard接入路由器,连通外网。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.014.png图12. 测试网络连接同时,将EdgeBoard的时间改成当前时间,否则离线SDK可能会激活失败,然后对离线SDK解压,进入到EasyDL文件夹,解压cpp文件夹中的tar包。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.015.png图13.修改本地时间http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.016.png图14. 解压cpp文件中的tar包http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.017.png根据官方文档,编辑cpp-->demo文件夹中的demo.cpp文件,将EdgeBoard专用序列号填入指定的位置处,如图15所示,改过之后,在demo文件夹中新建build文件夹,进行编译。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.018.png图15. 添加序列号http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.019.png图16. 编译过程编译完成后,开始进行模型推理。我们放置一张图片(如图17)到RES文件夹中,调用RES资源文件夹中的模型,以及测试图片的路径,在build下运行命令,如图18所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.020.jpeg图17. 待测试照片http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.021.png图18. 执行推理预测从上面的打印信息中可以看到,EasyDL的模型在EdgeBoard上做出了完美的预测,corgi,分值p=0.999023,说明99%的概率是柯基,是不是很准。如果说这样看起来不直观,EasyDL的SDK还支持http服务的调用,下面来开启一下http服务,如图19所示。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.022.png图19. 开启http服务http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.023.png图20. http服务显示界面开启http服务后,在浏览器中写入http://{EdgeBoard ip地址}:24401,比如EdgeBoard的ip是192.168.1.254,就写http://192.168.1.254:24401就出来如图18的显示界面。http://img.cnmtpt.com/UEditor/Wordfile/20191113/2019111314451753/2019111314451753.024.png图21. 上传图片进行推理预测点击上传图片,选择测试集中的狗的图片,结果就立马出来了,置信度为1说明,百分之百就是可爱的比熊啦!至此,我们就完成了一个狗分类的模型训练和离线部署。福利据可靠小道消息:EdgeBoard正在打折中,历史最低价,降价1000元,有兴趣可以看看。