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. 【java基础】String、StringBuilder和StringBuffer的区别

    关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder >  String ...

  2. python条件与循环-条件

    1.条件和循环 主要讨论:if.while.for以及相关的搭配else.elif.break.continue和pass语句. 1.1 if语句 if语句由三部分组成:关键字本身.用于判断结果真假的 ...

  3. TCP客户端服务器编程模型

    1.客户端调用序列 客户端编程序列如下: 调用socket函数创建套接字 调用connect连接服务器端 调用I/O函数(read/write)与服务器端通讯 调用close关闭套接字 2.服务器端调 ...

  4. 解决浮点运算精度不准确,BigDecimal 加减乘除

    package com.kflh.boxApi.utils.util; import java.math.BigDecimal; /** * @program: BoxApi * @descripti ...

  5. BZOJ 2648 世界树

    题目传送门 分析: 喜 闻 乐 见 的虚树 但是建好虚树后的DP也非常的恶心 我们先考虑每个关键点的归哪个点管 先DFS一次计算儿子节点归属父亲 再DFS一次计算父亲节点归属儿子 然后然后我们对于虚树 ...

  6. tensorflow 案例

    import tensorflow as tf import numpy as np #添加一层inputs输入的数据,in_size为输入节点数,out_size为输出节点数,下一个为激励函数 de ...

  7. 在vue中使用jquery

    首先默认你已经有了一个vue程序,如果你想在vue中使用jquery,那么请继续阅读. 当然,加入你没有一个vue程序,这里也给出创建一个vue程序的命令.当然,你肯定装了vue-cli,不然你不会点 ...

  8. 关于Windows Server 服务器 安装tomcat部署Java Web 项目的问题

    我遇到的问题是:不知道怎么配置,感觉在服务器上部署一个web项目,应该是很高大上,步骤应该很繁琐,但是,事实却不是那样.配置反而挺简单. tomcat配置:在tomcat安装目录中的conf文件夹下有 ...

  9. python sqlalchemy mysql 自动映射

    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作 简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果 ...

  10. 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统

      目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...