【AI】用iOS的ML(机器学习)创建自己的AI App

用iOS的ML(机器学习)创建自己的AI App

目录

  • 用iOS的ML(机器学习)创建自己的AI App
    • 机器学习如同迭代过程
    • CoreML 的使用方法?
    • 软件要求
    • 硬件
    • 开始吧!!
      • 构建管道:
      • 设计和训练网络
      • Keras 转 CoreML
      • 将模型集成到 Xcode 中
    • 结论

推荐超级课程:

  • Docker快速入门到精通
  • Kubernetes入门到大师通关课
  • AWS云服务快速入门实战

在这里插入图片描述

在机器学习中,一切都始于模型,这是进行预测或识别的系统。教计算机学习涉及使用训练数据的机器学习算法进行学习。从训练中生成的输出通常称为机器学习模型。有不同类型的机器学习模型来解决同一个问题(例如对象识别),但使用不同的算法。神经网络, 树集成, 支持向量机(SVM)是其中一些机器学习算法。

机器学习如同迭代过程

首先,我们尝试使用公共模型,但为了带来独特的市场价值和优势,我们希望我们的模型能胜过其他模型。我们在寻找的是所谓的ML反馈循环。谷歌在其ML功能中遵循以下模式:

  • 获取初始数据(一次性)
  • — — — — —
  • 对数据进行标记
  • 训练模型
  • 测试模型
  • 将模型投入生产运行
  • 获取新数据(并重复)

现在,对于一个移动应用程序,流程看起来像是:

在上图中,移动应用程序似乎使用了由ML创建的模型,但是它是如何工作的?是的,这里就是Core ML发挥作用的地方。

CoreML 的使用方法?

Core ML 是苹果的一种新的机器学习框架。它将机器学习模型带到苹果设备上,并让开发者能够轻松利用机器学习。我们可以使用苹果准备的十几种模型,或者从流行的ML框架(比如Keras,Caffe 或 scikit-learn)中转换开源模型。

使用 CoreML 创建IOS应用程序的工作流程如下:

1- 您需要使用如Caffe、turi、Keras等ML框架创建一个数据模型。

2- 安装名为Core ML Tools的Python框架,将数据模型转换为Core ML格式。此转换的结果将是一个带有mlmodel扩展的文件。

3- 就是这样,您可以使用Core ML Tools创建的模型,并将其用于您的移动应用程序。

软件要求

为了训练模型,我们需要一个ML框架。最流行的是由Google开发的Tensorflow。它受到社区最好的支持,并拥有大量的教程和开发者的关注。然而,当您深入了解时,您可能会最终发现自己在Github 问题页面或堆栈溢出上处理一些数学问题或未记录的代码。与Web应用程序或移动开发相比,ML仍处于婴儿阶段,作为开发者,您需要准备好面对这些。建议您留出额外的时间来探索ML的神秘之处。开始使用高级库如Keras或许更容易。您可以在文章结尾处查看一些训练教程的链接。

Tensorflow 和 Keras 是最常见的ML库之一

硬件

许多人说我们需要一个GPU来训练模型。对于需要高精度或进行一些网络架构调整的项目来说这是正确的。如果我们需要一个包含10个类别的图像分类器,那么我们可以利用迁移学习,在标准CPU上对我们的模型进行10分钟的微调。然而,对于真实的生产应用,我们通常需要GPU的性能。我们已经尝试了几家云服务提供商,亚马逊AWS的g2.2xlarge实例是一个不错的选择。

开始吧!!

到目前为止,您已经知道了使用机器学习创建IOS应用所需的必要工具,那就开始吧!

在这里插入图片描述

构建管道:

要使用Core ML工具,第一步是在您的Mac上安装Python。首先,下载Anaconda(选择Python 2.7版本)。Anaconda是一种在Mac上运行Python而不会出现问题的超级简单方式。安装Anaconda后,请转到终端并输入以下命令:

conda install python=2.7.13conda update python

接下来是创建一个虚拟环境。在虚拟环境中,您可以使用不同版本的Python或包来编写程序。要创建一个新的虚拟环境,请输入以下命令。

conda create --name handwriting当终端提示您时,pr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2870069.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

​​SQLiteC/C++接口详细介绍之sqlite3类(十)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(九) 下一篇:​​SQLiteC/C接口详细介绍之sqlite3类(十一) 30.sqlite3_enable_load_extension&#x…

USB打印机改网络打印机

解决传统SMB缺陷可跨平台设备使用。 1、安装deepin 如何安装 – 深度科技社区 2、配置IP地址 vi /etc/network/interfaces && systemctl restart networking 3、安装程序上传到服务器并解压。运行0Dinstalld目录下文件 sh 0Dinstalld/0installdd.sh http://XX.XX.XX…

蓝桥杯刷题(九)

1.三国游戏 代码 #输入数据 nint(input()) Xlilist(map(int,input().split())) Ylilist(map(int,input().split())) Zlilist(map(int,input().split())) #分别计算X-Y-Z/Y-Z-X/Z-X-Y并排序 newXli sorted([Xli[i] - Yli[i] - Zli[i] for i in range(n)],reverseTrue) newYli …

MLC-LLM框架的安卓应用部署实战

这几天根据官网教程把MLC-LLM在安卓端部署了一下,中间遇到了不少问题,也搜集了不少解决方案,同时也结合了别人的实践经历,现分享总结如下。 感谢博主tao_spyker的文章基于MLC LLM将Llama2-7B模型部署至Android手机运行&#xff0c…

HTML5:七天学会基础动画网页13

看完前面很多人可能还不是很明白0%-100%那到底是怎么回事,到底该怎么用,这里我们做一个普遍的练习——心跳动画 想让心❤跳起来,我们先分析一波,这个心怎么写,我们先写一个正方形,再令一个圆形前移: 再来一…

【数据可视化】使用Python + Gephi,构建中医方剂关系网络图!

代码和示例数据下载 前言 在这篇文章中,我们将会可视化 《七版方剂学》 的药材的关系,我们将使用Python制作节点和边的数据,然后在Gephi中绘制出方剂的网络图。 Gephi是一个专门用于构建网络图的工具,只要你能提供节点和边的数…

RTC的Google拥塞控制算法 rmcat-gcc-02

摘要 本文档描述了使用时的两种拥塞控制方法万维网(RTCWEB)上的实时通信;一种算法是基于延迟策略,一种算法是基于丢包策略。 1.简介 拥塞控制是所有共享网络的应用程序的要求互联网资源 [RFC2914]。 实时媒体的拥塞控制对于许…

MySQL--分组查询获取每组最新的一条数据(group by)

业务场景: 最近项目中迭代一个旧的功能,再原有的设计上进行功能拓展(因成本等原因,不考虑项目重构),其中设计到了这么一个场景,同一个业务 ID 在同一张表中有 N 条数据,需要查询出最…

银行合规线上知识竞赛活动方案

合规知识大闯关 作为全国竞赛氛围预热项目,组织市县中心、代理网点人员参与合规知识大闯关答题。 1.建立线上答题平台,参与人通过手机、电脑等方式,填写个人基本信息登录。 2.答题平台在题库中随机抽取试题。 3.参与人在出现第一次答错后&…

Android 开发 地图 polygon 显示信息

问题 Android 开发 地图 polygon 显示信息 详细问题 笔者进行Android项目开发,接入高德地图绘制区域后,需要在指定区域(位置)内显示文本信息,如何实现 实现效果 解决方案 代码 import com.amap.api.maps.model.T…

【Linux系列】命令行参数形式及其应用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

数据结构的概念大合集02(线性表)

概念大合集02 1、线性表及其逻辑结构1.1 线性表的定义1.2 线性表的基本操作 2、线性表的顺序存储结构2.1 顺序表 3、线性表的链式存储3.1 链表3.1.1 头结点(头指针),首指针,尾指针,尾结点3.1.2 单链表3.1.3 双链表3.1.…

21 OpenCV 直方图均衡化

文章目录 直方图概念均衡的目的equalizeHist 均衡化算子示例 直方图概念 图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。 均衡的目的…

重新认识BIO、NIO、IO多路复用、Select、Poll、Epollo它们之间的关系

目录 一、背景 二、名词理解 (1)BIO (2)NIO (3)IO多路复用 (4)Select、Poll、Epollo 三、他们之间的关系总结 一、背景 最近又在学习网络IO相关知识,对我们常说的…

C++中的friend关键字

C中的friend关键字允许其他类或函数访问私有和受保护成员。使用friend是一种破坏封装的做法,但在某些情况下,它提供了必要的灵活性。 friend函数 定义:允许一个普通函数访问类的私有(private)和受保护(prot…

Android FrameWork 学习路线

目录 前言 学习路线: 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…

Unity2019.2.x 导出apk 安装到安卓Android12+及以上的系统版本 安装出现-108 安装包似乎无效的解决办法

Unity2019.2.x 导出apk 安装到安卓Android12及以上的系统版本 安装出现-108 安装包似乎无效的解决办法 导出AndroidStudio工程后 需要设置 build.gradle文件 // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAINbuildscript {repositor…

【数据结构】二叉树OJ题(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

android studio 连接mumu模拟器调试

1、打开mumu模拟器 2、在Android Studio 中 控制台 cd 到 sdk 目录下 platform-tools 文件夹,有一个adb.exe 可运行程序 一般指令: adb connect 127.0.0.1:7555 但是这个执行在window环境下可能会报错 解决方法是在 adb 之前加 ".\", 问题…

nRF52832——内部温度传感器与随机数产生

nRF52832——内部温度传感器与随机数产生 内部温度传感器温度传感寄存器温度传感器电气特征温度传感器库函数编程 随机数产生器随机数发生器寄存器随机数发生器库函数编程库函数使用流程RNG 工程搭建使用 内部温度传感器 在 nrf52xx 系列芯片内部,包含一个内部温度…