面向移动设备的深度学习—基于TensorFlow Lite,ML Kit和Flutter

在这里插入图片描述

推荐

深度学习正迅速成为业界热门的话题。《面向移动设备的深度学习—基于TensorFlow Lite,ML Kit和Flutter》采用以工业和移动应用为中心的方法介绍深度学习的概念及其用例。本书将讨论一系列项目,涵盖移动视觉、面部识别、智能AI助手和增强现实等任务。

内容简介

《面向移动设备的深度学习—基于TensorFlow Lite,ML Kit和Flutter》详细阐述了与移动设备深度学习开发相关的基本解决方案,主要包括使用设备内置模型执行人脸检测、开发智能聊天机器人、识别植物物种、生成实时字幕、构建人工智能认证系统、使用AI生成音乐、基于强化神经网络的国际象棋引擎、构建超分辨率图像应用程序等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

作者简介

安努巴哈夫·辛格是 The Code Foundation 的创始人,这是一家专注于人工智能的初创公司,致力于多媒体处理和自然语言处理,目标是让每个人都可以使用人工智能。Anubhav是Venkat Panchapakesan纪念奖学金的获得者,并获得“英特尔软件创新者”称号。Anubhav喜欢分享自己学到的知识,并且是Google Developers Group(谷歌开发者社区)的活跃发言人,经常热心指导他人进行机器学习。

前  言

深度学习正迅速成为业界热门的话题。本书采用以工业和移动应用为中心的方法介绍深度学习的概念及其用例。本书将讨论一系列项目,涵盖移动视觉、面部识别、智能AI助手和增强现实等任务。
借助本书提供的8个实际项目,你将深入了解把深度学习流程集成到iOS和Android移动平台的实战操作。这将帮助你有效地将深度学习功能转换为强大的移动应用程序。
本书可让你亲身体验到如何选择正确的深度学习架构并优化移动应用中的深度学习模型,同时遵循面向应用程序的方法在原生移动应用程序上进行深度学习。
本书还将介绍各种预训练和定制的基于深度学习模型的API,如通过Google Firebase使用的ML Kit。此外,本书还将带你了解在TensorFlow Lite的帮助下使用Python创建自定义深度学习模型的示例。本书每个项目都会演示如何将深度学习库集成到你的移动应用程序中,从准备模型到实际部署都有详细介绍。
通读完本书之后,相信你将掌握在iOS或Android上构建和部署高级深度学习移动应用程序的技能。
本书读者
本书面向希望利用深度学习的力量创造更好的用户体验或希望将强大的AI功能引入其应用的程序开发人员。同时,本书也适用于希望将深度学习模型部署到跨平台移动应用程序的深度学习从业者。
要充分利用本书,你需要对移动应用程序的工作原理有基本的了解,并能够很好地理解Python,同时好具备高中水平的数学知识。

内容介绍

本书共分10章,另外还有一个介绍基础操作的附录。
第1章:“移动设备深度学习简介”,阐释深度学习在移动设备上的新兴趋势和重要性。本章解释了机器学习和深度学习的基本概念,还介绍了可用于将深度学习与Android和iOS集成的各种选项。后,本章还介绍了使用原生和基于云的方法实现深度学习项目。
第2章:“移动视觉—使用设备内置模型执行人脸检测”,介绍ML Kit中可用的移动视觉模型。本章解释了图像处理的概念,并提供了在Keras中创建人脸检测模型的实例。该实例可用于移动设备,并使用了Google Cloud Vision API进行人脸检测。
第3章:“使用Actions on Google平台开发智能聊天机器人”,介绍如何通过扩展Google Assistant的功能来帮助你创建自定义聊天机器人。该项目很好地演示了如何使用Actions on Google平台和Dialogflow的API构建应用程序,可使你的程序拥有智能语音和基于文本的对话界面。
第4章:“识别植物物种”,深入讨论如何构建能够使用图像处理执行视觉识别任务的自定义Tensorflow Lite模型。该项目开发的模型可在移动设备上运行,主要用于识别不同的植物物种。该模型可使用深度卷积神经网络(CNN)进行视觉识别。
第5章:“为摄像头画面生成实时字幕”,介绍一种为摄像头画面实时生成自然语言字幕的方法。在此项目中,你将创建自己的摄像头应用程序,该应用程序使用由图像字幕生成器生成的自定义预训练模型。该模型可使用卷积神经网络(CNN)和长短期记忆网络(LSTM)生成字幕。
第6章:“构建人工智能认证系统”,演示对用户进行身份验证的方法,并创建了一种机制来识别罕见和可疑的用户交互。在识别出罕见事件(即那些与大多数情况不同的事件)后,用户将不被允许登录,并收到一条消息,说明检测到恶意用户。当相关应用程序包含高度安全的数据(如机密电子邮件或虚拟银行金库)时,这可能非常有用。该项目可在网络请求标头上使用基于LSTM的模型来对异常登录进行分类。
第7章:“语音/多媒体处理—使用AI生成音乐”,探索使用AI生成音乐的方法。本章阐释了多媒体处理技术,演示了在样本训练后用于生成音乐的方法。本章项目可使用循环神经网络(RNN)和基于LSTM的模型来生成MIDI音乐文件。
第8章:“基于强化神经网络的国际象棋引擎”,讨论Google DeepMind开发的AlphaGo及其后续产品的原理,以及如何将强化神经网络用于Android平台的机器辅助游戏。本章项目将首先创建一个Connect 4引擎,以获得构建自学游戏AI的灵感。然后,你将开发基于深度强化学习的国际象棋引擎,并将其作为API托管在Google云平台(GCP)。后,可使用国际象棋引擎的API在移动设备上运行游戏。
第9章:“构建超分辨率图像应用程序”,介绍一种借助深度学习生成超分辨率图像的方法。你将学习在Android/iOS上处理图像的第三种方法,以及如何创建可以托管在DigitalOcean上,并集成到Android/iOS应用程序中的TensorFlow模型。由于此模型是高度资源密集型的,因此好在云上托管该模型。该项目使用了生成对抗网络(GAN)。
第10章:“未来之路”,简要介绍当今移动应用程序中流行的深度学习应用程序、当前趋势以及未来该领域的预期发展。
充分利用本书
你需要在本地系统上安装可运行的 Python 3.5 。建议将Python作为Anaconda发行版的一部分进行安装。要构建移动应用程序,你还需要安装Flutter 2.0 。
此外,在本书中,你通常会同时需要TensorFlow 1.x和TensorFlow 2.x,因此,拥有两个Anaconda环境是必不可少的,具体需求如表P-1所示。
表P-1
本书软硬件需求 操作系统需求
Jupyter Notebook 任何具有更新网络浏览器的操作系统(好是Google Chrome/Mozilla Firefox/Apple Safari)。RAM要求:4 GB;建议8 GB或以上
Microsoft Visual Studio Code 任何具有4 GB以上RAM的操作系统;建议8 GB或以上
开发人员可以拿到的Android/iOS智能手机 至少有2 GB的RAM;建议3 GB或以上

本书用到的所有软件工具都是免费提供的。但是,你需要提供信用卡/借记卡详细信息才能激活GCP或DigitalOcean平台。
Flutter移动应用程序的深度学习处于开发的早期阶段。阅读本书后,如果你能够撰写有关如何在移动应用程序上执行机器学习或深度学习的博客和视频,那么你将为应用程序开发人员和机器学习从业者不断发展的生态系统做出重要贡献。
下载示例代码文件
读者可以从www.packtpub.com下载本书的示例代码文件。具体操作步骤如下。
(1)注册并登录www.packtpub.com。
(2)在页面顶部的搜索框中输入图书名称Mobile Deep Learning with TensorFlow Lite,ML Kit and Flutter(不区分大小写,也不必输入完整),即可看到本书,单击打开链接,如图P-1所示。

图P-1
(3)在本书详情页面中,找到并单击Download code from GitHub(从GitHub下载代码文件)按钮,如图P-2所示。
提示:
如果你看不到该下载按钮,可能是没有登录packtpub账号,该站点可免费注册账号。
(4)在本书GitHub源代码下载页面中,单击右侧的Code(代码)按钮,在弹出的下拉菜单中选择Download ZIP(下载压缩包),如图P-3所示。
图P-2
图P-3
下载文件后,请确保使用版本解压缩或解压缩到文件夹。

? WinRAR/7-Zip(Windows系统)。
? Zipeg/iZip/UnRarX(Mac系统)。
? 7-Zip/PeaZip(Linux系统)。

也可以直接访问本书在GitHub上的存储库,其网址如下。

https://github.com/PacktPublishing/Mobile-Deep-Learning-Projects

如果代码有更新,则会在现有GitHub存储库上更新。
下载彩色图像
我们提供了一个PDF文件,其中包含本书使用的屏幕截图/图表的彩色图像。可以通过以下地址下载。

https://static.packt-cdn.com/downloads/9781789611212_ColorImages.pdf
本书约定
本书使用了许多文本约定。
(1)有关代码块的设置如下所示。

dependencies: flutter:sdk: flutter firebase_ml_vision: ^0.9.2 1 image_picker: ^0.6.1 4

(2)任何命令行输入或输出都采用如下所示的粗体代码形式。

curl -O

(3)术语或重要单词采用中英文对照形式,在括号内保留其英文原文。示例如下。

利用自然语言处理(natural language processing,NLP)的强大功能,虚拟助手可以从用户的口语中识别命令,并从上传到助手的图像中识别人和宠物。虚拟助手甚至还可以从任何它们能够访问的在线相册中找到目标。
(4)对于界面词汇或专有名词将保留英文原文,在括号内添加其中文译名。示例如下。

确保在Firewall(防火墙)部分,选中了Allow HTTP traffic(允许HTTP流量)和Allow HTTPS
traffic(允许HTTPS流量)复选框。

(5)本书还使用了以下两个图标。
表示警告或重要的注意事项。
表示提示或小技巧。
在这里插入图片描述

购买链接:
当当: http://product.dangdang.com/29582043.html
京东: https://item.jd.com/14001258.html

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代数结构与图论

文章目录 图的基本概念欧拉图与哈密顿图树平面图代数系统群与环格与布尔代数 图的基本概念 图的阶:图中的顶点数 ,n 个顶点被称为 n 阶图零图:一条边都没有 平凡图:一阶零图基图:将有向图的各条有向边改成无向边所得到…

java虚拟机内存管理

文章目录 概要一、jdk7与jdk8内存结构的差异二、程序计数器三、虚拟机栈3.1 什么是虚拟机栈3.2 什么是栈帧3.3 栈帧的组成 四、本地方法栈五、堆5.1 堆的特点5.2 堆的结构5.3 堆的参数配置 六、方法区6.1 方法区结构6.2 运行时常量池 七、元空间 概要 根据 JVM 规范&#xff0…

动态令牌的原理(OTP HOTP TOTP)

动态令牌的原理(OTP & HOTP &TOTP) 文章目录 动态令牌的原理(OTP & HOTP &TOTP)前言2FA(Two-Factor Authentication)2FA实现方式1: OTP(One-Time Password)2FA实现方式2: HOTP(HMAC-based One-Time Pa…

Tomcat和Servlet

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Tomcat是什么?1.1下载:1.2 tomcat是什么1.3启动服务器: 二.部署三、Servlet3.1创建项目3.2引入依赖pom.xml的所有代码 3…

【neo4j】简单使用

【neo4j】简单使用 创建节点 需要建立一个symmap中医数据集的节点,从csv中读取数据 下面是herb的数据 将该文件放在import中 将xlsx文件转换为csv LOAD CSV WITH HEADERS FROM "file:///herb.csv" AS line CREATE (:herb {name:line.Chinese_name,p…

Vue2【插槽】

目录 1:插槽-默认插槽: 2:插槽-具名插槽 : 3:插槽-作用域插槽: 总结:2023再见,2024再见!!! 1:插槽-默认插槽: 作用&a…

工务园IPO上市具有高度投机性质,涉及高风险

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,工务园在其提交给美国证券交易委员会(SEC)的IPO招股书中披露其在纳斯达克IPO上市的股票发行属于【高度投机性质,涉及高风险】(这是工务园在其IPO招股书中的原话&#xff09…

Seata AT TM->RC->RM一次完整的交互过程

原理 TM两阶段: 阶段1:TM向TC申请全局事务,netty客户端发起了一次记录xid的请求 阶段2:TC协调之后,决定执行RM是否提交或者回滚。 spring公共组件部分 1、SeataAutoConfiguration类 利用springboot自动装配机制从…

HTML---利用CSS3制作网页动画

文章目录 目录 文章目录 本章目标 一.CSS3概述 CSS函数概述 二.CSS3变形 transform属性 translate():平移函数 scale():缩放函数 rotate():旋转函数 skew():倾斜函数 三.CSS3过渡 四.CSS动画 练习 旋转按钮 本章目标 会使用…

Spark作业的调度与执行流程

Apache Spark是一个分布式计算框架,用于处理大规模数据。了解Spark作业的调度与执行流程是构建高效分布式应用程序的关键。本文将深入探讨Spark作业的组成部分、调度过程以及执行流程,并提供丰富的示例代码来帮助大家更好地理解这些概念。 Spark作业的组…

utf8mb4_0900_ai_ci、utf8mb4_0900_as_ci、utf8mb4_0900_as_cs 这三者有什么区别

utf8mb4_0900_ai_ci, utf8mb4_0900_as_ci, 和 utf8mb4_0900_as_cs 是 MySQL 数据库中使用的字符集和校对规则。这些校对规则决定了如何比较和排序字符数据。它们属于 utf8mb4 字符集,这是 UTF-8 编码的超集,支持最多 4 个字节的字符,能够存储…

MySQL多表查询的方法(含例子)

我们查两张及以上表的时候,普通的查询语法(select * from 表名)不能发挥作用。下面我演示两张表和三张表的查询方法。 前提: 如图存在三张表a,b,c:a表是学生基础信息,b表是教师学科信息&#…