目录

第1章深度学习简介及TensorFlow环境搭建 (21min)

1.1什么是深度学习

1.2深度学习语言与工具

1.3TensorFlow的优势

1.4TensorFlow的安装与环境配置

1.4.1Windows下配置GPU版TensorFlow

1.4.2Linux下配置GPU版TensorFlow

1.4.3直接通过Anaconda解决环境依赖

1.4.4安装CPU版本的TensorFlow

1.5小结

第2章常用的Python数据处理工具

2.1NumPy的使用

2.1.1NumPy中的数据类型

2.1.2NumPy中数组的使用

2.2Matplotlib的使用

2.2.1Matplotlib中的相关概念

2.2.2使用Matplotlib绘图

2.3Pandas的使用

2.3.1Pandas中的数据结构

2.3.2使用Pandas读取数据

2.3.3使用Pandas处理数据

2.4SciPy的使用

2.4.1使用SciPy写入mat文件

2.4.2使用SciPy读取mat文件

2.5scikitlearn的使用

2.5.1scikitlearn的使用框架

2.5.2使用scikitlearn进行回归

2.5.3使用scikitlearn进行分类

2.6Pillow的使用

2.6.1使用Pillow读取并显示图像

2.6.2使用Pillow处理图像

2.7OpenCV的使用

2.7.1使用OpenCV读取与显示图像

2.7.2使用OpenCV处理图像

2.8argparse的使用

2.8.1argparse的使用框架

2.8.2使用argparse解析命令行参数

2.9JSON的使用

2.9.1使用JSON写入数据

2.9.2使用JSON读取数据

2.10小结

第3章TensorFlow基础

3.1TensorFlow的基本原理

3.2TensorFlow中的计算图与会话机制

3.2.1计算图

3.2.2会话机制

3.3TensorFlow中的张量表示

3.3.1tf.constant

3.3.2tf.Variable

3.3.3tf.placeholder

3.4TensorFlow中的数据类型

3.5TensorFlow中的命名空间

3.5.1tf.get_variable

3.5.2tf.name_scope

3.5.3tf.variable_scope

3.6TensorFlow中的控制流

3.6.1TensorFlow中的分支结构

3.6.2TensorFlow中的循环结构

3.6.3TensorFlow中指定节点执行顺序

3.7TensorFlow模型的输入与输出

3.8TensorFlow的模型持久化

3.8.1模型的保存

3.8.2模型的读取

3.9使用TensorBoard进行结果可视化

3.9.1计算图的可视化

3.9.2矢量变化的可视化

3.9.3图像的可视化

3.10小结

第4章深度学习的基本概念 (108min)

4.1深度学习相较于传统方法的优势

4.2深度学习中的激活函数

4.2.1Sigmoid

4.2.2Softmax

4.2.3Tanh

4.2.4ReLU

4.2.5Leaky ReLU

4.2.6PReLU

4.2.7RReLU

4.2.8ReLU6

4.2.9ELU

4.2.10Swish

4.2.11Mish

4.3深度学习中的损失函数

4.3.1回归任务

4.3.2分类任务

4.4深度学习中的归一化/标准化方法

4.4.1归一化方法

4.4.2标准化方法

4.5深度学习中的优化器

4.5.1不带动量的优化器

4.5.2带动量的优化器

4.6深度学习中的技巧

4.6.1输入数据的处理

4.6.2激活函数的选择

4.6.3损失函数的选择

4.6.4标准化方法的选择

4.6.5batch_size的选择

4.6.6优化器的选择

4.6.7学习率的选择

4.7小结

第5章常用数据集及其使用方式

5.1IRIS鸢尾花数据集

5.2MNIST手写数字数据集

5.3SVHN数据集

5.4CIFAR10与CIFAR100数据集

5.4.1CIFAR10

5.4.2CIFAR100

5.4.3对图像进行数据增强

5.5Oxford Flower数据集

5.6ImageNet数据集

5.7小结

第6章全连接神经网络

6.1什么是全连接神经网络

6.1.1感知机

6.1.2全连接神经网络

6.2使用全连接神经网络进行回归

6.3使用全连接神经网络进行分类

6.4使用全连接神经网络对数据降维

6.5使用全连接神经网络完成手写数字识别

6.5.1训练模型

6.5.2保存权重

6.5.3交互接收用户输入

6.5.4加载权重并预测

6.6小结

第7章卷积神经网络 (77min)

7.1什么是卷积

7.1.1卷积的概念

7.1.2卷积操作的参数

7.1.3卷积的计算方式

7.2卷积神经网络中常用的层

7.2.1输入层

7.2.2卷积层

7.2.3激活层

7.2.4标准化层

7.2.5池化层

7.2.6全连接层

7.3常用的卷积神经网络结构

7.3.1VGGNet

7.3.2Inception

7.3.3ResNet

7.3.4DenseNet

7.3.5ResNeXt

7.3.6MobileNet

7.3.7Dual Path Network

7.3.8SENet

7.3.9SKNet

7.3.10ResNeSt

7.4使用卷积神经网络完成图像分类

7.4.1定义命令行参数

7.4.2模型训练函数

7.4.3模型测试函数

7.4.4主函数

7.4.5训练模型识别手写数字

7.4.6训练模型识别自然场景图像

7.5卷积神经网络究竟学到了什么

7.5.1卷积核的可视化

7.5.2类激活映射的可视化

7.5.3卷积神经网络输出预测值的可视化

7.6使用卷积神经网络给全连接神经网络传授知识

7.7转置卷积层

7.7.1什么是转置卷积层

7.7.2使用转置卷积层让图像变得清晰

7.7.3使用转置卷积层给图像上色

7.8使用卷积层与反卷积层做自编码器

7.9小结

第8章生成式模型

8.1什么是生成式模型

8.2变分自编码器

8.2.1什么是变分自编码器

8.2.2使用变分自编码器生成手写数字

8.2.3使用变分自编码器生成指定的数字

8.3生成式对抗网络

8.3.1什么是生成式对抗网络

8.3.2使用生成式对抗网络生成手写数字

8.3.3使用生成式对抗网络生成指定的数字

8.3.4使用生成式对抗网络生成自然图像

8.3.5使用生成式对抗网络进行图像域转换

8.4小结