【tfcoreml】tensorflow向CoreML模型的转换工具封装
安装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模型的转换工具封装相关推荐
- 小米开源语音模型 Kaldi-ONNX 转换工具,助力移动端部署!
作者 | 小米开源团队 责编 | 胡巍巍 近日,小米对外开源了Kaldi模型到ONNX模型的转换工具Kaldi-ONNX,有望进一步促进Kaldi生态与深度学习生态间的互通. 同时,配合移动端深度学习 ...
- kaldi语音识别实战网盘_小米开源语音模型 KaldiONNX 转换工具,助力移动端部署!...
作者 | 小米开源团队 责编 | 胡巍巍 近日,小米对外开源了Kaldi模型到ONNX模型的转换工具Kaldi-ONNX,有望进一步促进Kaldi生态与深度学习生态间的互通. 同时,配合移动端深度学习 ...
- TensorFlow Mobilenet SSD模型压缩并移植安卓上以达到实时检测效果
之前使用TensorFlow object detect API实现了目标检测(14个手势的识别),使用的是轻量级模型Mobilenet-ssd,Mobilenet-ssd本身检测速率相较于其他模型会 ...
- 转换onnx_模型转换工具X2Paddle操作大全
深度学习的应用主要包括两个部分,一是通过深度学习框架训练出模型,二是利用训练出来的模型进行预测. 开发者基于不同的深度学习框架能够得到不同的训练模型,如果想要基于一种框架进行预测,就必须要解决不同框架 ...
- 华为Atlas200DK开发从零开始3.目标检测模型CANN部署——以YOLOX、YOLOv5和Nanodet为例(2)CANN模型的转换,ATC转换工具
目录 前言 深度学习模型在AI芯片上部署的一般流程 通过ATC工具进行模型转换 ATC工具使用流程 模型转换步骤 1.其他框架转onnx 2. onnx模型修改与优化 3.使用ATC转换 后记 前言 ...
- as转html5工具,将keras的h5模型转换为tensorflow的pb模型
背景:目前keras框架使用简单,很容易上手,深得广大算法工程师的喜爱,但是当部署到客户端时,可能会出现各种各样的bug,甚至不支持使用keras,本文来解决的是将keras的h5模型转换为客户端常用 ...
- TensorFlow与PyTorch模型部署性能比较
TensorFlow与PyTorch模型部署性能比较 前言 2022了,选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界.这种说 ...
- 目标检测中的数据格式转换工具Roboflow
目标检测中的数据格式转换工具.Roboflow Roboflow提供了您需要的所有工具,将原始图像转换为定制的训练有素的计算机视觉模型,并部署它在您的应用程序中使用. Roboflow支持检测目标和分 ...
- 深度学习利器:TensorFlow与NLP模型
深度学习利器:TensorFlow与NLP模型 享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 前言 自然语言处理(简称NLP),是研究计算机处理人类语言的一门 ...
最新文章
- 清华理工男,跳了7年舞,来华为一年当了PL,这什么小哥哥
- 嵌套 思维导图_工作小Tips:如何用思维导图来整理你的汇报
- 整数划分问题(路径输出)【递归求解方式】
- html选中列表整列变色,excel选中行变色完整代码和动画效果
- mysql导入dat文件_MySql导入和抽取大数量级文件数据
- Spring Boot、Spring Cloud、Dubbo的区别
- hdu2157:How many ways??
- 集成产品开发团队的管理和决策
- 128.深入 cookie ,session
- 使用inno setup制作安装包
- 大数据从入门到实战——MongoDB实验——数据库基本操作
- 一行代码视频下载,so easy!
- 【Tips】如何批量安装和导出Python项目的依赖库?
- const T 与T const的比较(const T vs.T const的翻译 Dan Saks)
- 五阶魔方公式java_五阶魔方花样有多漂亮,关键是有点难
- 创客教育的起源和内涵的基本理念
- ui标注android ios,IOS+ANDROID的UI切图与标注方法
- 伺服电机常用参数设置_简单介绍伺服电机的调试方法
- Excel/WPS 按条件合并多行
- Linux下重要日志及查看方式
热门文章
- 四个变量的图表怎么做_PPT中的图表怎么做才高大上?4步帮你搞定!
- 右键文件夹电脑卡死?
- [ANSYS APDL] 平面单元应力分析全步骤截图详解
- 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location
- layui弹出层:倒计时后自动关闭(含代码、案例)
- MUI框架:栅格系统 + grid宫格布局 - 案例篇
- 网址发布收藏页源码自适应
- python opencv 膨胀_OpenCV-Python:形态学操作
- 区块链JAVA数字交易所官方商业版开发级全套三端纯源码
- 苹果cms对接影视小程序源码完整源码