提交 ebade812 编写于 作者: W wizardforcel

2020-12-30 21:56:46

上级 d63445a8
......@@ -14,7 +14,7 @@
# 技术要求
您可以在 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter7](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter7) 上访问本章的代码。
您可以在[这个页面](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter7)上访问本章的代码。
要运行本章中的代码,您将需要以下软件:
......@@ -27,7 +27,7 @@
在使用任何 AWS 服务或 API 之前,您必须创建您的 AWS 账户。 在本部分中,我们将快速完成在 AWS 中创建帐户的步骤:
1. 第一步是转到 [https://aws.amazon.com/](https://aws.amazon.com/) 。 您应该进入类似于以下内容的页面:
1. 第一步是转到[这里](https://aws.amazon.com/)。 您应该进入类似于以下内容的页面:
![](img/6c5749db-c62e-4e24-b514-9ca21e1afe34.png)
......@@ -42,7 +42,7 @@
5. 在注册的最后一步,将要求您在三个计划中选择:免费,开发人员和商业。 选择与您的需求相关的任何一个,然后继续。
与 Google Cloud Platform 一样,AWS 还提供免费的层访问。 首次注册 AWS 时,您可以免费使用多种 AWS 服务和产品,但只能使用一定数量的配额。 您可以转到 [https://aws.amazon.com/free/](https://aws.amazon.com/free/) 了解更多信息。
与 Google Cloud Platform 一样,AWS 还提供免费的层访问。 首次注册 AWS 时,您可以免费使用多种 AWS 服务和产品,但只能使用一定数量的配额。 您可以转到[这里](https://aws.amazon.com/free/)了解更多信息。
完成上述步骤后,您将获得如下页面:
......@@ -90,15 +90,15 @@ AWS 控制台中的搜索栏还使您可以搜索可能已经听说过的 AWS AP
# Boto3 入门
boto3 是由 AWS 团队提供的用于与 AWS API 通信的官方库。 您可以在 [https://aws.amazon.com/sdk-for-python/](https://aws.amazon.com/sdk-for-python/) 中找到该库,可以使用以下命令进行安装:
boto3 是由 AWS 团队提供的用于与 AWS API 通信的官方库。 您可以在[这个页面](https://aws.amazon.com/sdk-for-python/)中找到该库,可以使用以下命令进行安装:
```py
pip install boto3
```
安装后,您需要配置 boto3 以用于您的项目。 要配置 boto3( [https://bit.ly/2OvXAvb](https://bit.ly/2OvXAvb),第一步是从**身份和访问管理****IAM** ) 安慰。 请执行以下步骤来执行配置:
安装后,您需要配置 boto3 以用于您的项目。 要配置 [boto3](https://bit.ly/2OvXAvb),第一步是从**身份和访问管理****IAM** ) 安慰。 请执行以下步骤来执行配置:
1. 转到 [https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam) 的 AWS IAM 控制台。 它将如下所示:
1. 转到[这里](https://console.aws.amazon.com/iam)的 AWS IAM 控制台。 它将如下所示:
![](img/53fc5106-5219-4269-9ace-5c45edc32c8b.png)
......@@ -134,7 +134,7 @@ aws_secret_access_key = os.environ['aws_secret_access_key']
您可以通过执行以下步骤快速创建 S3 存储桶:
1. 转到 S3 控制台的主页,网址为 [https://s3.console.aws.amazon.com/s3](https://s3.console.aws.amazon.com/s3) 。 它应如下所示:
1. 转到 [S3 控制台的主页](https://s3.console.aws.amazon.com/s3)。 它应如下所示:
![](img/2f02b3a1-2449-470f-a1ab-2ee93093e353.png)
......@@ -161,7 +161,7 @@ s3 = boto3.resource(
)
```
您在`resource()`的第一个参数中指定了对访问 S3 感兴趣。 您可以在 [https://bit.ly/2VHsvnP](https://bit.ly/2VHsvnP) 阅读文档。 现在,您可以通过以下几行代码找到可用的存储桶:
您在`resource()`的第一个参数中指定了对访问 S3 感兴趣。 您可以在[这里](https://bit.ly/2VHsvnP)阅读文档。 现在,您可以通过以下几行代码找到可用的存储桶:
```py
for bucket in s3.buckets.all():
......@@ -194,7 +194,7 @@ s3.Object(bucket_name='demo-bucket-sayak', key='my_image.jpeg')
# 在 Python 中使用 Rekognition API
Amazon Rekognition 是启用了深度学习的视觉分析服务,可以帮助您无缝搜索,验证和分析数十亿张图像。 让我们首先简要回顾一下 Recognition API,然后我们将直接在 Python 中使用它。 首先让我们进入 Rekognition API 的主页,网址为 [https://console.aws.amazon.com/rekognition/home](https://console.aws.amazon.com/rekognition/home) 。 我们已经在本章前面的部分之一中看到了 Rekognition 的主页。
Amazon Rekognition 是启用了深度学习的视觉分析服务,可以帮助您无缝搜索,验证和分析数十亿张图像。 让我们首先简要回顾一下 Recognition API,然后我们将直接在 Python 中使用它。 首先让我们进入 [Rekognition API 的主页](https://console.aws.amazon.com/rekognition/home)。 我们已经在本章前面的部分之一中看到了 Rekognition 的主页。
您可能已经从导航栏中注意到了,Rekognition API 提供了几项功能:
......@@ -208,7 +208,7 @@ Amazon Rekognition 是启用了深度学习的视觉分析服务,可以帮助
Rekognition API 提供的解决方案已被证明对各种各样的组织非常有用,因为它们可以真正解决一些现实世界和具有挑战性的问题。 您可以通过单击 API 主页上的相应解决方案来尝试快速演示上述列表中提到的任何解决方案。 让我们尝试一下名人识别解决方案。
首先,转到 [https://console.aws.amazon.com/rekognition/home?region=us-east-1#/celebrity-detection](https://console.aws.amazon.com/rekognition/home?region=us-east-1#/celebrity-detection) (请注意,该区域可能会有所不同)。 它应如下图所示:
首先,转到[这里](https://console.aws.amazon.com/rekognition/home?region=us-east-1#/celebrity-detection)(请注意,该区域可能会有所不同)。 它应如下图所示:
![](img/5d0a60f8-7ee3-4e21-84ec-0679a3475f7f.png)
......@@ -341,11 +341,11 @@ Alexa 的技能是我们如何将功能引入平台的主要核心。 需要从
在构建此技能时,我们将使用以下服务,您可以通过以下列表中的链接来了解更多信息:
* **Amazon Alexa 技能套件:** [https://developer.amazon.com/alexa-skills-kit](https://developer.amazon.com/alexa-skills-kit)
* **使用 Amazon 登录:** [https://developer.amazon.com/docs/login-with-amazon/minitoc-lwa-overview.html](https://developer.amazon.com/docs/login-with-amazon/minitoc-lwa-overview.html)
* **AWS CloudWatch:** [https://aws.amazon.com/cloudwatch/](https://aws.amazon.com/cloudwatch/)
* **Amazon DynamoDB:** [https://aws.amazon.com/dynamodb/](https://aws.amazon.com/dynamodb/)
* **AWS Lambda:** [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/)
* [**Amazon Alexa 技能套件**](https://developer.amazon.com/alexa-skills-kit)
* [**使用 Amazon 登录**](https://developer.amazon.com/docs/login-with-amazon/minitoc-lwa-overview.html)
* [**AWS CloudWatch**](https://aws.amazon.com/cloudwatch/)
* [**Amazon DynamoDB**](https://aws.amazon.com/dynamodb/)
* [**AWS Lambda**](https://aws.amazon.com/lambda/)
# 为技能创建配置
......@@ -383,7 +383,7 @@ https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
2. 在随后加载的页面上,单击创建新的安全配置文件按钮。
3. 将安全配置文件名称设置为`Smart Home Automation Profile`
4. 提供配置文件的描述。
5. 对于内容隐私声明 URL,您将需要一个有效的隐私策略网页来将技能推广到生产中。 创建并托管隐私策略,并在此字段中提供指向它的链接。 可以在 [https://app-privacy-policy-generator.firebaseapp.com/](https://app-privacy-policy-generator.firebaseapp.com/) 中找到用于创建隐私策略的非常方便的工具。
5. 对于内容隐私声明 URL,您将需要一个有效的隐私策略网页来将技能推广到生产中。 创建并托管隐私策略,并在此字段中提供指向它的链接。 可以在[这个页面](https://app-privacy-policy-generator.firebaseapp.com/)中找到用于创建隐私策略的非常方便的工具。
6. 点击保存。
7. 在下一页显示的齿轮菜单中,单击“安全配置文件”选项。 您将进入“安全配置文件管理”页面,如下图所示:
......@@ -398,7 +398,7 @@ https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
现在,我们可以继续创建技能:
1. 登录 [https://developer.amazon.com/alexa/console/ask](https://developer.amazon.com/alexa/console/ask) 开始该过程。 您将能够看到类似于以下内容的屏幕:
1. 登录[这里](https://developer.amazon.com/alexa/console/ask)开始该过程。 您将能够看到类似于以下内容的屏幕:
![](img/e055cf24-cc4d-4caf-87a6-b5187a26a92a.png)
......@@ -417,7 +417,7 @@ https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
在将 Lambda 函数的 ARN 添加到技能端点配置之前,我们必须为 Lambda 函数创建一个配置。 您可以按照以下步骤进行操作:
1. 转到 [https://console.aws.amazon.com/iam/home#/policies](https://console.aws.amazon.com/iam/home#/policies) 。 屏幕上将显示以下屏幕截图所示的屏幕:
1. 转到[这里](https://console.aws.amazon.com/iam/home#/policies)。 屏幕上将显示以下屏幕截图所示的屏幕:
![](img/0fdc474a-3051-4bab-9698-8a9d883cb2f6.png)
......@@ -460,7 +460,7 @@ https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
# 创建 Lambda 函数
有了适合 Lambda 函数的配置,我们现在可以创建 Lambda 函数本身。 为此,在 AWS 控制台中,导航至 [https://console.aws.amazon.com/lambda/home](https://console.aws.amazon.com/lambda/home?region=us-east-1) 并执行以下步骤:
有了适合 Lambda 函数的配置,我们现在可以创建 Lambda 函数本身。 为此,在 AWS 控制台中,导航至[这里](https://console.aws.amazon.com/lambda/home?region=us-east-1)并执行以下步骤:
1. 单击创建功能。
2. 将功能名称设置为`homeAutomation`
......@@ -512,7 +512,7 @@ https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
为了能够从用户保存数据,此功能需要数据库。 我们将为此使用 Amazon DynamoDB 服务。 设置服务的步骤如下:
1. 转到 [https://console.aws.amazon.com/dynamodb/home?region=us-east-1](https://console.aws.amazon.com/dynamodb/home?region=us-east-1)
1. 转到[这里](https://console.aws.amazon.com/dynamodb/home?region=us-east-1)
2. 单击创建表按钮。
3. 输入表名称为`SmartHome`
4. 对于主键,输入`ItemId`
......@@ -600,7 +600,7 @@ def add_payload_endpoint(self, **kwargs):
self.payload_endpoints.append(self.create_payload_endpoint(**kwargs))
```
3. 现在定义上一步中创建的三个处理程序方法。 上一步中声明的方法取决于它们自己的内部方法。 这些主要是辅助功能,与本章的重点无关,因此我们将把这些留给您实现该功能,您可以通过研究 AWS Lambda 函数的响应主体文档和 Alexa 技能来创建这些功能。 。 可以在本章的代码存储库中的 [http://tiny.cc/HOPDLW_CH7_lfpy](http://tiny.cc/HOPDLW_CH7_lfpy) `lambda_function.py`文件的 65 和 102 行之间找到示例实现。
3. 现在定义上一步中创建的三个处理程序方法。 上一步中声明的方法取决于它们自己的内部方法。 这些主要是辅助功能,与本章的重点无关,因此我们将把这些留给您实现该功能,您可以通过研究 AWS Lambda 函数的响应主体文档和 Alexa 技能来创建这些功能。 。 可以[在本章的代码存储库中](http://tiny.cc/HOPDLW_CH7_lfpy)`lambda_function.py`文件的 65 和 102 行之间找到示例实现。
4. 接下来,我们将设置方法以从`AlexaResponse`类生成最终响应。 最终,我们创建了将所有不同部分(上下文,事件,有效负载,端点和 cookie)同化为单个对象的方法,可以与 Alexa 技能进行交互:
```py
......@@ -816,7 +816,7 @@ def set_device_state(endpoint_id, state, value):
作为该项目的最后阶段,我们将在 Alexa 测试模拟器中测试我们的技能。 为此,请执行以下步骤:
1. 转到 [https://alexa.amazon.com](https://alexa.amazon.com/) 并登录。
1. 转到[这里](https://alexa.amazon.com/)并登录。
2. 单击左侧菜单中的技能。
3. 单击页面右上方的您的技能。
......
......@@ -12,7 +12,7 @@
# 技术要求
您可以从 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter8](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter8) 访问本章的代码。
您可以从[这里](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter8)访问本章的代码。
要运行本章中使用的代码,您将需要以下软件:
......@@ -24,13 +24,13 @@
# 在 Azure 中设置您的帐户
根据您以前使用云平台的经验,您可能已经意识到,这一切都始于在云提供商中设置帐户和计费。 这是一个非常标准的工作流程,Azure 也不例外。 因此,让我们转到 [https://azure.microsoft.com](https://azure.microsoft.com/) 并执行以下步骤:
根据您以前使用云平台的经验,您可能已经意识到,这一切都始于在云提供商中设置帐户和计费。 这是一个非常标准的工作流程,Azure 也不例外。 因此,让我们转到[这里](https://azure.microsoft.com/)并执行以下步骤:
1. 单击免费启动按钮,如下所示:
![](img/01908bbd-6abc-4f1b-8b26-2d05cab0472d.png)
请注意,您将需要一个 Microsoft 帐户才能继续以下步骤。 因此,如果您没有,请在 [https://account.microsoft.com/account](https://account.microsoft.com/account) 中创建一个。
请注意,您将需要一个 Microsoft 帐户才能继续以下步骤。 因此,如果您没有,请在[这个页面](https://account.microsoft.com/account)中创建一个。
2. 您将被重定向到另一个页面,在该页面上您将再次看到另一个“免费启动”按钮。 点击它。
......@@ -44,9 +44,9 @@
4. 填写您的详细信息,其中还包括通过卡验证您的身份。
您可能需要为此支付象征性的费用。 请确保查看 Azure 免费套餐的条款和条件,您可以在 [https://azure.microsoft.com/zh-cn/offers/ms-azr-0003p/](https://azure.microsoft.com/en-in/offers/ms-azr-0003p/) 中找到这些条款和条件。
您可能需要为此支付象征性的费用。 请确保查看 Azure 免费套餐的条款和条件,您可以在[这个页面](https://azure.microsoft.com/en-in/offers/ms-azr-0003p/)中找到这些条款和条件。
完成此过程后,您将全部准备就绪并可以移至 Azure 门户( [https://portal.azure.com](https://portal.azure.com/#home),该门户的作用方式与 GCP 和 AWS 控制台相同 您已经在前面的章节中看到过。
完成此过程后,您将全部准备就绪并可以移至 [Azure 门户](https://portal.azure.com/#home),该门户的作用方式与 GCP 和 AWS 控制台相同 您已经在前面的章节中看到过。
Azure 门户如下所示:
......@@ -58,15 +58,15 @@ Azure 门户如下所示:
Azure 的基于深度学习(和通用机器学习)的产品大致分为三个部分:
* **Azure 机器学习服务**[https://azure.microsoft.com/en-in/services/machine-learning-service/](https://azure.microsoft.com/en-in/services/machine-learning-service/),它提供端到端的服务 机器学习生命周期,包括模型构建,培训和部署:
* [**Azure 机器学习服务**](https://azure.microsoft.com/en-in/services/machine-learning-service/),它提供端到端的服务 机器学习生命周期,包括模型构建,培训和部署:
![](img/5e49fe53-bc9e-41e1-b544-97bdfb6d9e0a.png)
* **机器学习 API**[https://gallery.azure.ai/machineLearningAPIs](https://gallery.azure.ai/machineLearningAPIs),它们为各种学习任务提供 API,例如内容审核,翻译,异常检测, 等等:
* [**机器学习 API**](https://gallery.azure.ai/machineLearningAPIs),它们为各种学习任务提供 API,例如内容审核,翻译,异常检测, 等等:
![](img/3172ed87-5c07-4de6-bcb3-8a1c49c9ac02.png)
* **Azure AI**[https://azure.microsoft.com/en-in/overview/ai-platform/](https://azure.microsoft.com/en-in/overview/ai-platform/),其重点是诸如**知识挖掘**之类的主题 ],**决策挖掘**以及计算机视觉和语言建模领域中的许多其他类似的机器学习功能:
* [**Azure AI**](https://azure.microsoft.com/en-in/overview/ai-platform/),其重点是诸如**知识挖掘**之类的主题 ],**决策挖掘**以及计算机视觉和语言建模领域中的许多其他类似的机器学习功能:
![](img/a33df20e-bf48-44a2-b065-44b02e2bf715.png)
......@@ -74,14 +74,14 @@ Azure 的基于深度学习(和通用机器学习)的产品大致分为三
# 使用 Face API 和 Python 进行对象检测
对象检测是计算机视觉的经典用例,已广泛应用于许多实际问题,例如视频监视系统。 在本节中,我们将使用 Face API 从给定图像中检测面部。 在设计视频监视系统时,可以直接使用。 您可以从其官方页面 [https://azure.microsoft.com/zh-cn/services/cognitive-services/face/](https://azure.microsoft.com/en-us/services/cognitive-services/face/) 了解有关 Face API 的更多信息。
对象检测是计算机视觉的经典用例,已广泛应用于许多实际问题,例如视频监视系统。 在本节中,我们将使用 Face API 从给定图像中检测面部。 在设计视频监视系统时,可以直接使用。 您可以从[其官方页面](https://azure.microsoft.com/en-us/services/cognitive-services/face/)了解有关 Face API 的更多信息。
# 初始设置
Azure 还可以让您免费试用此 API 7 天。 但是,由于您已经拥有一个 Azure 帐户(我想拥有免费信用),因此我们可以采用另一种方式,如下所示:
1. 登录到您的 Azure 帐户。
2. 转到 [https://azure.microsoft.com/zh-cn/services/cognitive-services/face/](https://azure.microsoft.com/en-us/services/cognitive-services/face/)
2. 转到[这里](https://azure.microsoft.com/en-us/services/cognitive-services/face/)
3. 单击已经使用 Azure? 立即免费试用此服务。
现在,您应该有一个窗口,如以下屏幕截图所示:
......@@ -98,7 +98,7 @@ Azure 还可以让您免费试用此 API 7 天。 但是,由于您已经拥有
![](img/08af55b4-5b80-44b4-9943-282a9618ff8d.png)
只需向下滚动一点,您将能够看到 Face API 的端点。 请注意,它会根据您在创建部署时输入的配置详细信息而有所不同。 端点看起来像 [https://eastus.api.cognitive.microsoft.com/face/v1.0](https://eastus.api.cognitive.microsoft.com/face/v1.0) 。 注意这一点。
只需向下滚动一点,您将能够看到 Face API 的端点。 请注意,它会根据您在创建部署时输入的配置详细信息而有所不同。 端点看起来像[这里](https://eastus.api.cognitive.microsoft.com/face/v1.0)。 注意这一点。
现在,要能够以编程方式使用 Face API,您需要创建相应的 API 密钥。 在同一页面的顶部,有一个部分显示**抓取密钥**
......@@ -114,7 +114,7 @@ Azure 还可以让您免费试用此 API 7 天。 但是,由于您已经拥有
当您的程序包含诸如 API 密钥之类的安全凭证时,通常最好将这些密钥定义为环境变量,然后在程序中调用它们。 因此,继续创建一个环境变量以存储 Face API 的 API 密钥之一。
要将环境变量添加到计算机,可以在 [https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html) 上关注此文章。
要将环境变量添加到计算机,可以在[这个页面](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html)上关注此文章。
就我而言,我已将环境变量命名为`face_api_key`。 您可以放置​​任何包含面部的图像。 对于此示例,我将使用以下图像:
......@@ -184,7 +184,7 @@ print('There are {} faces im the given image'.format(str(len(faces))))
There are 2 faces in the given image
```
请注意`returnFaceAttributes`主体参数,该参数可让您指定面孔的多个属性,并且 Face API 将针对这些属性分析给定的面孔。 要查找有关这些属性的更多信息,请查看 [http://bit.ly/2J3j6nM](http://bit.ly/2J3j6nM) 上的文档。
请注意`returnFaceAttributes`主体参数,该参数可让您指定面孔的多个属性,并且 Face API 将针对这些属性分析给定的面孔。 要查找有关这些属性的更多信息,请查看[这个页面](http://bit.ly/2J3j6nM)上的文档。
让我们以一种合理的方式将从 API 获得的响应嵌入到图像中。 我们将在图像中显示检测到的面部的可能的性别和可能的年龄。 我们将使用`matplotlib``PIL``io`库进行此操作,并且我们将使用 Jupyter 笔记本来处理本节中的以下代码段。 我们将从导入库开始:
......@@ -249,7 +249,7 @@ plt.show()
# 使用 Text Analytics API 和 Python 提取文本信息
无论是有意还是无意,我们都必须遇到自然语言处理的一些惊人用例。 无论是自动更正,下一个单词建议还是语言翻译,这些用例都非常重要而不能忽略。 在本节中,我们将使用文本分析 API( [https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/](https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/)从中提取有意义的信息 给定的一段文字。
无论是有意还是无意,我们都必须遇到自然语言处理的一些惊人用例。 无论是自动更正,下一个单词建议还是语言翻译,这些用例都非常重要而不能忽略。 在本节中,我们将使用[文本分析 API](https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/) 从中提取有意义的信息 给定的一段文字。
您可以使用前面提到的链接免费试用 API,并查看其功能。 在以下示例中,我输入了短语`I want to attend NeurIPS someday and present a paper there`,Text Analytics API 从中提取了四个有意义的信息:
......@@ -257,7 +257,7 @@ plt.show()
观察 API 如何从短语中提取所有关键信息。
现在,我们将看到如何使用 Python 以编程方式执行此操作。 设置步骤将与前面的步骤完全相同。 只需转到 [https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics](https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics) 并按照那里的步骤进行。 一旦拥有使用 API​​的相应 API 密钥,请继续进行以下小节。 别忘了记下各自的端点。 端点应以 [https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0](https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0) 开头。 该 URL 不能单独使用; 它需要有一个后缀,指向要调用的正确方法。
现在,我们将看到如何使用 Python 以编程方式执行此操作。 设置步骤将与前面的步骤完全相同。 只需转到[这里](https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics)并按照那里的步骤进行。 一旦拥有使用 API​​的相应 API 密钥,请继续进行以下小节。 别忘了记下各自的端点。 端点应以[这个页面](https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0)开头。 该 URL 不能单独使用; 它需要有一个后缀,指向要调用的正确方法。
# 使用 Python 代码中的 Text Analytics API
......@@ -337,11 +337,11 @@ print(phrases)
![](img/6e957a31-82f6-4670-8ad7-eaded45163f1.png)
注意端点相对于任务的变化。 您可以在 [http://bit.ly/2JjLRfi](http://bit.ly/2JjLRfi) 上探索有关上一示例中使用的端点的不同参数的更多信息。
注意端点相对于任务的变化。 您可以在[这个页面](http://bit.ly/2JjLRfi)上探索有关上一示例中使用的端点的不同参数的更多信息。
# CNTK 简介
CNTK 是 Microsoft 提供的产品。 该框架是 ONNX 格式计划的一部分,该计划允许在不同的神经工具套件框架之间轻松转换模型。 该框架负责 Microsoft 软件和平台上的深度学习生产工作量的很大一部分。 该框架于 2016 年推出,一直是 TensorFlow,PyTorch 等流行框架的竞争者。 该框架是完全开源的,可以在 [https://github.com/microsoft/CNTK](http://github.com/microsoft/CNTK) 中找到。
CNTK 是 Microsoft 提供的产品。 该框架是 ONNX 格式计划的一部分,该计划允许在不同的神经工具套件框架之间轻松转换模型。 该框架负责 Microsoft 软件和平台上的深度学习生产工作量的很大一部分。 该框架于 2016 年推出,一直是 TensorFlow,PyTorch 等流行框架的竞争者。 该框架是完全开源的,可以在[这个页面](http://github.com/microsoft/CNTK)中找到。
CNTK 为企业服务(例如 Cortana 和 Bing)以及广告(例如 Skype Translate,Microsoft Cognitive Services 等)提供动力。 事实证明,它在某些应用上比 TensorFlow 和 PyTorch 等竞争对手更快地工作。
......@@ -353,7 +353,7 @@ CNTK 是最容易上手的框架之一,这得益于其简单的语法和无需
# 在本地计算机上安装
CNTK 框架支持 64 位和 32 位体系结构的计算机。 但是,在编写本书时,它仅支持 3.6 版以下的 Python 版本。 您可以在 [https://pypi.org/project/cntk/](https://pypi.org/project/cntk/) 上验证最新支持的版本。 此外,目前,CNTK 无法作为 macOS 上的内置二进制文件使用。
CNTK 框架支持 64 位和 32 位体系结构的计算机。 但是,在编写本书时,它仅支持 3.6 版以下的 Python 版本。 您可以在[这个页面](https://pypi.org/project/cntk/)上验证最新支持的版本。 此外,目前,CNTK 无法作为 macOS 上的内置二进制文件使用。
要安装框架,可以使用`pip`程序包管理器,也可以使用 Anaconda 上已编译的二进制文件进行安装。 假设已设置 Python 环境,则可以使用以下命令在 Windows 和 Linux 上安装 CNTK:
......@@ -377,7 +377,7 @@ pip install cntk-gpu
pip install <url>
```
可以从 CNTK 网站 [http://tiny.cc/cntk](http://tiny.cc/cntk) 获得`<url>`
可以从 [CNTK 网站](http://tiny.cc/cntk)获得`<url>`
该命令将类似于以下内容:
......@@ -855,7 +855,7 @@ STATICFILES_DIRS = [
现在,我们可以使用模板文件顶部的`{% load static %}`指令创建静态文件并将其加载到项目模板中,就像在`index.html`文件中一样。
13. 创建`style.css``script.js`-由于这些文件与本书的上下文没有明显关系,因此可以直接从 [http://tiny.cc/cntk-demo](http://tiny.cc/cntk-demo) 下载它们。
13. 创建`style.css``script.js`-由于这些文件与本书的上下文没有明显关系,因此可以直接从[这里](http://tiny.cc/cntk-demo)下载它们。
请注意,没有`script.js`文件,该项目将无法运行。
......@@ -1031,7 +1031,7 @@ data = np.argmax(predicted_label_probs, axis=1)
python manage.py runserver
```
如果端口可用,则服务器从 [http:// localhost:8000](http://localhost:8000) 启动。 在网络浏览器中打开页面。 在提供的画布上绘制数字,然后单击“预测”按钮。 您将能够在页面底部看到来自模型的结果,如下所示:
如果端口可用,则服务器从`http://localhost:8000`启动。 在网络浏览器中打开页面。 在提供的画布上绘制数字,然后单击“预测”按钮。 您将能够在页面底部看到来自模型的结果,如下所示:
![](img/b717132a-d629-41e8-b622-7424137ccf76.png)
......
......@@ -13,7 +13,7 @@
# 技术要求
您可以通过 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter9](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter9) 访问本章中使用的代码。
您可以通过[这里](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter9)访问本章中使用的代码。
要运行本章中使用的代码,您将需要以下软件:
......@@ -183,9 +183,9 @@
`beautifulsoup`是通常用于执行 Web 抓取的库。 `Scrapy`是另一种流行的工具,可以非常快速地使用。
数据清除将完全取决于您收集的数据形式,并且在本书的前几章中已进行了讨论。 我们将假定您能够将数据转换为适合您希望进行模型构建部分的格式。 对于本节中的其他主题,我们将使用一个名为 Amazon Fine Food Reviews 的准备好的数据集,可以从 [https://www.kaggle.com/snap/amazon-fine-food-reviews 下载。](https://www.kaggle.com/snap/amazon-fine-food-reviews) 提取下载的 ZIP 文件后,您将获得名为`Reviews.csv`的数据集。
数据清除将完全取决于您收集的数据形式,并且在本书的前几章中已进行了讨论。 我们将假定您能够将数据转换为适合您希望进行模型构建部分的格式。 对于本节中的其他主题,我们将使用一个名为 Amazon Fine Food Reviews 的准备好的数据集,可以从[这里](https://www.kaggle.com/snap/amazon-fine-food-reviews)下载。提取下载的 ZIP 文件后,您将获得名为`Reviews.csv`的数据集。
[https://github.com/Nilabhra/kolkata_nlp_workshop_2019](https://github.com/Nilabhra/kolkata_nlp_workshop_2019) 是观察如何执行 Web 抓取和准备干净数据集的一个很好的起点。
[这里](https://github.com/Nilabhra/kolkata_nlp_workshop_2019)是观察如何执行 Web 抓取和准备干净数据集的一个很好的起点。
# 建立 AI 模型
......@@ -500,7 +500,7 @@ python main.py
# 创建一个使用 API​​的接口
现在,我们将创建一个简单,最少的 UI 来使用我们创建的 API。 本质上,我们将创建一个搜索栏,用户可以在其中输入所需的产品或产品规格,API 会根据用户的查询返回建议。 我们将不讨论构建 UI 的代码,但已将其包含在 GitHub 存储库中,该存储库可在 [http://tiny.cc/DL4WebCh9](http://tiny.cc/DL4WebCh9) 中找到。
现在,我们将创建一个简单,最少的 UI 来使用我们创建的 API。 本质上,我们将创建一个搜索栏,用户可以在其中输入所需的产品或产品规格,API 会根据用户的查询返回建议。 我们将不讨论构建 UI 的代码,但已将其包含在 GitHub 存储库中,该存储库可在[这个页面](http://tiny.cc/DL4WebCh9)中找到。
启动服务器后,该 UI 将在`http://127.0.0.1:4000`处可见,如*创建 API 回答搜索查询*部分的步骤 9 所示。
......
......@@ -13,7 +13,7 @@
# 技术要求
您可以在 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter10](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter10) 上访问本章的代码。
您可以在[这个页面](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/tree/master/Chapter10)上访问本章的代码。
您需要以下软件来运行本章中的代码:
......@@ -95,7 +95,7 @@ from keras.preprocessing.text import Tokenizer
from collections import OrderedDict
```
2. 现在,我们可以将数据导入到项目中。 我们将在 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/model/data/data-full.csv 使用数据集[](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/model/data/data-full.csv) 。 我们将数据集加载到项目中,如下所示:
2. 现在,我们可以将数据导入到项目中。 我们将在[使用数据集](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/model/data/data-full.csv)。 我们将数据集加载到项目中,如下所示:
```py
file = 'data-full.csv'
......@@ -167,7 +167,7 @@ Y_train, Y_test = Y[0:split], Y[split:len(Y)]
在我们的案例中,我们将使用一种特殊类型的递归神经网络-**长短期记忆****LSTM** ),它将学习识别常规的用户行为。
关于 LSTM 的详细讨论超出了本书的范围,但是如果您有兴趣,可以参考 [http://bit.ly/2m0RWnx](http://bit.ly/2m0RWnx) 来详细了解它。
关于 LSTM 的详细讨论超出了本书的范围,但是如果您有兴趣,可以参考[这里](http://bit.ly/2m0RWnx)来详细了解它。
7. 现在,我们使用以下代码添加图层以及单词嵌入,这有助于维护数字编码文本和实际单词之间的关系:
......@@ -534,7 +534,7 @@ webapp/
`templates`文件夹内,我们将放置模板文件。 首先创建`base.html`,我们将在所有其他模板中进行扩展。 这将包含`CSS``JS`包含,以及页面的常规块结构。
我们已在 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/webapp/billboard/templates/base 提供了此文件的示例。 html](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/webapp/billboard/templates/base.html)
我们已在[这里](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/webapp/billboard/templates/base.html)提供了此文件的示例
完成此操作后,我们准备创建`login.html`文件,该文件将执行将登录值发送到服务器的过程:
......@@ -559,7 +559,7 @@ webapp/
注意,我们已经在前面的视图模板中扩展了`base.html`模板。
您可以在 [https://tutorial.djangogirls.org/en/template_extending/](https://tutorial.djangogirls.org/en/template_extending/) 上阅读有关扩展 Django 模板的更多信息。
您可以在[这个页面](https://tutorial.djangogirls.org/en/template_extending/)上阅读有关扩展 Django 模板的更多信息。
此登录页面中的表单发出`POST`请求,因此需要传递 CSRF 令牌。 现在,我们可以创建登录完成后呈现的页面。
......@@ -626,7 +626,7 @@ webapp/
在前面的代码块中,我们扩展了`base.html`模板以添加允许我们添加帐单的表格。 注意`form`元素中 CSRF 令牌的使用。 在 Django 中,我们始终需要在发出 POST 请求时传递有效的 CSRF 令牌。
您可以在 [https://docs.djangoproject.com/en/3.0/ref/csrf/](https://docs.djangoproject.com/en/3.0/ref/csrf/) 上了解有关 Django 中 CSRF 令牌的更多信息。
您可以在[这个页面](https://docs.djangoproject.com/en/3.0/ref/csrf/)上了解有关 Django 中 CSRF 令牌的更多信息。
但是,等等,我们还没有添加视图来处理广告牌页面和添加账单页面。 让我们现在添加它们!
......@@ -652,7 +652,7 @@ class Bills(models.Model):
在前面的代码中,我们创建了一个名为`Bills`的新模型。 这将存储用户在广告牌上添加的所有账单的详细信息。 `user`模型与此模型链接为外键。 将此文件另存为`webapp/billboard/models.py`
您可以在 [https://www.sqlite.org/foreignkeys.html](https://www.sqlite.org/foreignkeys.html) 上了解有关外键和其他键的更多信息。
您可以在[这个页面](https://www.sqlite.org/foreignkeys.html)上了解有关外键和其他键的更多信息。
完成此操作后,我们现在可以在视图中使用`Bills`模型。
......@@ -730,7 +730,7 @@ python manage.py migrate
要将 reCAPTCHA 添加到网站,我们首先需要从 Google reCAPTCHA 控制台获取 API 密钥:
1. 首先,登录到您的 Google 帐户,然后转到 [https://www.google.com/recaptcha](https://www.google.com/recaptcha)
1. 首先,登录到您的 Google 帐户,然后转到[这里](https://www.google.com/recaptcha)
2. 接下来,点击右上角的管理控制台。
3. 按照屏幕上显示的步骤将站点添加到控制台。 如果要在本地系统上进行测试,则必须指定`127.0.0.1`作为 URL 之一。
4. 获取您的域的 API 密钥。
......@@ -783,7 +783,7 @@ def addbill(request):
# Do actions when no request is made
```
您可以从 [https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/中的上一个代码块中获取`addbill`方法的完整工作版本。 Chapter10 / webapp / billboard / views.py](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/webapp/billboard/views.py)
您可以从[这个页面](https://github.com/PacktPublishing/Hands-On-Python-Deep-Learning-for-Web/blob/master/Chapter10/webapp/billboard/views.py)中的上一个代码块中获取`addbill`方法的完整工作版本
经过先前的更改,我们终于可以使用所有安全措施来测试运行该网站了。 运行以下命令以启动网站服务器:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册