打造更智能的应用 - 机器学习和Andorid

news2024/12/28 10:45:42

打造更智能的应用 - 机器学习和Andorid

  • 一、关于机器学习和Andorid
  • 二、使用 Gemini 让您的 Android 应用如虎添翼
    • 2.1 Gemini API
    • 2.2 Android AICore
  • 三、现成可用的还是自定义的机器学习
    • 3.1 机器学习套件 SDK 的常见用户流
    • 3.2 高性能自定义机器学习
  • 四、机器学习套件 SDK:可立即使用,适用于常见用户流
  • 五、Android 的自定义机器学习堆栈:高性能机器学习
    • 5.1 适用于机器学习运行时的 TensorFlow Lite
    • 5.2 借助 TensorFlow Lite Delegate 实现硬件加速
  • 六、Android AICore
    • 6.1 通过 AICore 访问 AI 基础模型的优势
    • 6.2 支持的功能
    • 6.3 架构
    • 6.4 用例

机器学习是一种人工智能的分支,通过使用数据和统计模型来训练计算机系统,使其能够从经验中学习和改进。通过将机器学习与 Android 相结合,我们可以为移动应用带来许多有趣和强大的功能。

一、关于机器学习和Andorid

机器学习 (ML) 可让您的应用大幅提升,并添加用于处理图片、声音和文本的功能。

无论您是经验丰富的开发者,还是刚刚入门的新手,都可以向自己的应用中添加机器学习功能。

  • 低延迟时间:通过实时处理文本、音频和视频,解锁新的用户体验。

  • 将数据保留在设备上:在本地执行推断,而无需将用户数据发送到云端。

  • 可离线使用:无需网络连接,也不需要在云端运行服务。

  • 节省费用:通过在设备上运行机器学习功能来减少云费用。

二、使用 Gemini 让您的 Android 应用如虎添翼

2.1 Gemini API

在服务器上运行 Gemini

借助新的 Gemini API,您可以在 Google 服务器上运行模型推断。您可以从后端调用 API,也可以直接集成新的 Google AI SDK(一种适用于 Android 的客户端 SDK)。

2.2 Android AICore

在设备上运行 Gemini

从 Android 14 开始,Android AICore 是一项新的系统功能,可让您直接在设备上运行基础模型(例如 Gemini Nano)。

三、现成可用的还是自定义的机器学习

3.1 机器学习套件 SDK 的常见用户流

机器学习套件可针对常见问题提供可直接用于生产环境的解决方案,并且无需具备机器学习专业知识。模型是内置的,且针对移动设备进行了优化。机器学习套件易于使用,可让您专注于功能开发,而不是模型训练和优化。

3.2 高性能自定义机器学习

如果您想要获得更多控制权或部署自己的机器学习模型,Android 提供了基于 TensorFlow Lite 和 Google Play 服务构建的自定义机器学习堆栈,其中涵盖了部署高性能机器学习功能所需的基本信息。

四、机器学习套件 SDK:可立即使用,适用于常见用户流

机器学习套件让您可以在设备上访问可直接用于生产环境的机器学习模型。ML Kit API 针对移动设备进行了优化,不需要机器学习专业知识。机器学习套件 API 的示例包括:

人脸检测:在设备上实时检测某张照片是否包含人脸以及出现多少个人脸。

文字识别:识别中文、梵文、日语、韩语或任何拉丁字符语言的文本。

条形码扫描:读取采用最常见线性和 2D(二维码)格式的条形码编码数据。

更多机器学习 API:机器学习套件提供 10 多种视觉和语言 API,例如为图片加标签、姿势检测、翻译、智能回复等。

五、Android 的自定义机器学习堆栈:高性能机器学习

将高性能自定义机器学习功能部署到 Android 应用的基础知识。

5.1 适用于机器学习运行时的 TensorFlow Lite

通过 Android 的官方机器学习推断运行时 Google Play 服务使用 TensorFlow Lite 在您的应用中运行高性能机器学习推断。

5.2 借助 TensorFlow Lite Delegate 实现硬件加速

使用通过 Google Play 服务分发的 TensorFlow Lite Delegate 在 GPU、NPU 或 DSP 等专用硬件上运行加速的机器学习。这样可以帮助您使用高级设备端计算功能,为您的用户提供更流畅、更低延迟的用户体验。
在这里插入图片描述

我们目前为 GPU 和 NNAPI 受托人提供支持,并且我们正在与合作伙伴合作,通过 Google Play 服务提供其自定义受托人的访问权限,以支持高级用例。

由 Google Play 服务启用:使用 Play 服务访问 TensorFlow Lite 运行时和委托。这样可确保使用最新的稳定版,同时最大限度减少对应用的二进制文件大小的影响。

六、Android AICore

Android AICore 是一项新的系统服务,可让您访问在设备上运行的 AI 基础模型。

借助 AICore,您的 Android 应用可以访问 Gemini Nano,这是最小的 Gemini Nano,是 Google 在支持的设备上推出的先进基础模型。目前,多个 Google 产品都在使用 AICore。

6.1 通过 AICore 访问 AI 基础模型的优势

AICore 让 Android OS 能够提供和管理 AI 基础模型。这可显著降低在应用中使用这些大型模型的费用,主要原因如下:

  • 易于部署:AICore 负责管理 Gemini Nano 的分发并处理未来的更新。您无需担心通过网络下载或更新大型模型,也无需费心于对应用的磁盘和运行时内存预算的影响。
  • 使用硬件加速功能:AICore 运行时经过优化,可以从硬件加速中受益。您的应用可在每台设备上获得最佳性能,您无需担心底层硬件接口。

6.2 支持的功能

以下是 AICore 目前支持的核心功能:

  • 支持的设备:AICore 目前仅适用于 Pixel 8 Pro 设备。
  • 支持的模态:AICore 目前支持 Gemini Nano 的文本模态。

设备和模态支持是积极投资的领域。

6.3 架构

作为系统级模块,您可以通过一系列 API 访问 AICore,以便在设备上运行推断。您还可以提供 LoRA 微调块,以进一步优化 Gemini Nano 的应用性能。下图概述了应用如何访问 AICore 以在设备上运行 Gemini Nano。

在这里插入图片描述

6.4 用例

您可以通过 AICore 使用 Gemini Nano 完成以下任务:

  • AI 增强的内容消费:例如摘要、解答问题和实体提取。
  • AI 增强的内容生成功能:例如校对、语法更正、撰写辅助和上下文智能回复。

一些 Google 产品已在 Pixel 上使用 AICore,包括 Pixel 语音录制器和 Gboard。

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

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

相关文章

GIt与IDEA结合,多人操作gitee仓库

提交到本地 push到gitee远程仓库 在做这些之前注意配置git要忽略上传的文件,一般上传代码只上传src和pom.xml即可 在c盘用户里放置 git.ignore # Compiled class file *.class# Log file *.log# BlueJ files *.ctxt# Mobile Tools for Java (J2ME) .mtj.tmp/# Package Files …

python实现截图识别文字v2.0[脱离开发环境]

目录 1、简介 2、如何使用 3、完整代码 4、免费下载 5、说明文档 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工…

element-ui 打包流程源码解析(下)

目录 目录结构和使用1,npm 安装1.1,完整引入1.2,按需引入 2,CDN3,国际化 接上文:element-ui 打包流程源码解析(上) 文章中提到的【上文】都指它 ↑ 目录结构和使用 我们从使用方式来…

简单高效学习 LaTeX 007 - LaTex Format Control 科学排版之格式控制

这一集的视频演示了如何在LaTeX中进行排版的格式控制: https://www.douyin.com/user/self?modal_id7303925716830211379&showTabpost

ubuntu系统 vscode 配置c/c++调试环境

文章目录 1.安装插件2.目录结构3.cmake tools配置 1.安装插件 c/c插件 cmake cmake tools插件 2.目录结构 . ├── build ├── CMakeLists.txt ├── demo │ └── main.cpp ├── image.png ├── src │ ├── add.cpp │ └── add.hpp └── vsdebug.…

Debian 11.8.0 安装图解

引导和开始安装 这里直接回车确认即可,选择图形化安装方式。 选择语言 这里要区分一下,当前选中的语言作为安装过程中安装器所使用的语言,这里我们选择中文简体。不过细心的同学可能发现,当你选择安装器语言之后,后续安…

汽车用螺纹紧固件的拧紧力矩规范主要考虑哪些方面——SunTorque智能扭矩系统

在汽车制造过程中,螺纹紧固件是连接和固定各个零部件的重要元件。为了保证汽车的可靠性和安全性,对于螺纹紧固件的拧紧力矩有着严格的规定和规范。SunTorque智能扭矩系统和大家一起掌握这一重要知识点。 拧紧力矩是指将螺纹紧固件拧紧到预定位置所需的力…

最小公倍数之和(莫比乌斯反演P3911)

路径&#xff1a; P3911 最小公倍数之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<…

新上线一个IT公司微信小程序

项目介绍 项目背景: 一家IT公司,业务包含以下六大块: 1、IT设备回收 2、IT设备租赁 3、IT设备销售 4、IT设备维修 5、IT外包 6、IT软件开发 通过小程序,提供在线下单,在线制单,在线销售,业务介绍,推广,会员 项目目的: 业务介绍: 包含企业业务介绍 客户需…

蓝桥杯(C++ 整数删除 优先队列 )

优先队列&#xff1a; 优先队列具有队列的所有特性&#xff0c;包括队列的基本操作&#xff0c;只是在这基础上添加了内部的一个排序&#xff0c;它本质是一个堆实现的。 1.头文件&定义 #include <queue> #include <functional> //greater<>// 定义 p…

设计模式之“接口隔离原则“:打破僵化,实现灵活编程

在现代软件开发中&#xff0c;设计模式是解决常见问题的最佳实践。其中&#xff0c;接口隔离原则&#xff08;Interface Segregation Principle&#xff0c;简称ISP&#xff09;是面向对象设计模式中的重要原则之一。本文将深入解析接口隔离原则&#xff0c;帮助您理解其重要性…

学习Spring的第五天(Bean的依赖注入)

Bean的依赖注入有两种方式: 一 . 常规Bean的依赖注入 很简单,不过多赘述了,注意ref: 是构造函数或set方法的参数,一般为对象, value: 是构造函数或set方法的参数,一般为值. 看下图 1.1 下面来演示一下集合数据类型的关于Bean的依赖注入 1.1.1这是List的注入(演示泛型为Strin…

AppLovin员工爆料:年底遭暴力辞退。6点通知,直接走人,一分不赔。

* 你好&#xff0c;我是前端队长&#xff0c;在职场&#xff0c;玩副业&#xff0c;文末有福利!&#xff01; 今天&#xff0c;队长看到一个帖子&#xff0c;内容是关于一个员工&#xff0c;在 applovin 公司突然被辞退的经历。 故事的主角&#xff0c;是位尽心尽力的职员&…

墙地砖外形检测的技术方案-外部轮廓检测算法

Ramer算法 利用Canny算子得到墙地砖轮廓后&#xff0c;必须进一步将轮廓线精确分段成墙地砖的四条边&#xff0c;从而可得到墙地砖轮廓尺寸、边直度和直角度指标。采用如下算法实现&#xff1a; 第1&#xff0c;选择较高阈值&#xff0c;利用ramer算法将轮廓线用多边形&#…

PHP Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported.

这个错误是关于三元运算符的错误 这个错误在php8.0以下的版本好像是没问题呢 PHP Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e) in /cangku/app/common.php on line 57 这个问题是 程…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 理论题

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

第三讲_ArkTS的初识

ArkTS的初识 1. ArkTS的基本组成2. ArkTS自定义组件 1. ArkTS的基本组成 装饰器&#xff1a; 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。自定义组件&#xff1a;可复用的UI单元&#xff0c;可组合其他组件&#xff0c;图示中Component装饰的struct Hello…

gitgud.io+Sapphire注册账号教程

gitgud.io是一个仓库&#xff0c;地址 https://gitgud.io/&#xff0c;点进去之后会看到注册页面。 意思是需要通过注册这个Sapphire账户来登录。点击右边的Sapphire&#xff0c;就跳转到Sapphire的登陆页面&#xff0c;点击创建新账号&#xff0c;就进入注册页面。&#xff0…

阿里云地域和可用区分布表,2024更新

2024年阿里云服务器地域分布表&#xff0c;地域指数据中心所在的地理区域&#xff0c;通常按照数据中心所在的城市划分&#xff0c;例如华北2&#xff08;北京&#xff09;地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

【.NET Core】 多线程之(Thread)详解

【.NET Core】 多线程之&#xff08;Thread&#xff09;详解 文章目录 【.NET Core】 多线程之&#xff08;Thread&#xff09;详解一、概述二、线程的创建和使用2.1 ThreadStart用于无返回值&#xff0c;无参数的方法2.2 ParameterizedThreadStart:用于带参数的方法 三、线程的…