提交 c152ebd3 编写于 作者: W wizardforcel

2020-12-30 21:23:20

上级 1385931f
......@@ -55,13 +55,13 @@
* Mac 版 Zipeg / iZip / UnRarX
* 适用于 Linux 的 7-Zip / PeaZip
本书的代码包也托管在 GitHub 的 [https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 上。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。
本书的代码包也托管在 [GitHub](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 上。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。
我们还从 **[https://github.com/PacktPublishing/](https://github.com/PacktPublishing/)** 提供了丰富的书籍和视频目录中的其他代码包。 去看一下!
我们还从[这里](https://github.com/PacktPublishing/)提供了丰富的书籍和视频目录中的其他代码包。 去看一下!
# 下载彩色图像
我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 您可以在此处下载: [https://static.packtcdn.com/downloads/9781789538465_ColorImages.pdf](https://static.packtcdn.com/downloads/9781789538465_ColorImages.pdf)
我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 [您可以在此处下载](https://static.packtcdn.com/downloads/9781789538465_ColorImages.pdf)
# 使用约定
......
......@@ -61,7 +61,7 @@ App Engine 有两种不同的环境:
* 标准
* 灵活
App Engine 标准环境应用程序在沙盒环境中运行,并支持运行 Python,Java,Node.js,Go 和 PHP 应用程序。 另一方面,App Engine 灵活环境应用程序在 Google Compute Engine 虚拟机上的 Docker 容器中运行,除了标准环境支持的语言外,还支持运行 Ruby 和.NET 应用程序。 有关在标准环境和灵活环境之间进行选择的更多详细信息,请参阅[https://cloud.google.com/appengine/docs/the-appengine-environments。](https://cloud.google.com/appengine/docs/the-appengine-environments)
App Engine 标准环境应用程序在沙盒环境中运行,并支持运行 Python,Java,Node.js,Go 和 PHP 应用程序。 另一方面,App Engine 灵活环境应用程序在 Google Compute Engine 虚拟机上的 Docker 容器中运行,除了标准环境支持的语言外,还支持运行 Ruby 和.NET 应用程序。 有关在标准环境和灵活环境之间进行选择的更多详细信息,请参阅[这里](https://cloud.google.com/appengine/docs/the-appengine-environments)
App Engine 对于部署任何 Web 或移动应用程序非常有用。 根据资源的使用情况,基础架构会自动扩展,Google 只会针对已使用的应用程序收费。
......@@ -441,7 +441,7 @@ Cloud Dataflow 可以与 Cloud Machine Learning 集成,服务于各种 AL 和
以下 BigQuery 代码段将用于通过`Leads_Training`表中的逻辑回归来训练销售线索模型:
请使用 [https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 上的`leads_model.sql`文件从以下链接加载查询。
请使用[这个页面](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)上的`leads_model.sql`文件从以下链接加载查询。
```py
CREATE MODEL
......
......@@ -73,7 +73,7 @@ XGBoost 是一个库,可帮助以可扩展且以性能为中心的方式在非
2. 然后,对于后续模型,我们特别关注难以拟合的数据以对其进行校正。
3. 归根结底,我们将所有预测变量组合在一起,赋予每个预测变量一定的权重。
[https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 上的代码表示如何在 Python 中完成梯度增强。
[这个页面](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)上的代码表示如何在 Python 中完成梯度增强。
此代码用于在 Python 中实现梯度增强。 但目的还在于显示如何在多次迭代后减少错误。 散点图显示了机器学习算法的输入(X)的输出(Y)的分布方式。 以下输出还显示了残留散点图,该残留散点图在第 20 <sup></sup>迭代后变得随机性降低,表明梯度提升已找到最佳输出:
......@@ -240,7 +240,7 @@ def predict_json(project, model, instances, version=None):
前面的代码是客户端机器学习 Python 代码,并利用了通过 Google Cloud AI 平台部署的模型。 它以 JSON 作为输入并提供预测的输出。 在下一节中,我们将看到如何使用 XGBoost 库构建推荐系统。
您可以在 [https://cloud.google.com/ml-engine/docs/tensorflow/python-client-library](https://cloud.google.com/ml-engine/docs/tensorflow/python-client-library) 上找到 Python 客户端库的详细信息。
您可以在[这个页面](https://cloud.google.com/ml-engine/docs/tensorflow/python-client-library)上找到 Python 客户端库的详细信息。
# 使用 XGBoost 库构建推荐系统
......@@ -266,7 +266,7 @@ def predict_json(project, model, instances, version=None):
# 创建和测试 XGBoost 推荐系统模型
让我们使用 XGBoost 创建一个推荐系统。 [https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 上的代码表示如何使用 XGBoost 构建推荐系统模型。 它基于用户电影评级数据集。 我们将利用 RAPIDS 包进行此实现。 我们将使用`conda`安装运行时库,安装程序包,并使用图形库表示结果。
让我们使用 XGBoost 创建一个推荐系统。 [这个页面](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)上的代码表示如何使用 XGBoost 构建推荐系统模型。 它基于用户电影评级数据集。 我们将利用 RAPIDS 包进行此实现。 我们将使用`conda`安装运行时库,安装程序包,并使用图形库表示结果。
下表包含`users.csv`的示例数据:
......
......@@ -129,7 +129,7 @@ RESTful API 被基于 GCP 的 AI 应用程序用来调用 AutoML 服务。 用
# 使用 AutoML 自然语言进行文档分类
文档分类是一个非常重要的用例,主要用于分析文档或大量文档(例如法律文档)的内容。 有时,手动分类需要付出很多努力,而且可能不可行。 GCP 提供了易于使用的自然语言界面,可以对其进行自定义训练,以基于 AutoML 进行文档分类。 让我们了解一个包含 20 个新闻组的公共可用数据集的分类过程。 该数据集可从 [http://qwone.com/~jason/20Newsgroups/](http://qwone.com/~jason/20Newsgroups/)下载。 这是大约 20,000 个新闻组文档的集合,平均分布在 20 个不同的新闻组中。 这些新闻组对应于不同的主题。 目标是根据训练数据训练模型,评估模型,最后将其用于文档分类。
文档分类是一个非常重要的用例,主要用于分析文档或大量文档(例如法律文档)的内容。 有时,手动分类需要付出很多努力,而且可能不可行。 GCP 提供了易于使用的自然语言界面,可以对其进行自定义训练,以基于 AutoML 进行文档分类。 让我们了解一个包含 20 个新闻组的公共可用数据集的分类过程。 该数据集可从[这里](http://qwone.com/~jason/20Newsgroups/)下载。 这是大约 20,000 个新闻组文档的集合,平均分布在 20 个不同的新闻组中。 这些新闻组对应于不同的主题。 目标是根据训练数据训练模型,评估模型,最后将其用于文档分类。
# 传统的机器学习方法用于文档分类
......@@ -145,7 +145,7 @@ RESTful API 被基于 GCP 的 AI 应用程序用来调用 AutoML 服务。 用
# 导航到 AutoML 自然语言界面
使用您的 GCP 凭据登录 [https://console.cloud.google.com](https://console.cloud.google.com) 。 在导航菜单上,转到**人工智能**部分,然后单击**自然语言**子菜单:
使用您的 GCP 凭据登录[这里](https://console.cloud.google.com)。 在导航菜单上,转到**人工智能**部分,然后单击**自然语言**子菜单:
![](img/a37f110b-50d1-4d31-b944-8bba7360b23b.png)
......
......@@ -275,7 +275,7 @@ gcloud --quiet compute instances delete $INSTANCE_NAME --zone $ZONE
5. 每个单元执行后,Papermill 发出一个保存。 这可能会产生 429 个“太多请求”错误,这些错误由库本身处理。
6. 终止 Compute Engine 实例。
如果要查看启动脚本的完整代码,请查看以下链接: [https://shorturl.at/tBJ12](https://shorturl.at/tBJ12)
如果要查看启动脚本的完整代码,[请查看以下链接](https://shorturl.at/tBJ12)
希望您现在对 Papermill 库有了很好的了解。 您需要完成以下步骤,以完成在生产环境中使用 AI 笔记本的过程。 我们在这里谨慎地介绍了这些步骤,但是也最好在合并列表中显示它们:
......@@ -371,7 +371,7 @@ print('test_acc:', test_acc)
* `glob`:该模块非常适合使用 UNIX shell 参数。
* `numpy`:该库用于基本的数学功能。
以下链接提供了使用 Keras 训练神经网络的必要代码: [https://shorturl.at/pwGIX](https://shorturl.at/pwGIX)
[以下链接提供了使用 Keras 训练神经网络的必要代码](https://shorturl.at/pwGIX)
前面链接中引用的代码从磁盘加载训练数据,并将其分为训练和评估集。 该模型的结构从 Keras 顺序模型开始,并在我们向其提供训练数据之前将各种层添加到网络。 最后,`model.fit`方法用于通过五个迭代(时期)以 256 个批次训练数据。
......@@ -650,7 +650,7 @@ if version_name:
# 使用 Cloud Machine Learning Engine 进行实时预测
优化了在线预测,以最小化服务预测的延迟。 每个请求我们可以处理一个或多个实例。 在线预测在响应消息中作为输入数据返回,该输入数据直接作为 JSON 字符串传递。 它将尽快返回。 在响应应用程序输入进行请求或在其他需要及时推断的情况下,通常应使用在线预测。 批量预测有其自身的缺点。 如果使用单个模型和少量输入实例,则可以看到使用在线预测与批处理预测完成相同的预测请求所需的时间有相当大的差异。 几乎立即完成由互联网请求返回的预测可能要花费大量时间。 这是两种预测技术所使用的各种设施的副作用。 在创建应用程序时,AI 平台会分配并初始化批量预测资源。 通常,已准备好在线预测,以便可以在需要时进行处理。 您可以通过 [https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) [了解有关在线预测的更多信息。](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)
优化了在线预测,以最小化服务预测的延迟。 每个请求我们可以处理一个或多个实例。 在线预测在响应消息中作为输入数据返回,该输入数据直接作为 JSON 字符串传递。 它将尽快返回。 在响应应用程序输入进行请求或在其他需要及时推断的情况下,通常应使用在线预测。 批量预测有其自身的缺点。 如果使用单个模型和少量输入实例,则可以看到使用在线预测与批处理预测完成相同的预测请求所需的时间有相当大的差异。 几乎立即完成由互联网请求返回的预测可能要花费大量时间。 这是两种预测技术所使用的各种设施的副作用。 在创建应用程序时,AI 平台会分配并初始化批量预测资源。 通常,已准备好在线预测,以便可以在需要时进行处理。 您可以通过[这里](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)了解有关在线预测的更多信息。
前面的链接告诉我们,使用 Google Cloud Platform 上的简单且一致的 API 可以轻松地与 ML 引擎进行交互。 该 API 可用于实时预测,因为它具有很高的吞吐量和使用底层弹性计算能力的效率,而所有这些功能均由 Google Cloud Platform 启用。
......
......@@ -64,7 +64,7 @@
# 构建一个 DialogFlow 代理
作为通用 GCP 原则,GCP 项目中存在任何服务。 一个 GCP 项目可以包含一个 DialogFlow 代理。 如果我们要有多个 DialogFlow 代理,则需要在不同的项目下进行管理。 一个项目组织了 DialogFlow 代理所需的所有资源。 前提条件是,我们需要启用 API,监视工具和计费信息。 我们需要提供对项目用户帐户的访问权限,并在粒度级别上设置访问控制,以便用户可以访问最少的服务资源。 我们将通过 DialogFlow 控制台导航至 [https://dialogflow.cloud.google.com/#/getStarted](https://dialogflow.cloud.google.com/#/getStarted) 来进行工作。
作为通用 GCP 原则,GCP 项目中存在任何服务。 一个 GCP 项目可以包含一个 DialogFlow 代理。 如果我们要有多个 DialogFlow 代理,则需要在不同的项目下进行管理。 一个项目组织了 DialogFlow 代理所需的所有资源。 前提条件是,我们需要启用 API,监视工具和计费信息。 我们需要提供对项目用户帐户的访问权限,并在粒度级别上设置访问控制,以便用户可以访问最少的服务资源。 我们将通过 DialogFlow 控制台导航至[这里](https://dialogflow.cloud.google.com/#/getStarted)来进行工作。
让我们为书店构建一个 DialogFlow 代理。 导航到控制台后,单击侧面菜单或控制台登录页面上的“创建代理”按钮。 根据应用程序的上下文以及默认语言和时区选择代理名称。 DialogFlow 控制台提供了一个选项,可以使用现有的 GCP 项目以及在从控制台创建代理的工作流程中创建新项目。 以下屏幕快照显示了 DialogFlow 控制台中的代理创建屏幕:
......
......@@ -553,7 +553,7 @@ setup(
# 为您的培训工作选择正确的计算选项
重要的是为培训工作选择正确的计算选项,以便最佳利用平台资源。 这导致训练时间和成本最小化。 我们需要为训练作业设置运行时属性。 培训工作是 AI 平台上的标准对象。 培训工作的结构如下(输入参数以**粗体**字体突出显示,请在此链接中找到完整的配置: [https://github.com/PacktPublishing/Hands-On- Google 云平台上的人工智能](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)
重要的是为培训工作选择正确的计算选项,以便最佳利用平台资源。 这导致训练时间和成本最小化。 我们需要为训练作业设置运行时属性。 培训工作是 AI 平台上的标准对象。 培训工作的结构如下(输入参数以**粗体**字体突出显示,[请在此链接中找到完整的配置](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)
```py
{
......@@ -572,7 +572,7 @@ setup(
}
```
具体来说,我们需要为运行时作业配置填充`TrainingInput``PredictionInput`资源。 这些对于特定请求是互斥的,并且在运行时仅需要使用这些输入参数之一。 让我们详细查看`TrainingInput`参数的以下 JSON 结构(请在此链接中找到完整的配置: [https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on- Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) ):
具体来说,我们需要为运行时作业配置填充`TrainingInput``PredictionInput`资源。 这些对于特定请求是互斥的,并且在运行时仅需要使用这些输入参数之一。 让我们详细查看`TrainingInput`参数的以下 JSON 结构([请在此链接中找到完整的配置](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)):
```py
{
......
......@@ -212,8 +212,7 @@ gsutil mb -l $REGION gs://$BUCKET_NAME
前面的代码指定您的新存储桶名称。 它定义了创建存储桶所需的项目 ID。 然后,您指定要在其中创建存储桶的区域的名称。 最后,使用`gsutil` **命令行界面****CLI** )创建存储桶。
可以在以下链接中找到对`gsutil`工具的完整引用:
[https://cloud.google.com/storage/docs/gsutil](https://cloud.google.com/storage/docs/gsutil)
[可以在以下链接中找到对`gsutil`工具的完整引用](https://cloud.google.com/storage/docs/gsutil)
以下屏幕截图提供了有关如何使用控制台 UI 创建存储桶的指南:
......@@ -465,7 +464,7 @@ gcloud beta ai-platform versions create your-version-name \
# 模型训练实例
在本节中,我们将研究如何使用 Google Cloud 平台训练模型以进行预测。 重点是如何使用 Google Cloud 平台训练模型以及其中涉及的步骤。 整个培训代码均来自 Google Cloud 示例示例。 请参阅以下链接( [https://github.com/GoogleCloudPlatform/cloudml-samples/archive/master.zip](https://github.com/GoogleCloudPlatform/cloudml-samples/archive/master.zip)以获取培训代码。 您还可以从 Google Cloud 公共存储(`gs://cloud-samples-data/ai-platform/census/data/*`)下载数据:
在本节中,我们将研究如何使用 Google Cloud 平台训练模型以进行预测。 重点是如何使用 Google Cloud 平台训练模型以及其中涉及的步骤。 整个培训代码均来自 Google Cloud 示例示例。 [请参阅以下链接](https://github.com/GoogleCloudPlatform/cloudml-samples/archive/master.zip)以获取培训代码。 您还可以从 Google Cloud 公共存储(`gs://cloud-samples-data/ai-platform/census/data/*`)下载数据:
1. 您可以创建数据目录,然后使用`gsutil` copy 命令将数据从 Google Cloud 存储桶复制到本地目录。 这是必需的,因为您必须首先在本地训练和测试模型。 以下代码将执行相同的操作:
......
......@@ -241,7 +241,7 @@ gcloud components update
图 10.7:使用 Vision API 进行 OCR 和文本检测的命令
8. OCR 也可以通过任何一个编程接口执行。 GCP 提供了用于 C#,Go,Java,Node.js,PHP,Python 和 Ruby 的 API。 让我们看一下 OCR 的 Python 实现的一小段。 完整的实现可在 GitHub 上的 [https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)
8. OCR 也可以通过任何一个编程接口执行。 GCP 提供了用于 C#,Go,Java,Node.js,PHP,Python 和 Ruby 的 API。 让我们看一下 OCR 的 Python 实现的一小段。 [完整的实现在 GitHub 上](https://github.com/PacktPublishing/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)
```py
def async_detect_document(source_path_gcs, destination_path_gcs):
......@@ -333,7 +333,7 @@ Vision API 还将 PDF 文件中找到的所有符号收集到一个文本字段
create database aip_db;
```
4. 运行以下命令以创建发票表。 SQL 文件`aip.sql`也可从 [https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 获得,以创建与数据库相关的工件:
4. 运行以下命令以创建发票表。 SQL 文件`aip.sql`也可从[这里](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)获得,以创建与数据库相关的工件:
```py
create table invoice
......@@ -402,7 +402,7 @@ Bank_Name VARCHAR(50));
![](img/08d2a98e-b271-4acb-9d63-67a6b4cbb63e.png)
4. 复制`aip_cloud_function.py`中的代码,并根据存储区名称和创建的 pub / sub 主题替换所需的详细信息。 要连接到 Cloud SQL 数据库,将需要再进行一次替换。 将*步骤 6* 中提到的代码行替换为下载代码中的 Cloud SQL 详细信息。
5. [https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform) 下载云功能代码。
5.[这里](https://github.com/vss-vikram/Hands-On-Artificial-Intelligence-on-Google-Cloud-Platform)下载云功能代码。
6. 提供 MySQL 连接详细信息,如以下代码所示。 您将从上一步下载的 Cloud Function 代码中获得相同的代码行。 请使用适当的详细信息替换数据库用户,密码,名称和 Cloud SQL 实例:
`# MYSQL+pymysql://<db_user>:<db_pass>@/<db_name>?unix_socket=/cloudsql/<cloud_sql_instance_name>`
......@@ -436,7 +436,7 @@ Bank_Name VARCHAR(50));
![](img/80278a1e-2d2d-4ee4-accf-edb7400f6b72.png)
现在,让我们遍历 Cloud Function 的完整代码,以将 PDF 转换为文本后处理发票。 以下是部分代码段。 完整代码可在 [https://shorturl.at/yADV9](https://shorturl.at/yADV9) 处找到:
现在,让我们遍历 Cloud Function 的完整代码,以将 PDF 转换为文本后处理发票。 以下是部分代码段。 完整代码可在[这个页面](https://shorturl.at/yADV9)处找到:
```py
def validate_aip(event, context):
......
......@@ -49,13 +49,13 @@
* Mac 版 Zipeg / iZip / UnRarX
* 适用于 Linux 的 7-Zip / PeaZip
本书的代码包也托管在 GitHub 的 [https://github.com/PacktPublishing/Hands-On-Deep-Learning-Architectures-with-Python](https://github.com/PacktPublishing/Hands-On-Deep-Learning-Architectures-with-Python) 中。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。
本书的代码包也托管在 [GitHub](https://github.com/PacktPublishing/Hands-On-Deep-Learning-Architectures-with-Python) 中。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。
我们还从 **[https://github.com/PacktPublishing/](https://github.com/PacktPublishing/)** 提供了丰富的书籍和视频目录中的其他代码包。 去看一下!
我们还从[这里](https://github.com/PacktPublishing/)提供了丰富的书籍和视频目录中的其他代码包。 去看一下!
# 下载彩色图像
我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 您可以在此处下载: [https://www.packtpub.com/sites/default/files/downloads/9781788998086_ColorImages.pdf](https://www.packtpub.com/sites/default/files/downloads/9781788998086_ColorImages.pdf)
我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 [您可以在此处下载](https://www.packtpub.com/sites/default/files/downloads/9781788998086_ColorImages.pdf)
# 使用约定
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册