提交 db54fec0 编写于 作者: W wizardforcel

2020-12-19 23:32:48

上级 45e3f8f6
...@@ -62,7 +62,7 @@ I2A 的体系结构如下: ...@@ -62,7 +62,7 @@ I2A 的体系结构如下:
轨迹是一系列观察和动作。 我们可以将轨迹段表示为![](img/00422.jpeg),因此![](img/00423.jpeg),其中 *o* 是观察值, *a* 是动作。 代理从环境接收观察并执行某些操作。 假设我们将交互序列存储在两个轨迹段中,即![](img/00424.jpeg)和![](img/00425.jpeg)。 现在,这两个轨迹已显示给人类。 如果人类更喜欢![](img/00426.jpeg)而不是![](img/00427.jpeg),那么代理的目标是产生人类所喜欢的轨迹,并相应地设置奖励功能。 这些轨迹段以![](img/00428.jpeg)的形式存储在数据库中; 如果人类更喜欢![](img/00429.jpeg)而不是![](img/00430.jpeg),则![](img/00431.jpeg)设置为更喜欢![](img/00432.jpeg)。 如果没有一条轨迹是可取的,则两条轨迹都将从数据库中删除。 如果两者均首选,则将![](img/00433.jpeg)设置为统一。 轨迹是一系列观察和动作。 我们可以将轨迹段表示为![](img/00422.jpeg),因此![](img/00423.jpeg),其中 *o* 是观察值, *a* 是动作。 代理从环境接收观察并执行某些操作。 假设我们将交互序列存储在两个轨迹段中,即![](img/00424.jpeg)和![](img/00425.jpeg)。 现在,这两个轨迹已显示给人类。 如果人类更喜欢![](img/00426.jpeg)而不是![](img/00427.jpeg),那么代理的目标是产生人类所喜欢的轨迹,并相应地设置奖励功能。 这些轨迹段以![](img/00428.jpeg)的形式存储在数据库中; 如果人类更喜欢![](img/00429.jpeg)而不是![](img/00430.jpeg),则![](img/00431.jpeg)设置为更喜欢![](img/00432.jpeg)。 如果没有一条轨迹是可取的,则两条轨迹都将从数据库中删除。 如果两者均首选,则将![](img/00433.jpeg)设置为统一。
您可以在 [https://youtu.be/oC7Cw3fu3gU](https://youtu.be/oC7Cw3fu3gU) 上查看视频,以了解算法的工作原理。 您可以在[这个页面](https://youtu.be/oC7Cw3fu3gU)上查看视频,以了解算法的工作原理。
# 从演示中进行深度 Q 学习 # 从演示中进行深度 Q 学习
...@@ -72,7 +72,7 @@ I2A 的体系结构如下: ...@@ -72,7 +72,7 @@ I2A 的体系结构如下:
DQfd 中的损失函数将是各种损失的总和。 为了防止我们的代理人过度适合演示数据,我们在网络权重上计算 L2 正则化损失。 我们像往常一样计算 TD 损失,也计算监督损失,以了解我们的特工如何从演示数据中学习。 本文的作者在 DQfd 和各种环境下进行了实验,并且 DQfd 的性能比对决 Double DQN 优先排序的性能更好,更快。 DQfd 中的损失函数将是各种损失的总和。 为了防止我们的代理人过度适合演示数据,我们在网络权重上计算 L2 正则化损失。 我们像往常一样计算 TD 损失,也计算监督损失,以了解我们的特工如何从演示数据中学习。 本文的作者在 DQfd 和各种环境下进行了实验,并且 DQfd 的性能比对决 Double DQN 优先排序的性能更好,更快。
您可以观看此视频,以了解 DQfd 如何学会玩“私眼”游戏: [https://youtu.be/4IFZvqBHsFY](https://youtu.be/4IFZvqBHsFY) 您可以观看此视频,[以了解 DQfd 如何学会玩“私眼”游戏](https://youtu.be/4IFZvqBHsFY)
# 后视经验重播 # 后视经验重播
...@@ -86,7 +86,7 @@ DQfd 中的损失函数将是各种损失的总和。 为了防止我们的代 ...@@ -86,7 +86,7 @@ DQfd 中的损失函数将是各种损失的总和。 为了防止我们的代
![](img/00435.jpeg) ![](img/00435.jpeg)
但这并不意味着特工没有学到任何东西。 代理已经实现了一个不同的目标,即它学会了接近实际目标。 因此,我们认为它有一个不同的目标,而不是认为它是失败的。 如果我们在多次迭代中重复此过程,代理将学会实现我们的实际目标。 HER 可以应用于任何非策略算法。 将 HER 的性能与没有 HER 的 DDPG 进行比较,反之亦然,可以看出带有 HER 的 DDPG 的收敛速度比没有 HER 的 DDPG 快。 您可以在以下视频中看到 HER 的性能: [https://youtu.be/Dz_HuzgMxzo。](https://youtu.be/Dz_HuzgMxzo) 但这并不意味着特工没有学到任何东西。 代理已经实现了一个不同的目标,即它学会了接近实际目标。 因此,我们认为它有一个不同的目标,而不是认为它是失败的。 如果我们在多次迭代中重复此过程,代理将学会实现我们的实际目标。 HER 可以应用于任何非策略算法。 将 HER 的性能与没有 HER 的 DDPG 进行比较,反之亦然,可以看出带有 HER 的 DDPG 的收敛速度比没有 HER 的 DDPG 快。 [您可以在以下视频中看到 HER 的性能](https://youtu.be/Dz_HuzgMxzo)
# 分层强化学习 # 分层强化学习
...@@ -187,7 +187,7 @@ RL 周围有各种改进和进步。 现在,您已经阅读完本书,可以 ...@@ -187,7 +187,7 @@ RL 周围有各种改进和进步。 现在,您已经阅读完本书,可以
您可以进一步参考以下论文: 您可以进一步参考以下论文:
* **I2A 论文**[https://arxiv.org/pdf/1707.06203.pdf](https://arxiv.org/pdf/1707.06203.pdf) * [**I2A 论文**](https://arxiv.org/pdf/1707.06203.pdf)
* 人类喜好的论文的 **DRL: [https://arxiv.org/pdf/1706.03741.pdf](https://arxiv.org/pdf/1706.03741.pdf)** * 人类喜好的论文的 **DRL: [https://arxiv.org/pdf/1706.03741.pdf](https://arxiv.org/pdf/1706.03741.pdf)**
* **HER 论文**[https://arxiv.org/pdf/1707.01495.pdf](https://arxiv.org/pdf/1707.01495.pdf) * [**HER 论文**](https://arxiv.org/pdf/1707.01495.pdf)
* **通过辩论进行 AI 安全性**[https://arxiv.org/pdf/1805.00899.pdf](https://arxiv.org/pdf/1805.00899.pdf) * [**AI 安全性的辩论**](https://arxiv.org/pdf/1805.00899.pdf)
\ No newline at end of file \ No newline at end of file
...@@ -49,18 +49,17 @@ ...@@ -49,18 +49,17 @@
* Mac 版 Zipeg / iZip / UnRarX * Mac 版 Zipeg / iZip / UnRarX
* 适用于 Linux 的 7-Zip / PeaZip * 适用于 Linux 的 7-Zip / PeaZip
本书的代码包也托管在 GitHub 的 [https://github.com/PacktPublishing/Intelligent-Projects-using-Python](https://github.com/PacktPublishing/Intelligent-Projects-using-Python) 上。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。 本书的代码包也托管在 [GitHub](https://github.com/PacktPublishing/Intelligent-Projects-using-Python) 上。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。
我们还有丰富的书籍和视频目录中的其他代码包,可通过 **[https://github.com/PacktPublishing/](https://github.com/PacktPublishing/)** 获得。 去看一下! 我们还有丰富的书籍和视频目录中的其他代码包,可通过[这里](https://github.com/PacktPublishing/)获得。 去看一下!
# 下载彩色图像 # 下载彩色图像
我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 您可以在此处下载: [https://www.packtpub.com/sites/default/files/downloads/9781788996921_ColorImages.pdf](https://www.packtpub.com/sites/default/files/downloads/9781788996921_ColorImages.pdf) 我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 [您可以在此处下载](https://www.packtpub.com/sites/default/files/downloads/9781788996921_ColorImages.pdf)
# 行动中的代码 # 行动中的代码
访问以下链接以查看正在运行的代码的视频: [访问以下链接以查看正在运行的代码的视频](http://bit.ly/2Ru8rlU)
[http://bit.ly/2Ru8rlU](http://bit.ly/2Ru8rlU)
# 使用约定 # 使用约定
......
...@@ -17,11 +17,9 @@ ...@@ -17,11 +17,9 @@
您将需要具备 Python 3,TensorFlow,Keras 和 OpenCV 的基础知识。 您将需要具备 Python 3,TensorFlow,Keras 和 OpenCV 的基础知识。
本章的代码文件可以在 GitHub 上找到: [本章的代码文件可以在 GitHub 上找到](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter02)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter02](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter02)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2t6LLyB)
[http://bit.ly/2t6LLyB](http://bit.ly/2t6LLyB)
# 迁移学习简介 # 迁移学习简介
...@@ -64,7 +62,7 @@ ...@@ -64,7 +62,7 @@
# 糖尿病视网膜病变数据集 # 糖尿病视网膜病变数据集
用于构建糖尿病性视网膜病变检测应用程序的数据集可从 Kaggle 获得,可从以下链接下载: [https://www.kaggle.com/c/教室-糖尿病-视网膜病变-检测-竞争/数据[](https://www.kaggle.com/c/%20classroom-diabetic-retinopathy-detection-competition/data) 用于构建糖尿病性视网膜病变检测应用程序的数据集可从 Kaggle 获得,[可从以下链接下载](https://www.kaggle.com/c/%20classroom-diabetic-retinopathy-detection-competition/data)
训练和保留测试数据集都存在于`train_dataset.zip`文件中,该文件可在前面的链接中找到。 训练和保留测试数据集都存在于`train_dataset.zip`文件中,该文件可在前面的链接中找到。
...@@ -277,18 +275,15 @@ datagen = ImageDataGenerator( ...@@ -277,18 +275,15 @@ datagen = ImageDataGenerator(
VGG 论文链接如下: VGG 论文链接如下:
* **标题***用于大型图像识别的超深度卷积网络* [《用于大型图像识别的超深度卷积网络》](https://arxiv.org/abs/1409.1556)
* **链接**[https://arxiv.org/abs/1409.1556](https://arxiv.org/abs/1409.1556)
ResNet 论文链接如下: ResNet 论文链接如下:
* **标题***用于图像识别的深度残差学习* [《用于图像识别的深度残差学习》](https://arxiv.org/abs/1512.03385)
* **链接**[https://arxiv.org/abs/1512.03385](https://arxiv.org/abs/1512.03385)
InceptionV3 纸质链接如下: InceptionV3 论文链接如下:
* **标题***重新思考计算机视觉的起始架构* [《重新思考计算机视觉的起始架构》](https://arxiv.org/abs/1512.00567)
* **链接**[https://arxiv.org/abs/1512.00567](https://arxiv.org/abs/1512.00567)
简而言之,`VGG16`是一个 16 层的 CNN,使用 3 x 3 滤波器和 2 x 2 接收场进行卷积。 整个网络使用的激活功能都是 ReLU。 由 Simonyan 和 Zisserman 开发的 VGG 架构是 2014 年 ILSVRC 竞赛的亚军。 `VGG16`网络由于其简单性而广受欢迎,它是从图像中提取特征的最受欢迎的网络。 简而言之,`VGG16`是一个 16 层的 CNN,使用 3 x 3 滤波器和 2 x 2 接收场进行卷积。 整个网络使用的激活功能都是 ReLU。 由 Simonyan 和 Zisserman 开发的 VGG 架构是 2014 年 ILSVRC 竞赛的亚军。 `VGG16`网络由于其简单性而广受欢迎,它是从图像中提取特征的最受欢迎的网络。
...@@ -866,7 +861,7 @@ val_generator = val_datagen.flow_from_directory(val_dir, ...@@ -866,7 +861,7 @@ val_generator = val_datagen.flow_from_directory(val_dir,
`class_mode`帮助生成器识别其二进制分类还是多分类(`'categotical'`)。 `class_mode`帮助生成器识别其二进制分类还是多分类(`'categotical'`)。
详细的实现在 GitHub 上的`TransferLearning_ffd.py`文件夹中 [https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02) 中列出。 详细的实现在 GitHub 上的[`TransferLearning_ffd.py`文件夹](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02)中列出。
Python 脚本`TransferLearning_ffd.py`可以按以下方式调用: Python 脚本`TransferLearning_ffd.py`可以按以下方式调用:
...@@ -1186,7 +1181,7 @@ folds=5): ...@@ -1186,7 +1181,7 @@ folds=5):
``` ```
从前面的代码中我们可以看到,计算出每一折的预测平均值,并通过四舍五入预测分数将其转换为最接近的严重性等级。 用于回归的 Python 脚本位于 GitHub 链接 [https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02) 中。 名称为`TransferLearning_reg.py`。 可以通过运行以下命令来调用相同的命令: 从前面的代码中我们可以看到,计算出每一折的预测平均值,并通过四舍五入预测分数将其转换为最接近的严重性等级。 用于回归的 Python 脚本位于 [GitHub 链接](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02)中。 名称为`TransferLearning_reg.py`。 可以通过运行以下命令来调用相同的命令:
```py ```py
python TransferLearning_reg.py --path '/media/santanu/9eb9b6dc-b380-486e-b4fd-c424a325b976/book AI/Diabetic Retinopathy/Extra/assignment2_train_dataset/' --class_folders '["class0","class1","class2","class3","class4"]' --dim 224 --lr 1e-4 --batch_size 32 --epochs 5 --initial_layers_to_freeze 10 --model InceptionV3 --folds 5 --outdir '/home/santanu/ML_DS_Catalog-/Transfer_Learning_DR/Regression/' python TransferLearning_reg.py --path '/media/santanu/9eb9b6dc-b380-486e-b4fd-c424a325b976/book AI/Diabetic Retinopathy/Extra/assignment2_train_dataset/' --class_folders '["class0","class1","class2","class3","class4"]' --dim 224 --lr 1e-4 --batch_size 32 --epochs 5 --initial_layers_to_freeze 10 --model InceptionV3 --folds 5 --outdir '/home/santanu/ML_DS_Catalog-/Transfer_Learning_DR/Regression/'
......
...@@ -23,11 +23,9 @@ ...@@ -23,11 +23,9 @@
您将需要具有 Python 3,TensorFlow 和 Keras 的基础知识。 您将需要具有 Python 3,TensorFlow 和 Keras 的基础知识。
可以在 GitHub 上找到本章的代码文件: [可以在 GitHub 上找到本章的代码文件](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter03)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter03](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter03)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2sXYX8A)
[http://bit.ly/2sXYX8A](http://bit.ly/2sXYX8A)
# 基于规则的机器翻译 # 基于规则的机器翻译
...@@ -232,7 +230,7 @@ NMT 与其他传统方法相比的一些优点如下: ...@@ -232,7 +230,7 @@ NMT 与其他传统方法相比的一些优点如下:
# 实现序列到序列的神经翻译机 # 实现序列到序列的神经翻译机
我们将建立一个神经机器翻译系统,该系统将学习将英语短句子翻译成法语。 为此,我们将使用位于 [http://www.manythings.org/anki/](http://www.manythings.org/anki/) 上的英语到法语文本语料库(`fra-eng/fra.txt`)。 我们将建立一个神经机器翻译系统,该系统将学习将英语短句子翻译成法语。 为此,我们将使用位于[这个页面](http://www.manythings.org/anki/)上的英语到法语文本语料库(`fra-eng/fra.txt`)。
# 处理输入数据 # 处理输入数据
......
...@@ -17,11 +17,9 @@ ...@@ -17,11 +17,9 @@
读者应具有 Python 3 和人工智能的基础知识,才能完成本章中的项目。 读者应具有 Python 3 和人工智能的基础知识,才能完成本章中的项目。
本章的代码文件可以在 GitHub 上找到: [本章的代码文件可以在 GitHub 上找到](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2CUZLQb)
[http://bit.ly/2CUZLQb](http://bit.ly/2CUZLQb)
# DiscoGAN # DiscoGAN
...@@ -93,7 +91,7 @@ L2 范数下的重建损失可以表示为: ...@@ -93,7 +91,7 @@ L2 范数下的重建损失可以表示为:
在本章中,我们将使用草绘的轮廓生成手袋,而无需使用 DiscoGAN 进行显式配对。 我们将草图图像表示为属于域 A,而将自然手袋图像表示为属于域 B。将有两种生成器:一种生成器,用于获取域 A 的图像并将其映射到在域 B 下看起来逼真的图像,以及 另一个与此相反:将域 B 中的手袋图像映射到在域 A 下看起来很逼真的图像。鉴别者将尝试从每个域中真实图像的生成器中识别生成器生成的虚假图像。 生成器和判别器将相互进行 minimax 零和游戏。 在本章中,我们将使用草绘的轮廓生成手袋,而无需使用 DiscoGAN 进行显式配对。 我们将草图图像表示为属于域 A,而将自然手袋图像表示为属于域 B。将有两种生成器:一种生成器,用于获取域 A 的图像并将其映射到在域 B 下看起来逼真的图像,以及 另一个与此相反:将域 B 中的手袋图像映射到在域 A 下看起来很逼真的图像。鉴别者将尝试从每个域中真实图像的生成器中识别生成器生成的虚假图像。 生成器和判别器将相互进行 minimax 零和游戏。
要训​​练该网络,我们将需要两套图像,手袋的草图或轮廓以及手袋的自然图像。 可以从以下链接下载图像: [https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/edges2handbags.tar.gz](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/edges2handbags.tar.gz) 要训​​练该网络,我们将需要两套图像,手袋的草图或轮廓以及手袋的自然图像。 [可以从以下链接下载图像](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/edges2handbags.tar.gz)
在接下来的几节中,我们将完成在 TensorFlow 中定义 DiscoGAN 网络的过程,然后训练它使用充当图像边缘的手提包草图来生成逼真的手提包图像。 我们将从定义发电机网络的架构开始。 在接下来的几节中,我们将完成在 TensorFlow 中定义 DiscoGAN 网络的过程,然后训练它使用充当图像边缘的手提包草图来生成逼真的手提包图像。 我们将从定义发电机网络的架构开始。
...@@ -745,6 +743,6 @@ Epoch: [ 0] [ 19/ 156] time: 13.7525 ...@@ -745,6 +743,6 @@ Epoch: [ 0] [ 19/ 156] time: 13.7525
# 概要 # 概要
现在,我们到了本章的结尾。 您现在应该精通 DiscoGAN 的技术知识和实施复杂性。 我们在本章中探讨的概念可用于实施各种生成性对抗性网络,这些网络具有适合当前问题的细微变化。 DiscoGAN 网络的端到端实现位于 GitHub 存储库中,位于 [https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04) 现在,我们到了本章的结尾。 您现在应该精通 DiscoGAN 的技术知识和实施复杂性。 我们在本章中探讨的概念可用于实施各种生成性对抗性网络,这些网络具有适合当前问题的细微变化。 DiscoGAN 网络的端到端实现位于 GitHub 存储库中,位于[这里](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter04)
[第 5 章](05.html)*视频字幕应用程序*中,我们将研究视频到文本翻译应用程序,它们属于人工智能领域的专家系统。 [第 5 章](05.html)*视频字幕应用程序*中,我们将研究视频到文本翻译应用程序,它们属于人工智能领域的专家系统。
\ No newline at end of file
...@@ -23,11 +23,9 @@ ...@@ -23,11 +23,9 @@
您将需要具备 Python 3,TensorFlow,Keras 和 OpenCV 的基础知识。 您将需要具备 Python 3,TensorFlow,Keras 和 OpenCV 的基础知识。
本章的代码文件可以在 GitHub 上找到: [本章的代码文件可以在 GitHub 上找到](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter05)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter05](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter05)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2BeXK1c)
[http://bit.ly/2BeXK1c](http://bit.ly/2BeXK1c)
# 视频字幕中的 CNN 和 LSTM # 视频字幕中的 CNN 和 LSTM
...@@ -55,7 +53,7 @@ ...@@ -55,7 +53,7 @@
# 序列到序列的视频字幕系统 # 序列到序列的视频字幕系统
序列到序列的体系结构基于 Subhashini Venugopalan,Marcus Rohrbach,Jeff Donahue,Raymond Mooney,Trevor Darrell 和 Kate Saenko 撰写的名为**序列到序列-视频到文本**的论文。 该论文可以在 [https://arxiv.org/pdf/1505.00487.pdf](https://arxiv.org/pdf/1505.00487.pdf) 中找到。 序列到序列的体系结构基于 Subhashini Venugopalan,Marcus Rohrbach,Jeff Donahue,Raymond Mooney,Trevor Darrell 和 Kate Saenko 撰写的名为《序列到序列-视频到文本》的论文。 该论文可以在[这个页面](https://arxiv.org/pdf/1505.00487.pdf)中找到。
在下图(*图 5.3* )中,说明了基于先前论文的*序列到字幕视频字幕*神经网络架构: 在下图(*图 5.3* )中,说明了基于先前论文的*序列到字幕视频字幕*神经网络架构:
...@@ -85,7 +83,7 @@ ...@@ -85,7 +83,7 @@
# 视频字幕系统的数据 # 视频字幕系统的数据
我们通过在`MSVD dataset`上训练模型来构建视频字幕系统,该模型是 Microsoft 的带预字幕的 YouTube 视频存储库。 可以从以下链接下载所需的数据: [http://www.cs.utexas.edu/users/ml/clamp/videoDescription/YouTubeClips.tar](http://www.cs.utexas.edu/users/ml/clamp/videoDescription/YouTubeClips.tar) ***。*** 可通过以下链接获得视频的文本标题: [https://github.com/jazzsaxmafia/video_to_sequence/files/387979/video_corpus.csv.zip](https://github.com/jazzsaxmafia/video_to_sequence/files/387979/video_corpus.csv.zip) 我们通过在`MSVD dataset`上训练模型来构建视频字幕系统,该模型是 Microsoft 的带预字幕的 YouTube 视频存储库。 [可以从以下链接下载所需的数据](http://www.cs.utexas.edu/users/ml/clamp/videoDescription/YouTubeClips.tar)[可通过以下链接获得视频的文本标题](https://github.com/jazzsaxmafia/video_to_sequence/files/387979/video_corpus.csv.zip)
`MSVD dataset`中大约有`1,938`个视频。 我们将使用它们来训练*逐序列视频字幕系统*。 还要注意,我们将在*图 5.3* 中所示的序列到序列模型上构建模型。 但是,建议读者尝试在*图 5.4* 中介绍的体系结构上训练模型,并了解其表现。 `MSVD dataset`中大约有`1,938`个视频。 我们将使用它们来训练*逐序列视频字幕系统*。 还要注意,我们将在*图 5.3* 中所示的序列到序列模型上构建模型。 但是,建议读者尝试在*图 5.4* 中介绍的体系结构上训练模型,并了解其表现。
...@@ -116,7 +114,7 @@ ...@@ -116,7 +114,7 @@
``` ```
从前面的代码中,我们可以看到在`video_to_frames`功能中,`ffmpeg`工具用于将 JPEG 格式的视频图像帧转换。 为图像帧指定为`ffmpeg`的尺寸为`300 x 400`。 有关`ffmpeg`工具的更多信息,请参考以下链接: [https://www.ffmpeg.org/](https://www.ffmpeg.org/) 从前面的代码中,我们可以看到在`video_to_frames`功能中,`ffmpeg`工具用于将 JPEG 格式的视频图像帧转换。 为图像帧指定为`ffmpeg`的尺寸为`300 x 400`。 有关`ffmpeg`工具的更多信息,[请参考以下链接](https://www.ffmpeg.org/)
`extract_feats_pretrained_cnnfunction`中已建立了从最后一个完全连接的层中提取特征的预训练 CNN 模型。 该函数的代码如下: `extract_feats_pretrained_cnnfunction`中已建立了从最后一个完全连接的层中提取特征的预训练 CNN 模型。 该函数的代码如下:
...@@ -852,7 +850,7 @@ python Video_seq2seq.py process_main --path_prj '/media/santanu/9eb9b6dc-b380-48 ...@@ -852,7 +850,7 @@ python Video_seq2seq.py process_main --path_prj '/media/santanu/9eb9b6dc-b380-48
从前面的屏幕截图*和*中,我们可以看到训练后的模型为提供的测试视频提供了很好的字幕,表现出色。 从前面的屏幕截图*和*中,我们可以看到训练后的模型为提供的测试视频提供了很好的字幕,表现出色。
该项目的代码可以在 GitHub 位置 [https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter05](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter05) ***中找到。*** `VideoCaptioningPreProcessing.py`模块可用于预处理视频并创建卷积神经网络功能,而`Video_seq2seq.py`模块可用于训练端到端视频字幕系统和 运行推断。 该项目的代码可以在 [GitHub](https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter05) 中找到。 `VideoCaptioningPreProcessing.py`模块可用于预处理视频并创建卷积神经网络功能,而`Video_seq2seq.py`模块可用于训练端到端视频字幕系统和 运行推断。
# 概要 # 概要
......
...@@ -16,11 +16,9 @@ ...@@ -16,11 +16,9 @@
读者应具有 Python 3 和人工智能的基础知识,才能完成本章中的项目。 读者应具有 Python 3 和人工智能的基础知识,才能完成本章中的项目。
可以在 GitHub 上找到本章的代码文件: [可以在 GitHub 上找到本章的代码文件](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2Sgc0R3)
[http://bit.ly/2Sgc0R3](http://bit.ly/2Sgc0R3)
# 什么是推荐系统? # 什么是推荐系统?
...@@ -212,7 +210,7 @@ test_ratings_df[test_ratings_df['userID'] == 1].sort_values(['rating','predictio ...@@ -212,7 +210,7 @@ test_ratings_df[test_ratings_df['userID'] == 1].sort_values(['rating','predictio
图 6.5:用户 ID 1 的评估结果 图 6.5:用户 ID 1 的评估结果
可以在 [https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06) 上找到与深度学习方法潜在因子方法相关的代码。 可以在[这个页面](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter06)上找到与深度学习方法潜在因子方法相关的代码。
# SVD ++ # SVD ++
...@@ -405,7 +403,7 @@ RBM 的参数是可见层单位 *i* 与隐藏层单位之间的广义权重连 ...@@ -405,7 +403,7 @@ RBM 的参数是可见层单位 *i* 与隐藏层单位之间的广义权重连
# 使用 RBM 的协作过滤实现 # 使用 RBM 的协作过滤实现
在接下来的几节中,我们将使用前一部分介绍的技术原理,使用受限的 Boltzmann 机器实施协作过滤系统。 我们将使用的数据集是 MovieLens 100K 数据集,其中包含用户对不同电影提供的评分(从 1 到 5)。 可以从 [https://grouplens.org/datasets/movielens/100k/](https://grouplens.org/datasets/movielens/100k/) 下载数据集。 在接下来的几节中,我们将使用前一部分介绍的技术原理,使用受限的 Boltzmann 机器实施协作过滤系统。 我们将使用的数据集是 MovieLens 100K 数据集,其中包含用户对不同电影提供的评分(从 1 到 5)。 可以从[这里](https://grouplens.org/datasets/movielens/100k/)下载数据集。
此协作过滤系统的 TensorFlow 实现在接下来的几节中介绍。 此协作过滤系统的 TensorFlow 实现在接下来的几节中介绍。
...@@ -711,10 +709,10 @@ test RMSE : 1.1999306704742303 ...@@ -711,10 +709,10 @@ test RMSE : 1.1999306704742303
从前面的屏幕快照(*图 6.9* )中的预测可以看出,RBM 在预测`userid` `1`的电影的保留集方面做得很好。 从前面的屏幕快照(*图 6.9* )中的预测可以看出,RBM 在预测`userid` `1`的电影的保留集方面做得很好。
建议您将最终收视率预测作为对每个电影收视率预测的多项式概率分布的收视率的期望值,并与采用最高收视率的方法进行比较,了解其效果如何 多项式分布的概率。 可以在 [https://www.cs.toronto.edu/~rsalakhu/papers/rbmcf.pd](https://www.cs.toronto.edu/~rsalakhu/papers/rbmcf.pd) [上找到用于协作过滤的 RBM 论文。](https://www.cs.toronto.edu/~rsalakhu/papers/rbmcf.pdf) 与受限 Boltzmann 机器有关的代码可以位于 [https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06/rbm.py](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06/rbm.py) 建议您将最终收视率预测作为对每个电影收视率预测的多项式概率分布的收视率的期望值,并与采用最高收视率的方法进行比较,了解其效果如何 多项式分布的概率。 可以在[这个页面](https://www.cs.toronto.edu/~rsalakhu/papers/rbmcf.pdf)上找到用于协作过滤的 RBM 论文。受限 Boltzmann 机器有关的代码位于[这里](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06/rbm.py)
# 概要 # 概要
阅读完本章后,您现在应该能够使用受限的 Boltzmann 机器构建智能推荐系统,并根据您的领域和要求以有趣的方式对其进行扩展。 有关本章中说明的项目的详细实现,请参考[上此项目的 GiHub 链接,网址为:https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06) 阅读完本章后,您现在应该能够使用受限的 Boltzmann 机器构建智能推荐系统,并根据您的领域和要求以有趣的方式对其进行扩展。 有关本章中说明的项目的详细实现,请参考[此项目的 GiHub 链接](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/blob/master/Chapter06)
在下一章中,我们将处理移动应用程序的创建,以执行电影评论的情感分析。 我期待您的参与。 在下一章中,我们将处理移动应用程序的创建,以执行电影评论的情感分析。 我期待您的参与。
\ No newline at end of file
...@@ -36,11 +36,9 @@ ...@@ -36,11 +36,9 @@
您需要具备 Python 3,TensorFlow 和 Java 您需要具备 Python 3,TensorFlow 和 Java
的基本知识。 的基本知识。
可以在 GitHub 上找到本章的代码文件: [可以在 GitHub 上找到本章的代码文件](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter07)
[https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter07](https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter07)
观看以下视频,查看运行中的代码: [观看以下视频,查看运行中的代码](http://bit.ly/2S1sddw)
[http://bit.ly/2S1sddw](http://bit.ly/2S1sddw)
# 使用 TensorFlow Mobile 构建 Android 移动应用 # 使用 TensorFlow Mobile 构建 Android 移动应用
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册