当前位置: 首页 > news >正文

【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://www.lryc.cn/news/319549.html

相关文章:

  • 远程调用初体验笔记
  • 反无人机电子护栏:原理、算法及简单实现
  • Java项目利用Redisson实现真正生产可用高并发秒杀功能 支持分布式高并发秒杀
  • 0104行列式的性质-行列式-线性代数
  • k8s HPA 自动伸缩机制 (配置,资源限制,)
  • vulhub中GIT-SHELL 沙盒绕过漏洞复现(CVE-2017-8386)
  • SpringBoot+vue3打造企业级一体化SaaS系统
  • 探讨TCP的可靠性以及三次握手的奥秘
  • openai常见的两个错误:BadRequestError和OpenAIError
  • 2核4g服务器够用吗?
  • 数据仓库数据分层详解
  • unity内存优化之AB包篇(微信小游戏)
  • 白话模电:3.三极管(考研面试与笔试常考问题)
  • LeetCode 395. 至少有K个重复字符的最长子串
  • C#重新认识笔记_ FixUpdate + Update
  • Django 解决新建表删除后无法重新创建等问题
  • Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)
  • 数据分析-Pandas的直接用Matplotlib绘图
  • Jmeter---分布式
  • 安卓基础面试题
  • 如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境
  • Redis实现分布式锁源码分析
  • SCI 图像处理期刊
  • 数据结构-红黑树
  • 双指针、bfs与图论
  • RabbitMQ高级-高级特性
  • Word粘贴时出现“运行时错误53,文件未找到:MathPage.WLL“的解决方案
  • html元素基本使用
  • PHP+golang开源办公系统CRM管理系统
  • smartmontools-5.43交叉编译Smartctl