iOS11和机器学习CoreML库
随着iOS11的发布,苹果公司也正式加入了机器学习的战场。在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了。
在这个CoreML库里面,已经集成了一些训练好的模型,可以在App中直接使用这些模型进行预测。

下面是苹果对于Core ML的介绍。
CoreML让你将很多机器学习模型集成到你的app中。除了支持层数超过30层的深度学习之外,还支持决策树的融合,SVM(支持向量机),线性模型。由于其底层建立在Metal 和Accelerate等技术上,所以可以最大限度的发挥CPU和GPU的优势。你可以在移动设备上运行机器学习模型,数据可以不离开设备直接被分析。
Vision:这部分是关于图像分析和图像识别的。其中包括人脸追踪,人脸识别,航标(landmarks),文本识别,区域识别,二维码识别,物体追踪,图像识别等。
其中使用的模型包括:Places205-GoogLeNet,ResNet50,Inception v3,VGG16。
这些模型最小的25M,对于app还是可以接受的,最大的有550M,不知道如何集成到app中。NLPAPI:这部分是自然语言处理的API,包括语言识别,分词,词性还原,词性判定,实体辨识。
GamePlayKit:这部分的话,应该是制作游戏时候,提供一些随机数生成,寻找路径(pathfinding),人工智能的库。感觉上可能还带有强化学习的一些功能(提到了agent behavior,这个可能是强化学习 Q-Learning的一些术语吧0)。其中也有一些Decision Trees的API,但是不知道和传统的决策树是否一致。

从图中可以看到,Core ML 的底层是Accelerate 和 BNNS,BNNS(Basic neural network subroutines),框架中已经集成了神经网络了,并且对于大规模计算和图形计算进行了一定的优化了。Metal Performance Shaders看介绍应该是能够使得app充分使用GPU的组件。
iOS11和机器学习CoreML库的更多相关文章
- 25个Java机器学习工具&库--转载
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- java25个Java机器学习工具&库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- 机器学习算法库scikit-learn的安装
scikit-learn 是一个python实现的免费开源的机器学习算法包,从字面意思可知,science 代表科学,kit代表工具箱,直接翻译过来就是用于机器学习的科学计算包. 安装scikit-l ...
- 机器学习 python库 介绍
开源机器学习库介绍 MLlib in Apache Spark:Spark下的分布式机器学习库.官网 scikit-learn:基于SciPy的机器学习模块.官网 LibRec:一个专注于推荐算法的j ...
- 推荐5个机器学习Python 库,国内外评价超高
机器学习令人无比神往,但从事这个工作的人可能并不这么想. 机器学习的工作内容往往复杂枯燥又困难——通过大量重复工作进行提升必不可少: 汇总工作流及传输渠道.设置数据源以及在内部部署和云部署的资源之间来 ...
- 7个最好的Java机器学习开发库
摘要:现如今,拥有深度学习和机器学习领域的技术是科技界的趋势之一,并且企业则希望雇佣一些拥有良好的机器学习知识背景的程序开发工程师.本文将介绍一些目前流行的.强大的基于Java的机器学习库,希望给大家 ...
- 机器学习 Matplotlib库入门
2017-07-21 15:22:05 Matplotlib库是一个优秀的python的数据可视化的第三方类库,其中的pyplot支持了类似matlab的图像输出操作.matplotlib.pyplo ...
- 机器学习 Numpy库入门
2017-06-28 13:56:25 Numpy 提供了一个强大的N维数组对象ndarray,提供了线性代数,傅里叶变换和随机数生成等的基本功能,可以说Numpy是Scipy,Pandas等科学计算 ...
- Python机器学习常用库记录
1.argparse http://www.jianshu.com/p/fef2d215b91d 命令行解释工具 2.tflearn http://tflearn.org/doc_index/ ten ...
随机推荐
- Java中的排序方法
冒泡排序法 快速排序
- 除去ubuntu的grub引导
除去ubuntu的grub引导 step如下>> 进入ubuntu终端 sudo gedit /etc/defauli/grub 将 #GRUB_HIDDEN_TIMEOUT=0 最前面的 ...
- 【Java】大文本字符串滤重的简单方案~
本文章也同步至本人的CSDN博客中: http://blog.csdn.net/u012881584/article/details/70477832 今天来说一个Java中处理大文本字符串虑重的两个 ...
- phpcms基础
CSM基础(做中小型企业网站) 做一个企业站,三个页面比较重要1.首页2.列表页3.内容页 做企业站的流程:1.由美工出一张,设计效果图2.将设计图静态化3.开始安装CMS4.强模板文件放到CSM里面 ...
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...
- 蓝桥杯-核桃的数量-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- 蓝桥杯-第一个数字-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- Python:学会创建并调用函数
这是关于Python的第4篇文章,主要介绍下如何创建并调用函数. print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对象的函数 ... 简单来说,函数 ...
- java线程(二)
线程范围变量 我们知道线程在cpu上的使用权并不是长时间的,因为计算机的cpu只有一个,而在计算上运行的进程有很多,线程就更不用说了,所以cpu只能通过调度来上多个线程轮流占用cpu资源运行,且为了保 ...
- Java IO最详解
初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见 ...