21个项目玩转深度学习高清pdf

zhaoyaokdy 71 0 ZIP 2018-12-07 22:12:02

21个项目玩转深度学习:基于Tensorflow的实践详解 《21 个项目玩转深度学习——基于TensorFlow 的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow 框架编程内容。 通过本书,读者可以训练自己的图像识别模型、进行目标检测和人脸识别、完成一个风格迁移应用,还可以使用神经网络生成图像和文本,进行时间序列预测、搭建机器翻译引擎,训练机器玩游戏。全书共包含21 个项目,分为深度卷积网络、RNN网络、深度强化学习三部分。读者可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和TensorFlow 的过程变得轻松和高效。本书代码基于TensorFlow 1.4 及以上版本,并介绍了TensorFlow 中的一些新特性。 前言 1章 MNIST机器学习入门 1 1.1 MNIST数据集 2 1.1.1 简介 2 1.1.2 实验:将MNIST数据集保存为图片 5 1.1.3 图像标签的独热(one-hot)表示 6 1.2 利用TensorFlow识别MNIST 8 1.2.1 Softmax回归 8 1.2.2 两层卷积网络分类 14 1.3 总结 18 2章 CIFAR-10与ImageNet图像识别 19 2.1 CIFAR-10数据集 20 2.1.1 CIFAR-10简介 20 2.1.2 下载CIFAR-10数据 21 2.1.3 TensorFlow的数据读取机制 23 2.1.4 实验:将CIFAR-10数据集保存为图片形式 30 2.2 利用TensorFlow训练CIFAR-10识别模型 34 2.2.1 数据增强(Data Augmentation) 34 2.2.2 CIFAR-10识别模型 36 2.2.3 训练模型 39 2.2.4 在TensorFlow中查看训练进度 39 2.2.5 测试模型效果 42 2.3 ImageNet图像识别模型 44 2.3.1 ImageNet数据集简介 44 2.3.2 历代ImageNet图像识别模型 45 2.4 总结 49 3章 打造自己的图像识别模型 50 3.1 微调(Fine-tune)的原理 51 3.2 数据准备 52 3.3 使用TensorFlow Slim微调模型 56 3.3.1 下载TensorFlow Slim的源代码 56 3.3.2 定义新的datasets文件 57 3.3.3 准备训练文件夹 59 3.3.4 开始训练 60 3.3.5 训练程序行为 62 3.3.6 验证模型正确率 63 3.3.7 TensorBoard可视化与参数选择 64 3.3.8 导出模型并对单张图片进行识别 65 3.4 总结 69 4章 Deep Dream模型 70 4.1 Deep Dream的技术原理 71 4.2 TensorFlow中的Deep Dream模型实践 73 4.2.1 导入Inception模型 73 4.2.2 生成原始的Deep Dream图像 76 4.2.3 生成更大尺寸的Deep Dream图像 78 4.2.4 生成更高质量的Deep Dream图像 82 4.2.5 终的Deep Dream模型 87 4.3 总结 90 5章 深度学习中的目标检测 91 5.1 深度学习中目标检测的原理 92 5.1.1 R-CNN的原理 92 5.1.2 SPPNet的原理 94 5.1.3 Fast R-CNN的原理 97 5.1.4 Faster R-CNN的原理 98 5.2 TensorFlow Object Detection API 101 5.2.1 安装TensorFlow Object Detection API 101 5.2.2 执行已经训练好的模型 103 5.2.3 训练新的模型 109 5.2.4 导出模型并预测单张图片 113 5.3 总结 114 6章 人脸检测和人脸识别 115 6.1 MTCNN的原理 116 6.2 使用深度卷积网络提取特征 121 6.2.1 三元组损失(Triplet Loss)的定义 123 6.2.2 中心损失(Center Loss)的定义 123 6.3 使用特征设计应用 125 6.4 在TensorFlow中实现人脸识别 126 6.4.1 项目环境设置 126 6.4.2 LFW人脸数据库 127 6.4.3 LFW数据库上的人脸检测和对齐 128 6.4.4 使用已有模型验证LFW数据库准确率 129 6.4.5 在自己的数据上使用已有模型 130 6.4.6 重新训练新模型 133 6.4.7 三元组损失和中心损失的定义 138 6.5 总结 140 7章 图像风格迁移 141 7.1 图像风格迁移的原理 142 7.1.1 原始图像风格迁移的原理 142 7.1.2 快速图像风格迁移的原理 148 7.2 在TensorFlow中实现快速风格迁移 149 7.2.1 使用预训练模型 150 7.2.2 训练自己的模型 153 7.2.3 在TensorBoard中监控训练情况 154 7.2.4 项目实现细节 157 7.3 总结 162 8章 GAN和DCGAN入门 163 8.1 GAN的原理 164 8.2 DCGAN的原理 166 8.3 在TensorFlow中用DCGAN生成图像 169 8.3.1 生成MNIST图像 170 8.3.2 使用自己的数据集训练 171 8.3.3 程序结构分析:如何将图像读入模型 173 8.3.4 程序结构分析:可视化方法 177 8.4 总结 180 9章 pix2pix模型与自动上色技术 181 9.1 cGAN的原理 182 9.2 pix2pix模型的原理 184 9.3 TensorFlow中的pix2pix模型 187 9.3.1 执行已有的数据集 187 9.3.2 创建自己的数据集 191 9.4 使用TensorFlow为灰度图像自动上色 194 9.4.1 为食物图片上色 194 9.4.2 为动漫图片进行上色 196 9.5 总结 198 10章 分辨率:如何让图像变得更清晰 199 10.1 数据预处理与训练 200 10.1.1 去除错误图片 200 10.1.2 将图像裁剪到统一大小 202 10.1.3 为代码添加新的操作 202 10.2 总结 209 11章 CycleGAN与非配对图像转换 210 11.1 CycleGAN的原理 211 11.2 在TensorFlow中用训练CycleGAN模型 213 11.2.1 下载数据集并训练 213 11.2.2 使用自己的数据进行训练 217 11.3 程序结构分析 220 11.4 总结 224 12章 RNN基本结构与Char RNN文本生成 225 12.1 RNN的原理 226 12.1.1 经典RNN的结构 226 12.1.2 N VS 1 RNN的结构 229 12.1.3 1 VS N RNN的结构 230 12.2 LSTM的原理 231 12.3 Char RNN的原理 235 12.4 TensorFlow中的RNN实现方式 237 12.4.1 实现RNN的基本单元:RNNCell 238 12.4.2 对RNN进行堆叠:MultiRNNCell 239 12.4.3 注意点:BasicRNNCell和BasicLSTMCell的output 240 12.4.4 使用tf.nn.dynamic_rnn展开时间维度 241 12.5 使用TensorFlow实现Char RNN 242 12.5.1 定义输入数据 243 12.5.2 定义多层LSTM模型 244 12.5.3 定义损失 245 12.5.4 训练模型与生成文字 246 12.5.5 更多参数说明 250 12.5.6 运行自己的数据 250 12.6 总结 251 13章 序列分类问题详解 252 13.1 N VS 1的RNN结构 253 13.2 数列分类问题与数据生成 254 13.3 在TensorFlow中定义RNN分类模型 258 13.3.1 定义模型前的准备工作 258 13.3.2 定义RNN分类模型 259 13.3.3 定义损失并进行训练 261 13.4 模型的推广 262 13.5 总结 263 14章 词的向量表示:word2vec与词嵌入 264 14.1 为什么需要做词嵌入 265 14.2 词嵌入的原理 266 14.2.1 CBOW实现词嵌入的原理 266 14.2.2 Skip-Gram实现词嵌入的原理 269 14.3 在TensorFlow中实现词嵌入 270 14.3.1 下载数据集 270 14.3.2 制作词表 272 14.3.3 生成每步的训练样本 274 14.3.4 定义模型 276 14.3.5 执行训练 279 14.3.6 可视化 281 14.4 与12章的对比 284 14.5 总结 285 15章 在TensorFlow中进行时间序列预测 286 15.1 时间序列问题的一般形式 287 15.2 用TFTS读入时间序列数据 287 15.2.1 从Numpy数组中读入时间序列数据 288 15.2.2 从CSV文件中读入时间序列数据 291 15.3 使用AR模型预测时间序列 293 15.3.1 AR模型的训练 293 15.3.2 AR模型的验证和预测 295 15.4 使用LSTM模型预测时间序列 297 15.4.1 LSTM模型中的单变量时间序列预测 297 15.4.2 LSTM模型中的多变量时间序列预测 299 15.5 总结 301 16章 神经网络机器翻译技术 302 16.1 Encoder-Decoder模型的原理 303 16.2 注意力机制(Attention) 305 16.3 使用TensorFlow NMT搭建神经网络翻译引擎 309 16.3.1 示例:将越南语翻译为英语 309 16.3.2 构建中英翻译引擎 313 16.4 TensorFlow NMT源码简介 317 16.5 总结 319 17章 看图说话:将图像转换为文字 320 17.1 Image Caption技术综述 321 17.1.1 从Encoder-Decoder结构谈起 321 17.1.2 将Encoder-Decoder应用到Image Caption任务上 322 17.1.3 对Encoder-Decoder的改进1:加入Attention机制 323 17.1.4 对Encoder-Decoder的改进2:加入高层语义 325 17.2 在TensorFlow中实现Image Caption 327 17.2.1 下载代码 327 17.2.2 环境准备 328 17.2.2 编译和数据准备 328 17.2.3 训练和验证 330 17.2.4 测试单张图片 331 17.3 总结 332 18章 强化学习入门之Q 333 18.1 强化学习中的几个重要概念 334 18.2 Q Learning的原理与实验 336 18.2.1 环境定义 336 18.2.2 Q函数 338 18.2.3 Q函数的学习策略 339 18.2.4 ?-greedy策略 341 18.2.5 简单的Q Learning示例 341 18.2.6 更复杂的情况 342 18.3 总结 343 19章 强化学习入门之SARSA算法 344 19.1 SARSA 算法的原理 345 19.1.1 通过与Q Learning对比学习SARSA算法 345 19.1.2 off-policy与on-policy 346 19.2 SARSA 算法的实现 347 19.3 总结 348 20章 深度强化学习:Deep Q Learning 349 20.1 DQN算法的原理 350 20.1.1 问题简介 350 20.1.2 Deep Q Network 351 20.1.3 训练方法 352 20.2 在TensorFlow中运行DQN算法 353 20.2.1 安装依赖库 353 20.2.2 训练 355 20.2.3 测试 356 20.3 在TensorFlow中DQN算法的实现分析 357 20.4 总结 360 21章 策略梯度(Policy Gradient)算法 361 21.1 策略梯度(Policy Gradient)算法的原理 362 21.1.1 Cartpole游戏 362 21.1.2 策略网络(Policy Network) 363 21.1.3 训练策略网络 364 21.2 在TensorFlow中实现策略梯度 算法 365 21.2.1 初始化 365 21.2.2 定义策略网络 366 21.2.3 训练 367

用户评论
请输入评论内容
评分:
Generic placeholder image 卡了网匿名网友 2018-12-07 22:12:02

不错啊

Generic placeholder image 卡了网匿名网友 2018-12-07 22:12:02

可以 我觉得还算不错

Generic placeholder image 卡了网匿名网友 2018-12-07 22:12:02

不错不错~~~