
coreml
逐云者123
喜欢新技术与老故事。
展开
-
CoreML 的 C++部署 [2] 模型类抽象
接上一篇CoreML 的 C++部署 [1] 模型转换和预处理再解决了预处理的问题后,部署部署还剩下模型类的抽象,主要包括初始化、推理以及获取输出。模型类的抽象什么是模型类?可以参考:CoreML模型分析我们是以MobileNetV2.mlmodel为例说明了mlmodel的结构。这里有一个预备知识,模型头文件中的类仅仅是对底层MLModel和MLFeatureProvider的封装。也就是说,每一个mlmodel,真正的实现是通过MLModel和MLFeatureProvider进行的,上层做原创 2020-12-31 11:11:07 · 1039 阅读 · 0 评论 -
Core ML简史
背景深度学习是最新一波技术发展的最大增长点,随着研究的深入和算力的发展,深度学习也逐渐从论文走到了实际应用。由于现在我们仍然处于移动互联网的成熟期,手机仍然是今年最通用的计算平台,所以深度学习不可避免的也要跑在手机上,这是技术+时代的共同需求。为了应对这个需求,科技行业的巨头们都提出了自己的解决办法,2017年3月,Google就在TensorFlow的基础上开源了TensorFlow Lite,目标就是完成移动端深度学习计算。Google做这个事情是非常好理解的,因为TensorFlow太重了,不太可原创 2020-12-30 17:43:24 · 1924 阅读 · 0 评论 -
CoreML 的 C++部署 [1] 模型转换和预处理
背景当写下这个题目的时候,我是有疑问的。为什么要用C++来部署CoreML?是OC不香还是Swift不甜了?如此简单的CoreML模型部署,使用OC或者Swift几行代码就搞定的事情,非要整一个C++版本,实属想不通,是真的想不通。。。可能唯一能够理解的是,当模型推理只是一个很大的功能中的一部分,而这个功能又无法快速通过OC或者Swift搞定的时候,还是需要将整个模型推理部分下沉到C++中,与其他底层逻辑保持一致。简单来说就是为了满足程序架构的完整性,就牺牲了开发中的便捷性。但是如果是上面这个理由,原创 2020-12-29 10:54:51 · 1738 阅读 · 0 评论 -
CoreML模型分析
准备工作首先得有一个Xcode以及一个简单的添加了CoreMLFramework的工程;下载模型,如官方推荐的MobileNetV2将模型导入到工程中,并添加到你的编译项目中双击打开,会看到这么一个页面:然后点击 就可以进入到模型自动生成的头文件中:模型分析1.关键词@interface通过搜索关键词interface,我们可以得到三个结果:@interface MobileNetV2Input : NSObject@interface MobileNetV2Output :原创 2020-12-23 20:09:15 · 1738 阅读 · 2 评论