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

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

书籍作者:安努巴哈夫·辛格 ISBN:9787302632344
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7598
创建日期:2024-04-15 发布日期:2024-04-15
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

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

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。


作者简介

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

编辑推荐

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

《面向移动设备的深度学习——基于TensorFlow Lite,ML Kit 和Flutter》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

深度学习正迅速成为业界最热门的话题。本书采用以工业和移动应用为中心的方法介绍深度学习的概念及其用例。本书将讨论一系列项目,涵盖移动视觉、面部识别、智能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或以上




目录

第1章 移动设备深度学习简介 1

1.1 人工智能驱动的移动设备的增长 1

1.1.1 支持人工智能的硬件变化 1

1.1.2 移动设备需要AI芯片的原因 2

1.1.3 使用AI在移动设备上改善用户体验 3

1.1.4 个性化 3

1.1.5 虚拟助手 3

1.1.6 面部识别 4

1.1.7 人工智能驱动的相机 5

1.1.8 预测文本 6

1.1.9 最流行的使用人工智能的移动应用程序 7

1.1.10 Netflix 7

1.1.11 Seeing AI 8

1.1.12 Allo 8

1.1.13 English Language Speech Assistant 8

1.1.14 Socratic 8

1.2 机器学习和深度学习 9

1.2.1 机器学习详解 9

1.2.2 深度学习详解 10

1.2.3 输入层 11

1.2.4 隐藏层 11

1.2.5 输出层 11

1.2.6 激活函数 12

1.3 一些常见的深度学习架构 12

1.3.1 卷积神经网络 12

1.3.2 生成对抗网络 14

1.3.3 循环神经网络 15

1.3.4 长短期记忆网络 16

1.4 强化学习和NLP 16

1.4.1 强化学习 17

1.4.2 自然语言处理 17

1.5 在Android和iOS上集成人工智能的方法 18

1.5.1 Firebase ML Kit 18

1.5.2 Core ML 19

1.5.3 Caffe 2 20

1.5.4 TensorFlow 20

1.6 小结 22

第2章 移动视觉—使用设备内置模型执行人脸检测 23

2.1 技术要求 23

2.2 图像处理简介 23

2.2.1 理解图像 24

2.2.2 操作图像 25

2.2.3 旋转 25

2.2.4 灰度转换 26

2.3 使用Flutter开发人脸检测应用程序 27

2.3.1 添加pub依赖项 27

2.3.2 构建应用程序 28

2.3.3 创建第一个屏幕 30

2.3.4 构建行标题 31

2.3.5 使用按钮小部件构建行 31

2.3.6 创建整个用户界面 34

2.3.7 创建第二个屏幕 35

2.3.8 获取图像文件 35

2.3.9 分析图像以检测人脸 36

2.3.10 标记检测到的人脸 37

2.3.11 在屏幕上显示最终图像 39

2.3.12 创建最终的应用程序 40

2.4 小结 41

第3章 使用Actions on Google平台开发智能聊天机器人 43

3.1 技术要求 43

3.2 了解可用于创建聊天机器人的工具 44

3.2.1 Wit.ai 44

3.2.2 Dialogflow 45

3.2.3 Dialogflow工作原理 45

3.3 创建Dialogflow账户 47

3.4 创建Dialogflow代理 48

3.5 了解Dialogflow控制台 49

3.5.1 使用Dialogflow控制台 49

3.5.2 创建Intent并抓取实体 50

3.6 创建你的第一个Google Action 51

3.6.1 Actions on Google平台和Google Assistant的关系 51

3.6.2 Actions on Google平台的意义 51

3.7 创建Actions on Google项目 53

3.7.1 创建Actions on Google项目示例 53

3.7.2 创建与Google Assistant的集成 54

3.8 实现Webhook 56

3.9 将Webhook部署到Cloud Functions 58

3.10 创建一个Actions on Google版本 58

3.11 为对话式应用程序创建用户界面 60

3.11.1 创建文本控制器 61

3.11.2 创建ChatMessage 63

3.12 集成Dialogflow代理 68

3.13 添加与Assistant的音频交互 70

3.13.1 添加插件 70

3.13.2 添加SpeechRecognition 71

3.13.3 添加麦克风按钮 72

3.14 小结 75

第4章 识别植物物种 77

4.1 技术要求 77

4.2 图像分类简介 78

4.3 了解项目架构 78

4.4 Cloud Vision API简介 80

4.5 配置Cloud Vision API以进行图像识别 82

4.5.1 启用Cloud Vision API 82

4.5.2 创建Cloud Vision API密钥 84

4.6 使用SDK/工具构建模型 85

4.6.1 自定义模型的两种方法 85

4.6.2 Google Colaboratory简介 86

4.7 创建用于图像识别的自定义TensorFlow Lite模型 88

4.8 创建Flutter应用程序 93

4.8.1 在两种不同的模型之间进行选择 94

4.8.2 创建第二个屏幕 97

4.8.3 创建用户界面 97

4.8.4 添加功能 99

4.8.5 在屏幕上显示所选图像 100

4.9 运行图像识别程序 102

4.9.1 使用Cloud Vision API 102

4.9.2 使用设备内置的TensorFlow Lite模型 104

4.9.3 使用结果更新用户界面 107

4.10 小结 110

第5章 为摄像头画面生成实时字幕 111

5.1 设计项目架构 111

5.2 理解图像字幕生成器 112

5.2.1 了解数据集 114

5.2.2 构建图像字幕生成模型 116

5.2.3 初始化字幕数据集 116

5.2.4 准备字幕数据集 118

5.2.5 训练 120

5.2.6 测试 126

5.2.7 创建一个简单的一键部署图像字幕生成模型 127

5.3 了解摄像头插件 132

5.3.1 安装摄像头插件 133

5.3.2 添加持久存储和正确执行的方法 133

5.3.3 编写代码 133

5.4 创建摄像头应用程序 134

5.4.1 摄像头应用程序组成部分 134

5.4.2 构建摄像头预览 135

5.4.3 从摄像头生成图像字幕 138

5.5 创建最终应用程序 142

5.6 小结 143

第6章 构建人工智能认证系统 145

6.1 技术要求 145

6.2 一个简单的登录应用程序 145

6.2.1 登录应用程序的流程图 145

6.2.2 创建用户界面 147

6.3 添加Firebase身份验证功能 153

6.3.1 创建auth.dart 155

6.3.2 在SignupSigninScreen中添加身份验证功能 158

6.3.3 创建MainScreen 159

6.3.4 创建HomeScreen 161

6.3.5 创建main.dart 163

6.4 了解身份验证的异常检测 164

6.5 用于验证用户的自定义模型 165

6.5.1 为检查身份认证的有效性构建模型 165

6.5.2 托管自定义身份认证的验证模型 168

6.6 实现ReCaptcha以防止垃圾邮件 170

6.6.1 关于ReCaptcha v2 171

6.6.2 获取API密钥 171

6.6.3 代码集成 173

6.7 在Flutter中部署模型 175

6.8 小结 177

第7章 语音/多媒体处理—使用AI生成音乐 179

7.1 设计项目的架构 179

7.2 理解多媒体处理 180

7.2.1 图像处理 181

7.2.2 音频处理 186

7.2.3 Magenta 187

7.2.4 视频处理 189

7.3 开发基于RNN的音乐生成模型 192

7.3.1 创建基于LSTM的模型 193

7.3.2 使用Flask部署模型 196

7.4 在Android和iOS上部署音频生成API 200

7.4.1 创建UI 201

7.4.2 添加音频播放器 204

7.4.3 部署模型 206

7.4.4 创建最终应用程序 209

7.5 小结 210

第8章 基于强化神经网络的国际象棋引擎 211

8.1 强化学习简介 211

8.2 手机游戏中的强化学习 213

8.3 探索Google的DeepMind 214

8.3.1 AlphaGo 214

8.3.2 Alpha Zero 215

8.3.3 蒙特卡罗树搜索 216

8.4 用于Connect 4游戏的类Alpha Zero AI 218

8.4.1 创建棋盘的虚拟表示 220

8.4.2 允许根据游戏规则移动 222

8.4.3 状态管理系统 224

8.4.4 生成游戏玩法 225

8.4.5 生成游戏玩法样本 226

8.4.6 系统训练 227

8.4.7 蒙特卡罗树搜索实现 228

8.4.8 神经网络实现 228

8.4.9 创建驱动脚本 229

8.5 基础项目架构 231

8.6 为国际象棋引擎开发GCP托管的REST API 231

8.6.1 了解通用国际象棋接口 233

8.6.2 在GCP上部署 235

8.6.3 请求增加GPU实例的配额 235

8.6.4 创建GPU实例 236

8.6.5 部署脚本 237

8.7 在Android上创建一个简单的国际象棋UI 241

8.7.1 向pubspec.yaml添加依赖项 242

8.7.2 理解映射结构 243

8.7.3 放置棋子的实际图像 245

8.7.4 使棋子可移动 248

8.8 将国际象棋引擎API与UI集成 250

8.8.1 游戏逻辑 250

8.8.2 创建最终应用程序 254

8.9 小结 255

第9章 构建超分辨率图像应用程序 257

9.1 基本项目架构 257

9.2 理解GAN 258

9.3 了解图像超分辨率的工作原理 261

9.3.1 理解图像分辨率 262

9.3.2 像素分辨率 262

9.3.3 空间分辨率 262

9.3.4 时间分辨率 263

9.3.5 光谱分辨率 263

9.3.6 辐射分辨率 263

9.3.7 理解SRGAN 264

9.4 为超分辨率创建TensorFlow模型 265

9.4.1 项目目录结构 265

9.4.2 为超分辨率创建SRGAN模型 265

9.5 为应用程序构建UI 267

9.6 从设备的本地存储中获取图片 271

9.7 在DigitalOcean上托管TensorFlow模型 273

9.7.1 创建一个Flask服务器脚本 274

9.7.2 将Flask脚本部署到DigitalOcean Droplet 275

9.8 在Flutter上集成托管的自定义模型 279

9.9 创建最终应用程序 282

9.10 小结 283

第10章 未来之路 285

10.1 了解移动应用程序在深度学习方面的最新趋势 285

10.1.1 Math Solver 285

10.1.2 Netflix 286

10.1.3 Google Map 287

10.1.4 Tinder 287

10.1.5 Snapchat 287

10.2 探索移动设备上深度学习的最新发展 288

10.2.1 Google MobileNet 288

10.2.2 阿里巴巴移动神经网络 289

10.3 探索移动应用程序中深度学习的当前研究领域 289

10.3.1 时装图像 290

10.3.2 自注意力生成对抗网络 290

10.3.3 图像动态化 291

10.4 小结 292

附录A 293

A.1 在云端虚拟机上设置深度学习环境 293

A.1.1 创建GCP账号并启用结算功能 293

A.1.2 创建项目和GCP计算引擎实例 295

A.1.3 配置VM实例以执行深度学习 296

A.1.4 在虚拟机上安装TensorFlow 299

A.1.5 在虚拟机上安装NLTK并下载数据包 300

A.2 安装Dart SDK 300

A.2.1 Windows 300

A.2.2 macOS 301

A.2.3 Linux 301

A.3 安装Flutter SDK 301

A.3.1 Windows 302

A.3.2 macOS 303

A.3.3 Linux 304

A.4 配置Firebase 305

A.4.1 创建Firebase项目 305

A.4.2 配置Android项目 306

A.4.3 配置iOS项目 308

A.5 设置Visual Studio Code 310

A.5.1 安装Flutter和Dart插件 311

A.5.2 使用flutter doctor验证设置 311

A.5.3 创建第一个Flutter应用程序 312

A.5.4 运行应用程序 313

A.5.5 尝试热重载 314


短评

送货及时,不错的物流,物美价廉,服务也不错。

2023-07-27 11:37:53

店家包装质量,发货快,快递送货上门,书的质量挺好的

2023-06-18 12:29:06

随着移动设备性能的不断提升,深度学习在移动应用中的应用也变得越来越普遍。TensorFlow Lite、ML Kit 和Flutter成为了开发者们在移动平台上实现深度学习模型的重要工具。本文将介绍如何面向移动设备使用这些工具来实现深度学习应用。 **TensorFlow Lite**是谷歌推出的面向移动设备和嵌入式设备的深度学习框架。它允许开发者将训练好的模型转化为适用于移动设备的轻量级模型,以便在本地执行推理。TensorFlow Lite支持多种硬件加速,提高了模型在移动设备上的性能。开发者可以使用TensorFlow Lite提供的工具将模型转化为其支持的格式,然后在移动应用中集成执行。 **ML Kit**是谷歌推出的移动端机器学习框架,它为开发者提供了丰富的预训练模型和API,用于实现各种机器学习任务,包括图像识别、文本分析和人脸检测等。ML Kit简化了模型的集成过程,开发者无需深入了解机器学习的细节,就可以在移动应用中快速添加智能功能。 **Flutter**是由谷歌开发的UI工具包,可用于构建跨平台的移动应用。Flutter具有漂亮的用户界面和流畅的性能,与TensorFlow Lite和ML Kit的集成能力使开发者可以在移动应用中轻松地展示和使用深度学习模型的输出。Flutter提供了插件,使得在应用中集成TensorFlow Lite和ML Kit变得更加简便。 总之,面向移动设备的深度学习应用正变得越来越重要,TensorFlow Lite、ML Kit和Flutter为开发者们提供了强大的工具来实现这些应用。借助这些工具,开发者可以在移动应用中轻松集成深度学习模型,为用户带来更智能、更丰富的体验。

2023-09-01 10:15:35

产品特色