大家好,继之前的12大深度学习开源框架之后,我们准备开通新的专栏《移动端DL框架》,这是第一篇文章,先来做一个总体的介绍,更多的细节可以关注以后的文章。

在这个专栏中,我们会介绍与移动端的模型训练和部署有关的框架的使用。

作者&编辑 | 言有三

深度学习模型要落地,比如要部署到手机等移动端平台,之前给大家介绍的用于训练的框架就不能直接使用了,我们需要相应的移动端框架,目前国内外各大公司纷纷开源自家的框架。

1 TensorFlow Lite

这是Google在2017年I/O开发者大会上开源的将TensorFlow训练好的模型迁移到Android App的框架,地址和一些学习资源如下:

TensorFlow Lite使用Android Neural Networks API,默认调用CPU,目前最新的版本已经支持GPU。

项目地址和相关学习资源如下。

https://tensorflow.google.cn/lite/

https://github.com/amitshekhariitbhu/Android-TensorFlow-Lite-Example

2 Core ML

Core ML是2017年Apple公司在WWDC上与iOS11同时发布的移动端机器学习框架,底层使用Accelerate和Metal分别调用CPU和GPU。Core ML需要将你训练好的模型转化为Core ML model,它的使用流程如下:

在一年之后,也就是2018年WWDC上,Apple发布了Core ML 2,主要改进就是通过权重量化等技术优化模型的大小,使用新的Batch Predict API提高模型的预测速度,以及容许开发人员使用MLCustomLayer定制自己的Core ML模型。

项目地址和相关学习资料如下:

https://developer.apple.com/documentation/coreml

https://github.com/likedan/Awesome-CoreML-Models

3 Caffe2

Caffe2是facebook在2017年发布的一个跨平台的框架,不仅仅支持Windows,Linux,Macos三大桌面系统,也支持移动端iOS,Android,可以说是集训练和推理于一身。

Caffe2本来就是基于caffe开发的,Caffe基于C++开发,所以可以很自然地移植到移动端,目前Caffe2已经全部并入Pytorch。两者的区别就是PyTorch是为研究而开发,更加灵活。Caffe2是专为移动生产环境而开发,更加高效。

项目地址以及其相关的model zoo地址如下。

https://github.com/facebookarchive/caffe2

https://caffe2.ai/docs/zoo.html

https://github.com/caffe2/models

4 NCNN

ncnn是2017年腾讯优图实验室开源的移动端框架,使用C++ 实现,支持Android和IOS两大平台。

ncnn已经被用于腾讯生态中的多款产品,包括微信,天天P图等。

项目地址和相关学习资料如下。

https://github.com/Tencent/ncnn

https://github.com/BUG1989/caffe-int8-convert-tools.git

5 Paddle-Mobile

Paddle-Mobile是2017年百度PaddlePaddle组织下的移动端深度学习开源框架,当时叫做mobile-deep-learning(MDL)。支持安卓和ios平台,CPU和GPU使用,提供量化工具。

可以直接使用Paddle Fluid训练好的模型,也可以将Caffe模型进行转化,或者使用ONNX格式的模型。

项目地址如下:

https://github.com/PaddlePaddle/paddle-mobile

https://github.com/PaddlePaddle/Paddle

6 QNNPACK

QNNPACK是Facebook在2018年发布的int8量化低精度高性能开源框架,全称Quantized Neural Network PACKage,用于手机端神经网络计算的加速,已经被整合到PyTorch 1.0中,在Caffe2里就能直接使用。

这个框架可以为很多运算加速,比如DW卷积 (Depthwise Convolution) ,目前支持的列表如下:

项目地址如下。

https://github.com/pytorch/QNNPACK

7 MACE

MACE是2018年小米在开源中国开源世界高峰论坛中宣布开源的移动端框架,以OpenCL和汇编作为底层算子,提供了异构加速可以方便在不同的硬件上运行模型,同时支持各种框架的模型转换。

项目地址和相关学习资源如下:

https://github.com/XiaoMi/mace

https://github.com/XiaoMi/mace-models

8 MNN

MNN是2019年阿里开源的移动端框架,不依赖第三方计算库,使用汇编实现核心运算,支持Tensorflow、Caffe、ONNX等主流模型文件格式,支持CNN、RNN、GAN等常用网络。作为后起之秀,自然是吸取了前面开源的这些移动端推理框架的所有优点。

已经用于阿里的淘宝,优酷等多个应用,覆盖短视频、搜索推荐等场景。

项目地址和学习资源如下:

https://github.com/alibaba/MNN

9 其他

除了上面这些正式发布的开源框架,还有一些其他的框架,比如不开源的骁龙的官方SDK SNPE,主要支持自家的DSP、GPU和CPU。比如腾讯另一个团队开源的featurecnn。

还有很早就存在的GitHub项目caffe-android-lib,用于将Caffe往移动端进行移植,其实各家AILab应该自己都会有一套这样的工具。

以及caffe量化工具包caffe-int8-convert-tools等。

https://github.com/sh1r0/caffe-android-lib

https://github.com/BUG1989/caffe-int8-convert-tools

这一次先让大家对移动端的深度学习框架有一个印象,后面我们会一个一个进行学习,敬请期待。

相关文章:

第一篇:【caffe速成】caffe图像分类从模型自定义到测试

第二篇:【tensorflow速成】Tensorflow图像分类从模型自定义到测试

第三篇:【pytorch速成】Pytorch图像分类从模型自定义到测试

第四篇:【paddlepaddle速成】paddlepaddle图像分类从模型自定义到测试

第五篇:【Keras速成】Keras图像分类从模型自定义到测试

第六篇:【mxnet速成】mxnet图像分类从模型自定义到测试

第七篇:【cntk速成】cntk图像分类从模型自定义到测试

第八篇:【chainer速成】chainer图像分类从模型自定义到测试

第九篇:【DL4J速成】Deeplearning4j图像分类从模型自定义到测试

第十篇:【MatConvnet速成】MatConvnet图像分类从模型自定义到测试

第十一篇:【Lasagne速成】Lasagne/Theano图像分类从模型自定义到测试

第十二篇:【darknet速成】Darknet图像分类从模型自定义到测试

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI

【移动端DL框架】当前主流的移动端深度学习框架一览相关推荐

  1. 刚刚,华为全场景 AI 计算框架MindSpore正式开源!国产深度学习框架的春天来了!...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 此前,我们刚刚报道了旷视科技在3月25日开源深度学习框架 MegEngine ,3 ...

  2. python深度学习include框架_《用Python实现深度学习框架》上市

    朋友们,<用Python实现深度学习框架>已经由人民邮电出版社出版上市了.在这本书中,我们带领读者仅用Python+Numpy实现一个基于计算图的深度学习框架MatrixSlow.本书讲解 ...

  3. 从TensorFlow到DL4J——主流深度学习框架对比分析

    从TensorFlow到DL4J--主流深度学习框架对比分析 2022年2月22日 极链AI云 官网地址 点击注册 更多AI小知识,关注<极链AI云>公众号 文章目录 从TensorFlo ...

  4. 初学者如何选出最适合自己深度学习框架?

    无论是对于深度学习相关专业的初学者,还是已经在企业和组织中从事工业场景应用和研发的开发者来说,选择一个适合自己,适合业务场景需求的深度学习框架显得尤为重要.下边对现有深度框架做一个全面的阐述及解答. ...

  5. 【人工智能】【深度学习】初学者如何选出最适合自己深度学习框架?

    无论是对于深度学习相关专业的初学者,还是已经在企业和组织中从事工业场景应用和研发的开发者来说,选择一个适合自己,适合业务场景需求的深度学习框架显得尤为重要.下边对现有深度框架做一个全面的阐述及解答. ...

  6. 【CS231n 课程笔记】第八讲-----常见的深度学习框架,以及GPU和CPU介绍。

    目录 0.写在前面 1.CPU VS GPU 1.1GPU 与CPU的比较 1.2性能测试 1.3实践中的问题 2.深度学习框架 2.1 计算图思想和深度学习框架 2.2 tensorflow 2.2 ...

  7. 深度学习框架的来龙去脉——史上最全面最新的深度学习框架对比分析

    一.深度学习框架概述与深度学习技术的四大阵营 人工智能从学术理论研究到生产应用的产品化开发过程中通常会涉及到多个不同的步骤和工具,这使得人工智能开发依赖的环境安装.部署.测试以及不断迭代改进准确性和性 ...

  8. 常见深度学习框架比较

    常见的深度学习框架有 TensorFlow .Caffe.Theano.Keras.PyTorch.MXNet等,如下图所示.这些深度学习框架被应用于计算机视觉.语音识别.自然语言处理与生物信息学等领 ...

  9. 深度学习框架 TensorFlow:张量、自动求导机制、tf.keras模块(Model、layers、losses、optimizer、metrics)、多层感知机(即多层全连接神经网络 MLP)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 安装 TensorFlow2.CUDA10.cuDNN7.6. ...

  10. 深度学习框架哪家强?国产框架OneFlow做了一份测评报告

    视学算法报道 机器之心编辑部 近日,国产深度学习框架 OneFlow 发布了人工智能方向深度学习领域的 DLPerf 测评报告. 数据显示,OneFlow 在 4 机 32 卡下的 ResNet50- ...

最新文章

  1. idea自动捕获_Smilefie:如何通过检测微笑来自动捕获自拍
  2. 微软职位内部推荐-Senior Software Engineer_Azure
  3. scala -cp file.jar filename的案例
  4. wxWidgets:wxSplitterEvent类用法
  5. osgi框架和spring区别_最新100道大厂高频spring面试题附答案
  6. 如何判断文本文件的编码格式?
  7. [css] 怎么IE6下在使用margin:0 auto;无法使其居中?
  8. Head First设计模式读书笔记四 简单工厂 工厂模式 抽象工厂模式
  9. 淘宝APP用户行为数据分析
  10. MCU OTA升级流程
  11. panel组件学习(1)常见属性学习
  12. 大二Git-Branching学习
  13. IAR EW8051-8.1编译ZStack时,出现警告Warning[Pe069]: integer conversion resulted in truncation的解决办法
  14. 高代第2章第1节n元排列:奇排列、偶排列的判断
  15. 计算机图形学 实验6 直线的裁剪—Cohen Sutherland裁剪算法(MFC中)
  16. ojbk的sas proc 过程之transpose
  17. TLS/SSL双向认证
  18. 使用ASP.NET技术开发网上书店
  19. 香农编码用matlab实验报告,信息论与编码实验指导书
  20. 安卓大作业(AndroidStudio开发)日记记事本app

热门文章

  1. MySQL的又一神器-锁,MySQL面试必备
  2. Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片
  3. 首次使用maven的配置过程
  4. ECMAScript6入门教程(二)
  5. Jenkins之构建Maven项目的多种方式
  6. javascript的常见对象总结
  7. python tcl 控件_在Tkinter.Tcl()中使用Python函数
  8. C语言程序设计输入x求函数y,C语言程序设计实践(OJ)-初识函数
  9. 带你了解线缆、WIFI、以太网协议和网络寻址
  10. 如何在零停机的情况下迁移 Kubernetes 集群