TensorFlow+Keras深度学习人工智能实践应用.林大贵(带详细书签).pdf
本书提供安装、上机操作指南,同时辅以大量范例程序介绍TensorFlow + Keras深度学习方面的知识。本书分9部分,共21章,内容主要包括基本概念介绍、TensorFlow 与 Keras 的安装、Keras MNIST手写数字识别、Keras CIFAR-10照片图像物体识别、Keras多层感知器预测泰坦尼克号上旅客的生存概率、使用Keras MLP、RNN、LSTM进行IMDb自然语言处理与情感分析、以TensorFlow张量运算仿真神经网络的运行、TensorFlow MNIST手写数字识别、使用GPU大幅加快深度学习训练。 TensorFlow + Keras深度学习方面的知识不需要具备高等数学模型、算法等专业知识,读者只需要具备基本的Pytho n程序设计能力,按照本书的步骤循序渐进地学习,就可以了解深度学习的基本概念,进而实际运用深度学习的技术。 第1章 人工智能、机器学习与深度学习简介 1 1.1 人工智能、机器学习、深度学习的关系 2 1.2 机器学习介绍 4 1.3 机器学习分类 4 1.4 深度学习简介 7 1.5 结论 8 第2章 深度学习的原理 9 2.1 神经传导的原理 10 2.2 以矩阵运算仿真神经网络 13 2.3 多层感知器模型 14 2.4 使用反向传播算法进行训练 16 2.5 结论 21 第3章 TensorFlow与Keras介绍 22 3.1 TensorFlow架构图 23 3.2 TensorFlow简介 24 3.3 TensorFlow程序设计模式 26 3.4 Keras介绍 27 3.5 Keras程序设计模式 28 3.6 Keras与TensorFlow比较 29 3.7 结论 30 第4章 在Windows中安装TensorFlow与Keras 31 4.1 安装Anaconda 32 4.2 启动命令提示符 35 4.3 建立TensorFlow的Anaconda虚拟环境 37 4.4 在Anaconda虚拟环境安装TensorFlow与Keras 40 4.5 启动Jupyter Notebook 42 4.6 结论 48 第5章 在Linux Ubuntu中安装TensorFlow与Keras 49 5.1 安装Anaconda 50 5.2 安装TensorFlow与Keras 52 5.3 启动Jupyter Notebook 53 5.4 结论 54 第6章 Keras MNIST手写数字识别数据集 55 6.1 下载MNIST数据 56 6.2 查看训练数据 58 6.3 查看多项训练数据images与label 60 6.4 多层感知器模型数据预处理 62 6.5 features数据预处理 62 6.6 label数据预处理 64 6.7 结论 65 第7章 Keras多层感知器识别手写数字 66 7.1 Keras多元感知器识别MNIST手写数字图像的介绍 67 7.2 进行数据预处理 69 7.3 建立模型 69 7.4 进行训练 73 7.5 以测试数据评估模型准确率 77 7.6 进行预测 78 7.7 显示混淆矩阵 79 7.8 隐藏层增加为1000个神经元 81 7.9 多层感知器加入DropOut功能以避免过度拟合 84 7.10 建立多层感知器模型包含两个隐藏层 86 7.11 结论 89 第8章 Keras卷积神经网络识别手写数字 90 8.1 卷积神经网络简介 91 8.2 进行数据预处理 97 8.3 建立模型 98 8.4 进行训练 101 8.5 评估模型准确率 104 8.6 进行预测 104 8.7 显示混淆矩阵 105 8.8 结论 107 第9章 Keras CIFAR-10图像识别数据集 108 9.1 下载CIFAR-10数据 109 9.2 查看训练数据 111 9.3 查看多项images与label 112 9.4 将images进行预处理 113 9.5 对label进行数据预处理 114 9.6 结论 115 第10章 Keras卷积神经网络识别CIFAR-10图像 116 10.1 卷积神经网络简介 117 10.2 数据预处理 118 10.3 建立模型 119 10.4 进行训练 123 10.5 评估模型准确率 126 10.6 进行预测 126 10.7 查看预测概率 127 10.8 显示混淆矩阵 129 10.9 建立3次的卷积运算神经网络 132 10.10 模型的保存与加载 135 10.11 结论 136 第11章 Keras泰坦尼克号上的旅客数据集 137 11.1 下载泰坦尼克号旅客数据集 138 11.2 使用Pandas DataFrame读取数据并进行预处理 140 11.3 使用Pandas DataFrame进行数据预处理 142 11.4 将DataFrame转换为Array 143 11.5 将ndarray特征字段进行标准化 145 11.6 将数据分为训练数据与测试数据 145 11.7 结论 147 第12章 Keras多层感知器预测泰坦尼克号上旅客的生存概率 148 12.1 数据预处理 149 12.2 建立模型 150 12.3 开始训练 152 12.4 评估模型准确率 155 12.5 加入《泰坦尼克号》电影中Jack与Rose的数据 156 12.6 进行预测 157 12.7 找出泰坦尼克号背后的感人故事 158 12.8 结论 160 第13章 IMDb网络电影数据集与自然语言处理 161 13.1 Keras自然语言处理介绍 163 13.2 下载IMDb数据集 167 13.3 读取IMDb数据 169 13.4 查看IMDb数据 172 13.5 建立token 173 13.6 使用token将“影评文字”转换成“数字列表” 174 13.7 让转换后的数字长度相同 174 13.8 结论 176 第14章 Keras建立MLP、RNN、LSTM模型进行IMDb情感分析 177 14.1 建立多层感知器模型进行IMDb情感分析 178 14.2 数据预处理 179 14.3 加入嵌入层 180 14.4 建立多层感知器模型 181 14.5 训练模型 182 14.6 评估模型准确率 184 14.7 进行预测 185 14.8 查看测试数据预测结果 185 14.9 查看《美女与野兽》的影评 187 14.10 预测《美女与野兽》的影评是正面或负面的 190 14.11 文字处理时使用较大的字典提取更多文字 192 14.12 RNN模型介绍 193 14.13 使用Keras RNN模型进行IMDb情感分析 195 14.14 LSTM模型介绍 197 14.15 使用Keras LSTM模型进行IMDb情感分析 199 14.16 结论 200 第15章 TensorFlow程序设计模式 201 15.1 建立“计算图” 202 15.2 执行“计算图” 204 15.3 TensorFlow placeholder 206 15.4 TensorFlow数值运算方法介绍 207 15.5 TensorBoard 208 15.6 建立一维与二维张量 211 15.7 矩阵基本运算 212 15.8 结论 214 第16章 以TensorFlow张量运算仿真神经网络的运行 215 16.1 以矩阵运算仿真神经网络 216 16.2 以placeholder传入X值 220 16.3 创建layer函数以矩阵运算仿真神经网络 222 16.4 建立layer_debug函数显示权重与偏差 225 16.5 结论 226 第17章 TensorFlow MNIST手写数字识别数据集 227 17.1 下载MNIST数据 228 17.2 查看训练数据 229 17.3 查看多项训练数据images与labels 232 17.4 批次读取MNIST数据 234 17.5 结论 235 第18章 TensorFlow多层感知器识别手写数字 236 18.1 TensorFlow建立多层感知器辨识手写数字的介绍 237 18.2 数据准备 239 18.3 建立模型 239 18.4 定义训练方式 242 18.5 定义评估模型准确率的方式 243 18.6 进行训练 244 18.7 评估模型准确率 249 18.8 进行预测 249 18.9 隐藏层加入更多神经元 250 18.10 建立包含两个隐藏层的多层感知器模型 251 18.11 结论 252 第19章 TensorFlow卷积神经网络识别手写数字 253 19.1 卷积神经网络简介 254 19.2 进行数据预处理 255 19.3 建立共享函数 256 19.4 建立模型 258 19.5 定义训练方式 264 19.6 定义评估模型准确率的方式 264 19.7 进行训练 265 19.8 评估模型准确率 266 19.9 进行预测 267 19.10 TensorBoard 268 19.11 结论 270 第20章 TensorFlow GPU版本的安装 271 20.1 确认显卡是否支持CUDA 273 20.2 安装CUDA 274 20.3 安装cuDNN 278 20.4 将cudnn64_5.dll存放的位置加入Path环境变量 281 20.5 在Anaconda建立TensorFlow GPU虚拟环境 283 20.6 安装TensorFlow GPU版本 285 20.7 安装Keras 286 20.8 结论 286 第21章 使用GPU加快TensorFlow与Keras训练 287 21.1 启动TensorFlow GPU环境 288 21.2 测试GPU与CPU执行性能 293 21.3 超出显卡内存的限制 296 21.4 以多层感知器的实际范例比较CPU与GPU的执行速度 297 21.5 以CNN的实际范例比较CPU与GPU的执行速度 299 21.6 以Keras Cifar CNN的实际范例比较CPU与GPU的执行速度 302 21.7 结论 304 附录A 本书范例程序的下载与安装说明 305 A.1 在Windows系统中下载与安装范例程序 306 A.2 在Ubuntu Linux系统中下载与安装范例程序 310 n程序设计能力,按照本书的步骤循序渐进地学习,就可以了解深度学习的基本概念,进而实际运用深度学习的技术。 第1章 人工智能、机器学习与深度学习简介 1 1.1 人工智能、机器学习、深度学习的关系 2 1.2 机器学习介绍 4 1.3 机器学习分类 4 1.4 深度学习简介 7 1.5 结论 8 第2章 深度学习的原理 9 2.1 神经传导的原理 10 2.2 以矩阵运算仿真神经网络 13 2.3 多层感知器模型 14 2.4 使用反向传播算法进行训练 16 2.5 结论 21 第3章 TensorFlow与Keras介绍 22 3.1 TensorFlow架构图 23 3.2 TensorFlow简介 24 3.3 TensorFlow程序设计模式 26 3.4 Keras介绍 27 3.5 Keras程序设计模式 28 3.6 Keras与TensorFlow比较 29 3.7 结论 30 第4章 在Windows中安装TensorFlow与Keras 31 4.1 安装Anaconda 32 4.2 启动命令提示符 35 4.3 建立TensorFlow的Anaconda虚拟环境 37 4.4 在Anaconda虚拟环境安装TensorFlow与Keras 40 4.5 启动Jupyter Notebook 42 4.6 结论 48 第5章 在Linux Ubuntu中安装TensorFlow与Keras 49 5.1 安装Anaconda 50 5.2 安装TensorFlow与Keras 52 5.3 启动Jupyter Notebook 53 5.4 结论 54 第6章 Keras MNIST手写数字识别数据集 55 6.1 下载MNIST数据 56 6.2 查看训练数据 58 6.3 查看多项训练数据images与label 60 6.4 多层感知器模型数据预处理 62 6.5 features数据预处理 62 6.6 label数据预处理 64 6.7 结论 65 第7章 Keras多层感知器识别手写数字 66 7.1 Keras多元感知器识别MNIST手写数字图像的介绍 67 7.2 进行数据预处理 69 7.3 建立模型 69 7.4 进行训练 73 7.5 以测试数据评估模型准确率 77 7.6 进行预测 78 7.7 显示混淆矩阵 79 7.8 隐藏层增加为1000个神经元 81 7.9 多层感知器加入DropOut功能以避免过度拟合 84 7.10 建立多层感知器模型包含两个隐藏层 86 7.11 结论 89 第8章 Keras卷积神经网络识别手写数字 90 8.1 卷积神经网络简介 91 8.2 进行数据预处理 97 8.3 建立模型 98 8.4 进行训练 101 8.5 评估模型准确率 104 8.6 进行预测 104 8.7 显示混淆矩阵 105 8.8 结论 107 第9章 Keras CIFAR-10图像识别数据集 108 9.1 下载CIFAR-10数据 109 9.2 查看训练数据 111 9.3 查看多项images与label 112 9.4 将images进行预处理 113 9.5 对label进行数据预处理 114 9.6 结论 115 第10章 Keras卷积神经网络识别CIFAR-10图像 116 10.1 卷积神经网络简介 117 10.2 数据预处理 118 10.3 建立模型 119 10.4 进行训练 123 10.5 评估模型准确率 126 10.6 进行预测 126 10.7 查看预测概率 127 10.8 显示混淆矩阵 129 10.9 建立3次的卷积运算神经网络 132 10.10 模型的保存与加载 135 10.11 结论 136 第11章 Keras泰坦尼克号上的旅客数据集 137 11.1 下载泰坦尼克号旅客数据集 138 11.2 使用Pandas DataFrame读取数据并进行预处理 140 11.3 使用Pandas DataFrame进行数据预处理 142 11.4 将DataFrame转换为Array 143 11.5 将ndarray特征字段进行标准化 145 11.6 将数据分为训练数据与测试数据 145 11.7 结论 147 第12章 Keras多层感知器预测泰坦尼克号上旅客的生存概率 148 12.1 数据预处理 149 12.2 建立模型 150 12.3 开始训练 152 12.4 评估模型准确率 155 12.5 加入《泰坦尼克号》电影中Jack与Rose的数据 156 12.6 进行预测 157 12.7 找出泰坦尼克号背后的感人故事 158 12.8 结论 160 第13章 IMDb网络电影数据集与自然语言处理 161 13.1 Keras自然语言处理介绍 163 13.2 下载IMDb数据集 167 13.3 读取IMDb数据 169 13.4 查看IMDb数据 172 13.5 建立token 173 13.6 使用token将“影评文字”转换成“数字列表” 174 13.7 让转换后的数字长度相同 174 13.8 结论 176 第14章 Keras建立MLP、RNN、LSTM模型进行IMDb情感分析 177 14.1 建立多层感知器模型进行IMDb情感分析 178 14.2 数据预处理 179 14.3 加入嵌入层 180 14.4 建立多层感知器模型 181 14.5 训练模型 182 14.6 评估模型准确率 184 14.7 进行预测 185 14.8 查看测试数据预测结果 185 14.9 查看《美女与野兽》的影评 187 14.10 预测《美女与野兽》的影评是正面或负面的 190 14.11 文字处理时使用较大的字典提取更多文字 192 14.12 RNN模型介绍 193 14.13 使用Keras RNN模型进行IMDb情感分析 195 14.14 LSTM模型介绍 197 14.15 使用Keras LSTM模型进行IMDb情感分析 199 14.16 结论 200 第15章 TensorFlow程序设计模式 201 15.1 建立“计算图” 202 15.2 执行“计算图” 204 15.3 TensorFlow placeholder 206 15.4 TensorFlow数值运算方法介绍 207 15.5 TensorBoard 208 15.6 建立一维与二维张量 211 15.7 矩阵基本运算 212 15.8 结论 214 第16章 以TensorFlow张量运算仿真神经网络的运行 215 16.1 以矩阵运算仿真神经网络 216 16.2 以placeholder传入X值 220 16.3 创建layer函数以矩阵运算仿真神经网络 222 16.4 建立layer_debug函数显示权重与偏差 225 16.5 结论 226 第17章 TensorFlow MNIST手写数字识别数据集 227 17.1 下载MNIST数据 228 17.2 查看训练数据 229 17.3 查看多项训练数据images与labels 232 17.4 批次读取MNIST数据 234 17.5 结论 235 第18章 TensorFlow多层感知器识别手写数字 236 18.1 TensorFlow建立多层感知器辨识手写数字的介绍 237 18.2 数据准备 239 18.3 建立模型 239 18.4 定义训练方式 242 18.5 定义评估模型准确率的方式 243 18.6 进行训练 244 18.7 评估模型准确率 249 18.8 进行预测 249 18.9 隐藏层加入更多神经元 250 18.10 建立包含两个隐藏层的多层感知器模型 251 18.11 结论 252 第19章 TensorFlow卷积神经网络识别手写数字 253 19.1 卷积神经网络简介 254 19.2 进行数据预处理 255 19.3 建立共享函数 256 19.4 建立模型 258 19.5 定义训练方式 264 19.6 定义评估模型准确率的方式 264 19.7 进行训练 265 19.8 评估模型准确率 266 19.9 进行预测 267 19.10 TensorBoard 268 19.11 结论 270 第20章 TensorFlow GPU版本的安装 271 20.1 确认显卡是否支持CUDA 273 20.2 安装CUDA 274 20.3 安装cuDNN 278 20.4 将cudnn64_5.dll存放的位置加入Path环境变量 281 20.5 在Anaconda建立TensorFlow GPU虚拟环境 283 20.6 安装TensorFlow GPU版本 285 20.7 安装Keras 286 20.8 结论 286 第21章 使用GPU加快TensorFlow与Keras训练 287 21.1 启动TensorFlow GPU环境 288 21.2 测试GPU与CPU执行性能 293 21.3 超出显卡内存的限制 296 21.4 以多层感知器的实际范例比较CPU与GPU的执行速度 297 21.5 以CNN的实际范例比较CPU与GPU的执行速度 299 21.6 以Keras Cifar CNN的实际范例比较CPU与GPU的执行速度 302 21.7 结论 304 附录A 本书范例程序的下载与安装说明 305 A.1 在Windows系统中下载与安装范例程序 306 A.2 在Ubuntu Linux系统中下载与安装范例程序 310
用户评论