深度学习技术图像处理入门出版时间:2018内容简介本书从机器学习、图像处理的基本概念入手,逐步阐述深度学习图像处理技术的基本原理以及简单的实现。继而以几个实战案例来介绍如何使用深度学习方法,在数据分析竞赛中取得较高的排名。最后,通过一个实战案例,介绍如何将模型放入iOS程序,制作相应的人工智能手机App。本书适用于对深度学习有兴趣、希望入门这一领域的理工科大学生、研究生,以及希望了解该领域基本原理的软件开发人员。此外,本书所有案例均提供了云环境上的代码,便于读者复现结果,并进行深入学习。目录 第1章 搭建指定的开发环境11.1 为什么要使用指定的开发环境11.2 硬件准备21.2.1 在亚马逊租用云GPU服务器21.2.2 在腾讯云租用GPU服务器41.2.3 在云服务器中开启搭载开发环境的Docker服务81.3 软件准备91.3.1 在Ubuntu 16.04下配置环境91.3.2 在CentOS 7下配置环境121.4 参考文献及网页链接12第2章 温故知新——机器学习基础知识132.1 人工智能、机器学习与深度学习132.2 训练一个传统的机器学习模型152.2.1 第一步,观察数据162.2.2 第二步,预览数据172.3 数据挖掘与训练模型292.3.1 第一步,准备数据292.3.2 第二步,挖掘数据特征312.3.3 第三步,使用模型372.3.4 第四步,代码实战442.4 参考文献及网页链接49第3章 数形结合——图像处理基础知识503.1 读取图像文件进行基本操作513.1.1 使用python-opencv读取图片513.1.2 借助python-opencv进行不同编码格式的转换523.1.3 借助python-opencv改变图片尺寸533.2 用简单的矩阵操作处理图像533.2.1 对图像进行复制与粘贴533.2.2 把图像当成矩阵进行处理——二维码转换成矩阵543.3 使用OpenCV“抠图”——基于颜色通道以及形态特征593.4 基于传统特征的传统图像分类方法643.4.1 将图片简化为少数区域并计算每个区域轮廓特征的方向663.4.2 将HOG变换运用在所有正负样本中683.4.3 训练模型703.4.4 将训练好的分类器运用在新的图片中713.5 参考文献及网页链接73第4章 继往开来——使用深度神经网络框架744.1 从逻辑回归说起744.2 深度学习框架764.3 基于反向传播算法的自动求导774.4 简单的深度神经网络框架实现804.4.1 数据结构部分814.4.2 计算图部分834.4.3 使用方法854.4.4 训练模型864.5 参考文献及网页链接89第5章 排列组合——深度神经网络框架的模型元件905.1 常用层925.1.1 Dense925.1.2 Activation925.1.3 Dropout935.1.4 Flatten945.2 卷积层945.2.1 Conv2D945.2.2 Cropping2D1015.2.3 ZeroPadding2D1015.3 池化层1025.3.1 MaxPooling2D1025.3.2 AveragePooling2D1025.3.3 GlobalAveragePooling2D1035.4 正则化层与过拟合1045.5 反卷积层1055.6 循环层1095.6.1 SimpleRNN1095.6.2 LSTM1095.6.3 GRU1105.7 参考文献及网页链接110第6章 少量多次——深度神经网络框架的输入处理1126.1 批量生成训练数据1136.2 数据增强1156.3 参考文献及网页链接117第7章 愚公移山——深度神经网络框架的模型训练1187.1 随机梯度下降1197.2 动量法1207.3 自适应学习率算法1217.4 实验案例1247.5 参考文献及网页链接128第8章 小试牛刀——使用深度神经网络进行CIFAR-10数据分类1298.1 上游部分——基于生成器的批量生成输入模块1318.2 核心部分——用各种零件搭建深度神经网络1318.3 下游部分——使用凸优化模块训练模型1328.4 参考文献及网页链接133第9章 见多识广——使用迁移学习提升准确率1349.1 猫狗大战1.0——使用卷积神经网络直接进行训练1359.1.1 导入数据1359.1.2 可视化1379.1.3 分割训练集和验证集1389.1.4 搭建模型1409.1.5 模型训练1419.1.6 总结1429.2 猫狗大战2.0——使用ImageNet数据集预训练模型1429.2.1 迁移学习1429.2.2 数据预处理1439.2.3 搭建模型1439.2.4 模型可视化1449.2.5 训练模型1459.2.6 提交到kaggle评估1469.3 猫狗大战3.0——使用多种预训练模型组合提升表现1469.3.1 载入数据集1479.3.2 使用正确的预处理函数1479.3.3 搭建特征提取模型并导出特征1479.3.4 搭建并训练全连接分类器模型1489.3.5 在测试集上预测1499.4 融合模型1509.4.1 获取特征1509.4.2 数据持久化1519.4.3 构建模型1519.4.4 在测试集上预测1529.5 总结1539.6 参考文献及网页链接154第10章 看图识字——使用深度神经网络进行文字识别15510.1 使用卷积神经网络进行端到端学习15510.1.1 编写数据生成器15710.1.2 使用生成器15710.1.3 构建深度卷积神经网络15810.1.4 模型可视化15810.1.5 训练模型16010.1.6 计算模型总体准确率16110.1.7 测试模型16110.1.8 模型总结16210.2 使用循环神经网络改进模型16210.2.1 CTC Loss16310.2.2 模型结构16410.2.3 模型可视化16510.2.4 数据生成器16710.2.5 评估模型16810.2.6 评估回调16910.2.7 训练模型16910.2.8 测试模型17110.2.9 再次评估模型17110.2.10 总结17310.3 识别四则混合运算验证码(初赛)17310.3.1 问题描述17410.3.2 数据集探索17410.3.3 模型结构17610.3.4 结果可视化18110.3.5 总结18210.4 识别四则混合运算验证码(决赛)18310.4.1 问题描述18310.4.2 数据集探索18410.4.3 数据预处理18610.4.4 模型结构19210.4.5 生成器19510.4.6 模型的训练19710.4.7 预测结果19810.4.8 模型结果融合19910.4.9 其他尝试20010.4.10 小结20210.5 参考文献及网页链接203第11章 见习医生——使用全卷积神经网络分割病理切片中的癌组织20511.1 任务描述20511.1.1 赛题设置20511.1.2 数据描述20611.1.3 数据标注20611.2 总体思路20611.3 构造模型20711.3.1 准备数据20811.3.2 构建模型21411.3.3 模型优化21711.4 程序执行22511.5 模型结果可视化22611.5.1 加载函数22611.5.2 选择验证集并编写预测函数22611.5.3 根据tensorborad可视化结果选择最好的模型22811.5.4 尝试逐步降低学习率23011.6 观察模型在验证集上的预测表现23111.7 参考文献及网页链接234第12章 知行合一——如何写一个深度学习App23512.1 CAM可视化23512.2 导出分类模型和CAM可视化模型23612.2.1 载入数据集23612.2.2 提取特征23712.2.3 搭建和训练分类器23712.2.4 搭建分类模型和CAM模型23812.2.5 可视化测试23912.2.6 保存模型24112.2.7 导出mlmodel模型文件24112.3 开始编写App24212.3.1 创建工程24212.3.2 配置工程24412.3.3 测试工程24912.3.4 运行程序24912.4 使用深度学习模型25012.4.1 将模型导入到工程中25012.4.2 数据类型转换函数25012.4.3 实施CAM可视化25212.4.4 模型效果25412.5 参考文献及网页链接255 上一篇: 人工智能开发实践应用教程 下一篇: 深入理解并行编程