Core ML机器模型学习(一)

一、Core ML简介

1、Core ML框架
iOS11推出了Core ML框架,极大地降低了开发者在iphone上使用机器学习的门槛。
苹果文档给出了如下的描述:
Core ML is the foundation for domain-specific frameworks and functionality. Core ML supports Vision for image analysis, Foundation for natural language processing (for example, the NSLinguisticTagger class), and GameplayKit for evaluating learned decision trees. Core ML itself builds on top of low-level primitives like Accelerate and BNNS, as well as Metal Performance Shaders.

image.png

简单而言,Core ML使得模型能在设备上高效地运行,主要有以下几个优点:
1)较低的内存占用
2)较低的电池消耗
3)更快的计算速度
4)本地计算,不需要网络的支持

2、Core ML Model说明
经过机器学习算法训练的模型将作为运用的结果。这个模型的预测基于新的输入数据。比如,根据一个区域的房价历史数据,结合卧室和浴室数量来预测房子的价格。


image.png

Core ML 是特定领域和功能的基础。Core ML 支持视觉图像分析,基础的自然语言处理(比如 NSLinguisticTagger 类)和GamepayKit ,评估和学习决策树,Core ML 本身构建在底层处理之上,像Accelerate (进行大规模的数学计算和图像计算,对高性能进行优化。)和 BNNS(使用之前获得的训练数据来实现和运行神经网络。)

Core ML 充分利用一台设备的性能,使用最少的内存和电量,严格地在设备上运行可以确保用户数据的隐私,并保证当网络连接不可用时,您的应用程序仍然具有功能性和响应性。

构建更多智能机器学习的应用

model 说明
MobileNet 从一组1000个类别中检测出图像中的占主导地位的物体,如树、动物、食物、车辆、人等等。
SqueezeNet 从一组1000个类别中检测出图像中的占主导地位的物体,如树、动物、食物、车辆、人等等。虽然只有5 MB的内存空间,但是,压缩zenet与alex net的精度相同,但其参数却少了50倍。
Places205-GoogLeNet 侦测到一个来自205个类别的图像的场景,如机场终端、卧室、森林、海岸等。
ResNet50 从一组1000个类别中检测出图像中的占主导地位的物体,如树、动物、食物、车辆、人等等。
Inception v3 从一组1000个类别中检测出图像中的占主导地位的物体,如树、动物、食物、车辆、人等等
VGG16 从一组1000个类别中检测出图像中的占主导地位的物体,如树、动物、食物、车辆、人等等。

3、获取 Core ML 模型
Core ML 支持多样化的机器学习模型,包括神经网络集合树,支持向量机 和广泛的线性模型,Core ML 要求Core Model 模型格式(.mlmodel 文件扩展名).mlmodel 是通过第三方python来生成的,你可以通过python来制定你属于你自己业务模型

Apple 早已提供几个受欢迎,开源的Model格式化模型。你能在你的APP里下载并开始使用它们,此外,多方面的研究调查组和大学发布它们训练的模型,这可能不是核心的ML模型格式。如果你需要转换它们,你可以阅读以下:
Converting Trained Models to Core ML.

二、Core ML Tools介绍

1、安装coremltools
coremltools是一个python工具包,可以通过如下命令进行安装:
pip install -U coremltools
如果提示six相关错误,可以尝试加上命令选项“--ignore-installed six”。原因:Apple预安装的这个six库出于安全原因而被设置为sudo也不可以执行操作,依赖于高版本的库就需要更新six,但是没有six的权限,因而就报错了。

coremltools需要依赖numpy (1.12.1+)、protobuf (3.1.0+)两个库。
如果需要查看系统已经安装的numpy、protobuf的版本信息,可以使用如下命令:
pip show numpy protobuf

若需要转化其他模型(如SVM),还需要其他依赖库,可以在这里查看

这里有个demo可以验证下环境是否搭建成功。 Demo

2、模型转化
本文以caffe训练得到的模型为例作为介绍。整个转化过程非常简单,只需两行代码,涉及两个接口调用:convert和save。
coreml_model = coremltools.converters.caffe.convert(('bvlc_alexnet.caffemodel', 'deploy.prototxt'), predicted_feature_name= 'class_labels.txt')
coreml_model.save('BVLCObjectClassifier.mlmodel’)

这个转化是很基本的,没有涉及过多的参数。但是别的模型下,比如Resnet-50,它要求输入mean image,此时需要指定参数image_input_names=[]。
convert接口完整的参数如下:
coremltools.converters.caffe.convert(model, image_input_names=[], is_bgr=False, red_bias=0.0, blue_bias=0.0, green_bias=0.0, gray_bias=0.0, image_scale=1.0, class_labels=None, predicted_feature_name=None)

3、苹果在这里给出了coremltools完整的使用文档。


结束语

到这里就结束了,如若不懂的话可以👇留言,也可以加入群讨论
喜欢的话 记得关注、收藏、点赞哟

群号:552048526

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345