安装tf向apple coreml模型转换包tfcoreml
基于苹果自己的转换工具coremltools进行封装

tfcoreml

为了将训练的模型转换到apple中使用,需要将模型转换为ios支持的mlmodel形式。目前苹果官方的推荐使用Core ML tools来进行转换。
它支持

Scikit Learn
LIBSVM
Caffe
Keras
XGBoost.
Tensorflow
MXNet

等工具包的模型转换。
但为了更方便的使用tensorflow的模型,在github中找到了tfcoreml的封装,直接对tensorflow的pb模型进行转换。

首选需要安装tfcoreml的依赖:

tensorflow >= 1.5.0
coremltools >= 0.8
numpy >= 1.6.2
protobuf >= 3.1.0
six >= 1.10.0

在安装CoreMLtools时会遇到以下问题:

  • 1.coremltools的pip 安装只在python2.7下work,pip
  • 2.tensorflow的win版本只支持python3.x
    直接pip install coremltools会报错:ERROR: Could not find a version that satisfies the requirement coremltools

为了在这台win上安装coremltools,只能选择从源码编译安装了,在release中找到合适的版本:
cd coremltools-2.1
这里可以看到setup.cfg:

[bdist_wheel]
plat-name=any
python-tag=2.7   #这里将2.7改为目前平台的python版本3.5

随后运行wheel安装:
python setup.py install
即可编译安装coremltools。

随后即可pip安装tfcoreml
pip install -U tfcoreml

模型转换demo

这一封装选择了pb(protobuf )模型,如果输入输出确定的情况下可以直接转换:

import tfcoreml as tf_converter
tf_converter.convert(tf_model_path = 'path/to/your_tf_model.pb',mlmodel_path = 'path/to/your_apple_model.mlmodel',output_feature_names = ['softmax:0'])

如果需要指定输入大小的话,可以利用input_name_shape_dict关键字:

import tfcoreml as tf_converter
tf_converter.convert(tf_model_path = 'path/to/your_tf_model.pb',mlmodel_path = 'path/to/your_apple_model.mlmodel',output_feature_names = ['softmax:0'],input_name_shape_dict = {'your_input:0' : [1, 227, 227, 3]})

ref:
https://stackoverflow.com/questions/44510701/no-matching-distribution-found-for-coremltools
https://stackoverflow.com/questions/44612991/error-installing-coremltools
https://github.com/apple/coremltools/issues/228
ssd_demo:https://github.com/vonholst/SSDMobileNet_CoreML/tree/master/SSDMobileNet/SSDMobileNet
coreml:https://developer.apple.com/documentation/coreml

【tfcoreml】tensorflow向CoreML模型的转换工具封装相关推荐

  1. 小米开源语音模型 Kaldi-ONNX 转换工具,助力移动端部署!

    作者 | 小米开源团队 责编 | 胡巍巍 近日,小米对外开源了Kaldi模型到ONNX模型的转换工具Kaldi-ONNX,有望进一步促进Kaldi生态与深度学习生态间的互通. 同时,配合移动端深度学习 ...

  2. kaldi语音识别实战网盘_小米开源语音模型 KaldiONNX 转换工具,助力移动端部署!...

    作者 | 小米开源团队 责编 | 胡巍巍 近日,小米对外开源了Kaldi模型到ONNX模型的转换工具Kaldi-ONNX,有望进一步促进Kaldi生态与深度学习生态间的互通. 同时,配合移动端深度学习 ...

  3. TensorFlow Mobilenet SSD模型压缩并移植安卓上以达到实时检测效果

    之前使用TensorFlow object detect API实现了目标检测(14个手势的识别),使用的是轻量级模型Mobilenet-ssd,Mobilenet-ssd本身检测速率相较于其他模型会 ...

  4. 转换onnx_模型转换工具X2Paddle操作大全

    深度学习的应用主要包括两个部分,一是通过深度学习框架训练出模型,二是利用训练出来的模型进行预测. 开发者基于不同的深度学习框架能够得到不同的训练模型,如果想要基于一种框架进行预测,就必须要解决不同框架 ...

  5. 华为Atlas200DK开发从零开始3.目标检测模型CANN部署——以YOLOX、YOLOv5和Nanodet为例(2)CANN模型的转换,ATC转换工具

    目录 前言 深度学习模型在AI芯片上部署的一般流程 通过ATC工具进行模型转换 ATC工具使用流程 模型转换步骤 1.其他框架转onnx 2. onnx模型修改与优化 3.使用ATC转换 后记 前言 ...

  6. as转html5工具,将keras的h5模型转换为tensorflow的pb模型

    背景:目前keras框架使用简单,很容易上手,深得广大算法工程师的喜爱,但是当部署到客户端时,可能会出现各种各样的bug,甚至不支持使用keras,本文来解决的是将keras的h5模型转换为客户端常用 ...

  7. TensorFlow与PyTorch模型部署性能比较

    TensorFlow与PyTorch模型部署性能比较 前言 2022了,选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界.这种说 ...

  8. 目标检测中的数据格式转换工具Roboflow

    目标检测中的数据格式转换工具.Roboflow Roboflow提供了您需要的所有工具,将原始图像转换为定制的训练有素的计算机视觉模型,并部署它在您的应用程序中使用. Roboflow支持检测目标和分 ...

  9. 深度学习利器:TensorFlow与NLP模型

    深度学习利器:TensorFlow与NLP模型 享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 前言 自然语言处理(简称NLP),是研究计算机处理人类语言的一门 ...

最新文章

  1. 清华理工男,跳了7年舞,来华为一年当了PL,这什么小哥哥
  2. 嵌套 思维导图_工作小Tips:如何用思维导图来整理你的汇报
  3. 整数划分问题(路径输出)【递归求解方式】
  4. html选中列表整列变色,excel选中行变色完整代码和动画效果
  5. mysql导入dat文件_MySql导入和抽取大数量级文件数据
  6. Spring Boot、Spring Cloud、Dubbo的区别
  7. hdu2157:How many ways??
  8. 集成产品开发团队的管理和决策
  9. 128.深入 cookie ,session
  10. 使用inno setup制作安装包
  11. 大数据从入门到实战——MongoDB实验——数据库基本操作
  12. 一行代码视频下载,so easy!
  13. 【Tips】如何批量安装和导出Python项目的依赖库?
  14. const T 与T const的比较(const T vs.T const的翻译 Dan Saks)
  15. 五阶魔方公式java_五阶魔方花样有多漂亮,关键是有点难
  16. 创客教育的起源和内涵的基本理念
  17. ui标注android ios,IOS+ANDROID的UI切图与标注方法
  18. 伺服电机常用参数设置_简单介绍伺服电机的调试方法
  19. Excel/WPS 按条件合并多行
  20. Linux下重要日志及查看方式

热门文章

  1. 四个变量的图表怎么做_PPT中的图表怎么做才高大上?4步帮你搞定!
  2. 右键文件夹电脑卡死?
  3. [ANSYS APDL] 平面单元应力分析全步骤截图详解
  4. 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location
  5. layui弹出层:倒计时后自动关闭(含代码、案例)
  6. MUI框架:栅格系统 + grid宫格布局 - 案例篇
  7. 网址发布收藏页源码自适应
  8. python opencv 膨胀_OpenCV-Python:形态学操作
  9. 区块链JAVA数字交易所官方商业版开发级全套三端纯源码
  10. 苹果cms对接影视小程序源码完整源码