欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

机器学习 AI 谷歌ML Kit 与苹果Core ML

程序员文章站 2023-10-27 09:15:04
概述 移动端所说的AI,通常是指“机器学习”。 定义:机器学习其实就是研究计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。从实践的意义上来说,机器学习是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。 目前,机器学习已经有了十分广泛的应 ......

概述

移动端所说的ai,通常是指“机器学习”。
定义:机器学习其实就是研究计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。从实践的意义上来说,机器学习是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。

目前,机器学习已经有了十分广泛的应用,如:数据挖掘、计算机视觉、自然语言处理、语音和手写识别、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、dna序列测序、战略游戏与机器人运用。

机器学习

机器学习包含了几个重要元素:数据集、ai算法、ai模型,如下图:
机器学习 AI 谷歌ML Kit 与苹果Core ML

通过训练,得到最终的ai模型,可以做什么?如下图:
机器学习 AI 谷歌ML Kit 与苹果Core ML

预测结果的准确性取决于模型的判断合理性(即算法的准确性与合理性、数据特征各参数的正确性)

机器学习 AI 谷歌ML Kit 与苹果Core ML

移动端现状

android端,谷歌提供的面向android和ios设备的跨平台人工智能sdk: ml kit
机器学习 AI 谷歌ML Kit 与苹果Core ML
ios端,苹果提供的用于ios设备的机器学习软件开发工具包:core ml
机器学习 AI 谷歌ML Kit 与苹果Core ML

ml kit与 core ml功能对比,如下:

ml kit

1、跨平台,支持android与ios
2、支持模型云托管
3、支持模型离线本地化
4、使用*.tflite 模型文件
5、系统版本要求android  4.1 + ,   ios  9.0 +
core ml

1、非跨平台,仅支持ios
2、不支持模型云托管
3、支持模型离线本地化
4、使用*.mlmodel模型文件
5、系统版本要求ios  11+

ai 模型

现阶段,机器学习模型推理框架较多,常用的如:tensorflow、keras、caffe等。
通过训练产生的模型文件种类也较多,包括:.pb、.ckpt、.caffemodel、.h5、.pkl等格式。

移动端受设备限制,不能支撑常规模型运算:

1、内存、存储空间较小,模型不能复杂;
2、运算能力差,不如专门的伺服器,只能使用相对简单的运算法;
3、电力有限,不适合长时间运算;

所以,移动设备使用ai时,需要将框架已训练模型文件转为android与ios能识别的.tflite、.mlmodel模型文件。
机器学习 AI 谷歌ML Kit 与苹果Core ML

模型转换

下面列出几个主流的模型框架与对应的转换工具(本处只列出主流转换工具,第三方平台也有很多转换工具)
机器学习 AI 谷歌ML Kit 与苹果Core ML

toco示例:

toco --input_file=$(pwd)/mobilenet_v1_1.0_224/frozen_graph.pb \
      --input_format=tensorflow_graphdef \
      --output_format=tflite \
      --output_file=/tmp/mobilenet_v1_1.0_224.tflite \
      --inference_type=float \
      --input_type=float \
      --input_arrays=input \
      --output_arrays=mobilenetv1/predictions/reshape_1 \
--input_shapes=1,224,224,3

tflite_convert示例:

tflite_convert --output_file=/home/yourname/documents/tensorflow/images/500pics2/model/my_model.tflite --keras_model_file=/home/yourname/documents/tensorflow/images/500pics2/model/my_model.h5

core ml tools示例:

import coremltools
coreml_model = coremltools.converters.caffe.convert('xxx.caffemodel')
coreml_model.save('xxx.mlmodel')

官方已提供的模型与api

谷歌:

机器学习 AI 谷歌ML Kit 与苹果Core ML
官网:

苹果:

机器学习 AI 谷歌ML Kit 与苹果Core ML

ml kit的使用

谷歌的ml kit是与firebase移动开发平台完全集成的机器学习模块,可用于ios和android,移动端集成示意图,如下:
机器学习 AI 谷歌ML Kit 与苹果Core ML

总结

本篇文章仅为说明ai的基础概念,让大家对移动端ai有一定的认识。
文章中概念性的内容较多,如有描述不当的地方,请指出,多谢。

后续,会继续更新android与ios ai相关的使用。