目录
第1章 深度学习开发环境搭建
1.1 深度学习与PyTorch
1.1.1 机器学习
1.1.2 深度学习
1.1.3 深度学习框架PyTorch
1.2 环境搭建
1.2.1 安装环境管理工具(Conda)
1.2.2 安装GPU加速包
1.2.3 配置虚拟环境
1.3 深度学习框架安装配置(PyTorch)
1.4 常用工具及包介绍(Python)
1.4.1 源码集成开发环境(Visual Studio Code/PyCharm)
1.4.2 网页交互式运行环境(Jupyter)
1.4.3 云端运行环境(Google Colaboratory)
1.4.4 部分常用Python包
1.5 基础知识(Python/NumPy/Matplotlib/PyTorch)
1.5.1 Python编程基础
1.5.2 NumPy数组及运算
1.5.3 图形绘制基础(Matplotlib)
1.5.4 框架基础(PyForch)
参考文献
第2章 深度学习基础
2.1 神经网络
2.1.1 神经网络的初步认识
2.1.2 前馈神经网络的工作机制
2.1.3 采用神经网络对手写数字进行分类
2.2 卷积神经网络(CNN)
2.2.1 CNN的初步认识
2.2.2 CNN网络的架构
2.2.3 经典CNN网络
2.2.4 采用CNN对手写数字进行分类
2.3 生成对抗网络(GAN)
2.3.1 GAN的初步认识
2.3.2 采用GAN生成手写数字
2.3.3 采用卷积GAN生成手写数字(MNSIT-CNN-GAN)
2.3.4 采用条件式GAN生成手写数字
2.4 强化学习
2.4.1 强化学习的初步认识
2.4.2 强化学习理论基础
2.4.3 时序差分学习方法
2.4.4 采用Q-learning算法进行智能体路径规划
参考文献
第3章 采用深层卷积网络实现裂缝分类
3.1 残差网络的架构
3.2 残差网络(ResNet18)的工作机制
3.3 采用ResNet18实现裂缝分类
3.3.1 数据集制作
3.3.2 模型训练
3.3.3 模型优化与验证
参考文献
第4章 采用深度卷积生成对抗网络实现建筑立面生成
4.1 深度卷积生成对抗网络概述
4.2 基于DCGAN的建筑立面生成
4.2.1 导入所需的库
4.2.2 设置随机种子
4.2.3 模型参数设置
4.2.4 数据集加载与可视化
4.2.5 DCGAN生成器的构建
4.2.6 DCGAN判别器的构建
4.2.7 模型权重初始化
4.2.8 损失函数与优化器
4.2.9 模型训练与可视化
4.3 GAN训练的改进方法
4.3.1 判别器标签平滑
4.3.2 使用不同学习率
4.3.3 特征匹配损失
4.3.4 最小二乘损失
参考文献
第5章 基于强化学习的钢筋排布避障设计
5.1 梁柱节点钢筋避障排布问题描述——多智能体路径规划
5.2 钢筋排布路径规划的多智能体强化学习
5.2.1 强化学习智能体设计
5.2.2 Q-learning算法
5.3 采用强化学习实现二维钢筋自动排布
5.3.1 强化学习算法参数设定
5.3.2 创建强化学习环境
5.3.3 Q-learning算法
5.3.4 创建训练函数
5.4 采用强化学习实现三维钢筋自动排布
5.4.1 钢筋混凝土梁柱节点三维钢筋排布实例
5.4.2 三维钢筋排布多智能体强化学习训练过程
5.4.3 案例结果分析与讨论
参考文献
附录 第2章代码
附录1 2.1.3节代码——采用前馈神经网络对手写数字进行分类
附录2 2.2.4节代码——采用CNN对手写数字进行分类
附录3 2.3.2节代码——采用GAN生成手写数字
附录4 2.3.2节代码——采用改良GAN生成手写数字
附录5 2.3.3节代码——采用卷积GAN生成手写数字
附录6 2.3.4节代码——采用条件GAN生成手写数字
附录7 2.4节代码——强化学习Q-learning