EasyEdge是百度基于Paddle Mobile研发的端计算模型生成平台,能够帮助深度学习开发者将自建模型快速部署到设备端。只需上传模型,最快2分种即可生成端计算模型并获取SDK。本文介绍EasyEdge生成端计算模型,并集成到手机APP的流程。

采用模型:基于MobileNet 的SSD模型

SSD使用一个卷积神经网络实现“端到端”的检测:输入为原始图像,输出为检测结果,无需借助外部工具或流程进行特征提取、候选框生成等。

官方开源代码:https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/ssd

采用数据集:PASCAL VOC

PASCAL VOC挑战赛是视觉对象的分类识别和检测的一个基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。 
PASCAL VOC图片集包括20个目录:

人类; 动物(鸟、猫、牛、狗、马、羊);
交通工具(飞机、自行车、船、公共汽车、小轿车、摩托车、火车);
室内(瓶子、椅子、餐桌、盆栽植物、沙发、电视)。
这些类别在label_list文件中都有列出来,但这个文件中多了一个类别,就是背景(background)

在AI Studio 进行训练得到预测模型和参数:

1 EasyEdge端计算模型生成流程

进入EasyEdge主页: ai.baidu.com/easyedge ,点击“立即使用”即可使用平台。

1.1上传深度学习模型

在目录【上传原模型】中:

1) 填写模型名称

2) 依次选择模型类型、模型框架、网络模型

3) 依次上传网络参数文件、网络结构文件、模型标签、其他配置文件(点击左侧划线处可查看上传要求)

对应关系如下:

网络参数文件:mobilenet-ssd-final-model

网络结构文件:mobilenet-ssd-final-params

模型标签:label_list

4) 自定义分组并描述模型功能

5) 提交上传

模型上传成功后,可以在【我的模型】中看到上传的模型。

1.2 生成端计算模型
成功上传模型后,在目录【生成端模型】中:

1) 选择模型

2) 选择并添加“芯片/硬件”、“操作系统”的组合,支持添加多种组合

3) 如需SDK支持离在线混合,需勾选同意EasyEdge在云端加密部署模型

4) 开始生成模型

在【我的模型】点击模型名称,即可查看端计算模型的生成状态

1.3 获取离线SDK

若某版本端计算模型已成功生成,则可点击右侧操作中的“获取SDK”,跳转到【SDK列表】下载Demo体验或正式的SDK

1.4 激活离线SDK

1) 在【SDK列表】页面下载SDK后,点击“获取序列号激活”,打开【序列号列表】

2) 选择鉴权方式:如需开发APP可选择按产品线鉴权,否则需按设备鉴权

3) 点击“新增序列号”,填写相关信息

Android或iOS操作系统的SDK可以选择按产品线激活,序列号与包名(Package Name/Bundle ID)绑定:

4) 用新增的序列号激活之前下载的SDK,参考开发文档:

Android 系统:https://ai.baidu.com/docs#/EasyEdge-Android-SDK/top

2 SDK集成到手机APP

开发平台:Android Studio 2.3

安卓虚拟机:Genymotion 2.7.2

测试平台:Android 9.0

2.1 替换申请的序列号

2.2 添加依赖:

运行虚拟机如报如下错误:

解决办法:

在同个build.gradle(app)页面,android{}中添加:

splits {

abi {

enable true

reset()

include 'x86','x86_64'

universalApk true

}

}

2.3 手机测试效果

3 意见建议

整体效果不错,优势在于生成模型非常快捷,集成也很方便。当然也有需要改进的地方,本次采用的物体检测SSD模型,SDK大小在25M,如生成的SDK能够进一步压缩,进而能减少APP的大小。

百度大脑EasyEdge端模型生成部署攻略的更多相关文章

  1. Windows Socket五种I/O模型——代码全攻略(转)

    Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操 ...

  2. 图解:SQL Server SSIS包和job的部署攻略

    原文:图解:SQL Server SSIS包和job的部署攻略 以下将建立一个SQL Server SSIS包 然后在job中使用这个包,并将job部署到目标机器 1. 首先建立ssis包,使用sql ...

  3. 宜信开源|数据库审核软件Themis的规则解析与部署攻略

    一.介绍 Themis是宜信公司DBA团队开发的一款数据库审核产品,可帮助DBA.开发人员快速发现数据库质量问题,提升工作效率.其名称源自希腊神话中的正义与法律女神.项目取此名称,寓意此平台对数据库质 ...

  4. Confluence部署攻略 [转]

    一.软件介绍 AtlassianConfluence(简称Confluence)是一个专业的wiki程序.它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享.Confluence不是一 ...

  5. 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

    centos7+nginx+python3+django+uwsgi配置Django 项目部署   1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...

  6. Linux下Makefile的automake生成全攻略--转

    http://www.yesky.com/120/1865620.shtml 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下 ...

  7. EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略

    EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...

  8. Java爬虫快速开发工具uncs的部署攻略

    写在前面 uncs是java快速开发爬虫的工具,简单便捷,经过大量版本迭代和生产验证,可以适用大多数网站,推荐使用. 一.基本用法 1.1 开发包获取 目前只能在公司内网maven服务器获取到 < ...

  9. Linux下Makefile的automake生成全攻略

    作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的M ...

随机推荐

  1. rabbitmq 实现延迟队列的两种方式

    原文地址:https://blog.csdn.net/u014308482/article/details/53036770 ps: 文章里面延迟队列=延时队列 什么是延迟队列 延迟队列存储的对象肯定 ...

  2. Win10如何关闭最近使用文件夹

    如果默认开启了最近使用文件夹功能的话,最近浏览的文件就会被记录下来.所以看完各种教学资料后,并不是关掉或者重启别人就不知道你看了什么. 方法一: Win10怎么关闭最近使用文件夹 如何清理使用痕迹 从 ...

  3. 源码详解系列(七) ------ 全面讲解logback的使用和源码

    什么是logback logback 用于日志记录,可以将日志输出到控制台.文件.数据库和邮件等,相比其它所有的日志系统,logback 更快并且更小,包含了许多独特并且有用的特性. logback ...

  4. 笔记常用Linux命令(二) 进程和端口

    查看系统进程 ps:用于报告当前系统的进程状态 a:显示所有终端机下执行的程序 ps -ef/ps aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同. 如果想要查看特定的进程 ...

  5. Educational Codeforces Round 80 (Rated for Div. 2)部分题解

    A. Deadline 题目链接 题目大意 给你\(n,d\)两个数,问是否存在\(x\)使得\(x+\frac{d}{x+1}\leq n\),其中\(\frac{d}{x+1}\)向上取整. 解题 ...

  6. C#系列之圣诞树代码(五)

    马上就到圣诞节啦,这里我写啦一个最简单的圣诞树代码 Console.WriteLine("请输入您需要的圣诞树的大小<数字>"); int n = int.Parse( ...

  7. 删除我的电脑wps、百度网盘图标

    删除我的电脑wps.百度网盘图标 删除下面子项 输入"计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Expl ...

  8. Ceph 存储集群2-配置:心跳选项、OSD选项、存储池、归置组和 CRUSH 选项

    一.心跳选项 完成基本配置后就可以部署.运行 Ceph 了.执行 ceph health 或 ceph -s 命令时,监视器会报告 Ceph 存储集群的当前状态.监视器通过让各 OSD 自己报告.并接 ...

  9. Day of Week

    题目1043:Day of Week 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1544 解决:609 题目描述: We now use the Gregorian style of ...

  10. 🔥SpringBoot图文教程2—日志的使用「logback」「log4j」

    有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...