Skip to content

Latest commit

 

History

History
108 lines (62 loc) · 10.4 KB

File metadata and controls

108 lines (62 loc) · 10.4 KB

零、前言

深度学习技术可用于开发智能 Web 应用。 在过去的几年中,已经发现在其产品和业务中采用深度学习技术的公司数量急剧增长。 提供人工智能和基于深度学习的解决方案的新兴企业数量激增。 本书介绍了用于使用 Python 在 Web 开发中实现深度学习的众多工具和技术实践。

首先,您将学习机器学习的基础知识,重点是深度学习和神经网络的基础,以及它们的常见变体,例如卷积神经网络,以及如何将它们集成到网站中,其前端使用不同标准 Web 技术栈构建。 您将通过为自定义模型创建 REST API,使用 Django 和 Flask 等 Python 库来创建支持深度学习的 Web 应用。 您将为 Google Cloud 和 AWS 上基于深度学习的 Web 部署设置云环境,并获得有关如何使用经过实践检验的深度学习 API 的指导。 此外,您将使用 Microsoft 的 Intelligent Emotion API,该 API 可以从一张脸部图片中检测出人类的情感。 您还将掌握部署真实世界的网站的知识,并获得丰富的见解,可以使用 reCaptcha 和 Cloudflare 保护这些网站,从而获得可靠的体验。 最后,您将使用自然语言处理从用户评论中推荐餐馆,并通过 Dialogflow 将语音 UX 集成到您的网页上。

到本书结尾,您将能够借助最佳工具和实践来部署智能 Web 应用和网站。

这本书是给谁的

本书面向希望在网络上执行深度学习技术和方法的数据科学家,机器学习从业人员和深度学习工程师。 对于希望在浏览器中使用智能技术以使其更具交互性的 Web 开发人员,这本书也是理想的选择。 使用本指南,您将获得对浏览器数据的深入了解。

具有 Python 编程语言和基础机器学习技术的工作知识(如 Google 的“机器学习速成课程”所述,请访问这里对阅读本书会有所帮助。

本书涵盖的内容

“第 1 章”,“揭秘人工智能和机器学习基础”,简要介绍了机器学习,深度学习以及与 Web 开发相关的其他形式的人工智能方法。 本章将快速介绍机器学习管道的基本主题,例如探索性数据分析,数据预处理,特征工程,训练和测试,评估模型等等。 最后,提出了在 AI 流行之前网站所提供的交互性和用户体验之间的比较以及它们在现代中的状态。 我们还研究了一些最大的公司在网络上使用 AI 的情况,以及 AI 如何革新了他们的产品。

“第 2 章”,“使用 Python 进行深度学习入门”,介绍了与深度学习相关的基本概念和术语,以及如何使用深度学习来构建具有不同深度学习库的简单 Python Web 应用。

“第 3 章”,“创建您的第一个深度学习 Web 应用”讨论了一些专门用于利用深度学习的有关 Web 应用结构的重要概念。 然后继续讨论理解数据集的方法。 本章还显示了如何实现和改进简单的神经网络,以及如何将其包装到用于开发简单 Web 应用的 API 中。 然后,我们继续展示如何使用不同的标准 Web 技术栈来实现 API。

“第 4 章”,“TensorFlow.js 入门”介绍了最受欢迎的深度学习 JavaScript 库-TensorFlow.js(Tf.js)。 它简要概述了 TensorFlow.js 是什么以及它在浏览器中能够执行的操作。 此外,本章还介绍了如何使用 TensorFlow.js 使用预训练的模型,并使用它构建一个简单的 Web 应用。

“第 5 章”,“通过 API 进行深度学习”介绍 API 的概念及其在软件开发中的重要性。 此外,本章将继续展示不同深度学习 API 的示例。 最后,本章介绍了一种选择深度学习 API 供应商以适合特定用例的方法。 涵盖的深度学习 API 是 Vision API,Text API 等。

“第 6 章”,“使用 Python 在 Google Cloud Platform 上进行深度学习”,介绍了 Google Cloud Platform 为 Web 开发人员提供的集成到他们的网站中的产品。 重点是 Dialogflow,它可用于制作聊天机器人和对话式 AI。 Cloud Inference API,可用于构建良好的推荐系统; 以及 Translation API,该 API 用于为不同地区的用户提供其语言的网站内容。 本章详细讨论了它们的应用,还演示了将其与 Python 一起使用的基本方法。

“第 7 章”,“在 AWS 上使用 Python 的 DL:对象检测和家庭自动化”介绍了 Amazon Web Services,并简要介绍了各种产品,包括 Alexa API 和 Rekognition API。 Alexa API 可用于构建家庭自动化 Web 应用和其他交互式界面,而 Rekognition API 可用于检测照片和视频中的人和物体。

“第 8 章”,“使用 Python 在 Microsoft Azure 上进行深度学习”,介绍了 Microsoft Azure 云服务,重点介绍了认知工具包,该工具包是 Microsoft 替代 TensorFlow 的 Emotion API 的工具,可用于确定一个人的面部照片所产生的情感以及 TTS API(可用于从文本中产生听起来自然的声音)。

“第 9 章”,“启用深度学习的网站的通用生产框架”介绍了要建立的通用框架,以在生产环境中在网络上有效部署深度学习。 涵盖了减少计算资源,将原始数据集转换为用于训练深度学习模型的数据集以及如何以最小的资源密集型方式使模型可用于网络上使用的策略。

“第 10 章”,“通过深度学习保护 Web 应用安全”讨论了几种使用 Python 进行深度学习保护网站安全的技巧和技术。 我们介绍 reCaptcha 和 Cloudflare,并讨论如何使用它们来增强网站的安全性。 我们还将展示如何使用 Python 后端上的深度学习来实现安全机制,以检测网站上的恶意用户。

“第 11 章”,“DIY – Web DL 生产环境”讨论了在生产中更新模型的方法以及如何根据需求选择正确的方法。 我们从简要概述开始,然后演示一些用于创建深度学习数据流的著名工具。 最后,我们实现在线学习或增量学习的演示,以建立生产中模型更新的方法。

“第 12 章”,“使用 DL API 和客户支持聊天机器人创建 E2E Web 应用”介绍自然语言处理,并讨论如何创建聊天机器人以使用 Dialogflow 解决一般客户支持查询并将其集成到 Django 和 Flask 网站。 我们探索实现机器人个性的方法以及如何使这种系统资源有效。 我们还介绍了一种使用 Python 实现基于文本到语音和基于语音到文本的用户界面的方法。

附录,“网络上深度学习的成功案例和新兴领域”举例说明了一些最著名的网站,这些网站的产品很大程度上依赖于利用深度学习的力量。 本章还讨论了可以通过深度学习得到增强的 Web 开发中的一些关键研究领域。 这将帮助您更深入地研究 Web 技术和深度学习的融合,并激发您提出自己的智能 Web 应用。

充分利用这本书

本书假定您了解 Python 语言,尤其是 Python 3.6 及更高版本。 强烈建议您在本地系统上安装 Python 的 Anaconda 发行版。 任何支持 Python 3.6 及更高版本的 Anaconda 发行版都适合运行本书中的示例。

在硬件方面,本书假设计算机上有麦克风,扬声器和网络摄像头。

书中介绍的软件/硬件 操作系统要求
Anaconda 发布的 Python 和其他 Python 包 最低 1 GB RAM,建议 8 GB15 GB 磁盘空间
您选择的代码编辑器(建议使用 Sublime Text 3) 2 GB 内存

如果您使用的是本书的数字版本,建议您自己键入代码或通过 GitHub 存储库访问代码(下一节提供链接)。 这样做将帮助您避免任何与代码复制和粘贴有关的潜在错误。

预计您将尝试自己实现本书中的示例。 如果您遇到问题,可以通过给作者发电子邮件– Sayak Paul(spsayakpaul@gmail.com)和 Anubhav Singh(xprilion@gmail.com)与我们联系。 万一您无法运行本书代码存储库中提供的示例,可以在存储库中提出问题,我们会尽快与您联系!

下载示例代码文件

您可以从 www.packt.com 的帐户中下载本书的示例代码文件。 如果您在其他地方购买了此书,则可以访问 www.packtpub.com/support 并注册以将文件直接通过电子邮件发送给您。

您可以按照以下步骤下载代码文件:

  1. 登录或注册 www.packt.com
  2. 选择“支持”选项卡。
  3. 单击“代码下载”。
  4. 在搜索框中输入书籍的名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压缩或解压缩文件夹:

  • Windows 的 WinRAR/7-Zip
  • Mac 版 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

本书的代码包也托管在 GitHub 上。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。

我们还从这里提供了丰富的书籍和视频目录中的其他代码包。 去看一下!

下载彩色图像

我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 您可以在此处下载

使用约定

本书中使用了许多文本约定。

CodeInText:指示文本,数据库表名称,文件夹名称,文件名,文件扩展名,路径名,虚拟 URL,用户输入和 Twitter 句柄中的代码字。 这是一个示例:“现在,我们需要从模型训练步骤中导入保存的模型和权重。一旦完成,就需要重新编译模型,并使用make_predict_fuction()方法使其具有predict函数。”

代码块设置如下:

def remove_digits(s: str) -> str:
    remove_digits = str.maketrans('', '', digits)
    res = s.translate(remove_digits)
    return res

任何命令行输入或输出的编写方式如下:

python main.py

粗体:表示新术语,重要单词或您在屏幕上看到的单词。 例如,菜单或对话框中的单词会出现在这样的文本中。 这是一个示例:“填写条目,然后单击‘继续’。”

警告或重要提示如下所示。

提示和技巧如下所示。