转载自 https://www.jianshu.com/p/2ab68779d05b

前言

MACE 是小米公司自研的移动端深度学习框架 Mobile AI Compute Engine,2017年12月15日于公司内部正式发布。2018年6月28日,在“2018(第十三届)开源中国开源世界高峰论坛”上,小米公司人工智能与云平台副总裁崔宝秋博士宣布开源 MACE,赋能中国 AI 产业,以期推动移动端深度学习的发展。

文章内容翻译自 MACE 官方手册,记录本人阅读与开发过程,力求不失原意,但推荐阅读原文。
https://media.readthedocs.org/pdf/mace/latest/mace.pdf
Github地址:https://github.com/xiaomi/mace

声明:如有侵权,请联系作者删除

介绍

MACE 全称 Mobile AI Compute Engine (MACE),是小米公司开源的一个深度学习推理框架,它针对不同的移动端计算平台做了专门的优化。下图是其整体架构:

模型格式

MACE 自定义了一种类似 Caffe2 的模型格式。Tensorflow 和 Caffe 训练得到的模型可以转换成 MACE 模型进行部署。MACE 采用 YAML 文件描述模型的部署细节。下一章会给出 YAML 文件的创建方法。

模型转换

目前,我们提供了Tensorflow、Caffe模型到MACE模型的转换工具,未来会支持更多的框架。

模型加载

MACE 模型包含两部分:图(model graph)和参数张量(model parameter tensors)。graph 部分使用 Protocol Buffers 做序列化存储。所有的模型参数张量(model parameter tensors)被串联存储在一个连续的字节数组中,在后续段落中我们称之为张量数据(tensor data)。

模型可以通过3种方式进行加载:

  1. model graph 和 tensor data 均在外部动态加载(默认情况下,从文件系统加载,但是用户可以自由选择一些实现方式,例如压缩或加密)。这种方式具有最大的灵活性但是模型的保护性最差。

  2. model graph 和 tensor data 转换成 C++ 代码并通过执行编译后的代码进行加载。这种方式提供了最强的模型保护措施,是最简单的部署方式。

  3. model graph 按照方式 2 一样被转换成 C++ 代码,tensor data 按照方式 1 进行外部加载。

小米开源框架MACE 简介相关推荐

  1. 小米开源框架MACE 源码阅读笔记 1

    转载自 https://www.jianshu.com/p/7061fd67d419 前扯 在前不久的某高峰论坛上,小米开源了其移动端的深度学习框架Mobile AI Compute Engine(M ...

  2. 小米开源框架MACE 源码阅读笔记

    转载自 https://www.jianshu.com/p/7061fd67d419 前扯 在前不久的某高峰论坛上,小米开源了其移动端的深度学习框架Mobile AI Compute Engine(M ...

  3. 小米开源框架mace android案例调试

    小米开源框架mace android案例调试 1. 准备工作 编译环境准备:请参照小米官方的文档: https://mace.readthedocs.io/en/latest/installation ...

  4. 小米开源框架MACE - 源码阅读笔记一

    首先先一目了然看一下其目录结构(这些个源码可以在github上下载到,只要在GitHub搜索mace即可): 介绍 MACE(Mobile AI Compute Engine)是一个针对移动异构计算平 ...

  5. 小米开源框架MACE 创建模型部署文件

    转载自https://www.jianshu.com/p/823f7d7eaf58 文章内容翻译自 MACE 官方手册,记录本人阅读与开发过程,力求不失原意,但推荐阅读原文. https://medi ...

  6. 小米开源框架MACE 如何构建和使用

    转载自https://www.jianshu.com/p/3be518027ac2 文章内容翻译自 MACE 官方手册,记录本人阅读与开发过程,力求不失原意,但推荐阅读原文. https://medi ...

  7. 开源框架ePump简介

    开源框架ePump简介 开发通信系统的程序员对OS系统提供的Socket参数配置.系统调用等接口,普遍都有不胜其烦的感觉,作为通信服务器(TCP.UDP.HTTP等)还需要考虑支撑大并发.大吞吐能力所 ...

  8. android 动画开源框架,图文简介非常炫酷的Android开源框架之UI框架

    架构,其又名软件架构,是关于软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计.而软件架构(software architecture)是一系列相关的抽象模式,其是用来指导大型软件系统各 ...

  9. 语音识别代码_Povey正式出任小米语音首席科学家,小米移动端框架MACE全面支持Kaldi...

    今日,小米开发者大会 MIDC 2019 在北京开幕.语音识别大牛.前霍普金斯大学副教授 Daniel Povey 也正式宣布出任小米集团语音首席科学家,而近日更新的小米移动端深度学习框架 MACE ...

最新文章

  1. python多个日志模块怎么隔离_在多个模块中使用Python日志logging
  2. EntityFramework 4.x 使用中遇到的问题 (2)
  3. 电脑快捷键横屏变竖屏,电脑显示器竖屏横屏来回切换怎么设置
  4. 时间序列研(part3)--单积性
  5. 前端学习(3265):js中undefine中3相关属性
  6. 用python编程输入三角形的三条边判断是否构成三角形_vb三角形编程输入三条边,判断能否构成三角形.看我的编程是否有问题,...
  7. 一文解读聚类中的两种流行算法
  8. js操作XML文件兼容IE与FireFox
  9. ibm服务器操作系统重装步骤,ibm服务器安装 操作系统安装步骤
  10. raw socket
  11. 因计算机磁盘硬件的pe,PE缺少AHCI驱动无法识别硬盘更新U盘启动盘中的WINPE
  12. 数字化转型|利用现代技术和通信手段|改变企业为客户创造价值的方式
  13. python 建站 上传文件_Python sdk上传
  14. 堆晶结构_堆晶岩形成条件
  15. 食物相克表食物最佳搭配
  16. 【已解决】Windows Service服务 出现System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可访问的日志: Security。
  17. APQP(advanced product quality planning先期产品质量策划)
  18. Oracle那些年那些事儿
  19. 男人,女人一生要过五个关卡【曾仕强】
  20. Xilinx官网大全__PowerPC 架构

热门文章

  1. mmall前端项目初始化总结
  2. IDEA(jetbrain通用)优雅级使用教程
  3. echarts 自定义y轴坐标
  4. java jce配置_[JAVA special] JCE三种方法让AES支持256位keySize
  5. 秋天,是时候继续播种了
  6. grub2默认启动linux,grub2修改开机默认启动项
  7. 程序设计大赛---多米诺效应
  8. 【案例】索信达数据:银行业智慧营销平台,零售之王的凤凰涅槃之路
  9. Python学习之环境搭建
  10. SpringBoot实现STOMP协议下的WebSocket