本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息 | |
商品名称: | 深度学习实践:基于Caffe的解析 |
作者: | 薛云峰 |
市场价: | 69.00 |
ISBN号: | 9787111610434 |
版次: | 1-1 |
出版日期: | 2018-10 |
页数: | 283 |
字数: | 100 |
出版社: | 机械工业出版社 |
内容简介 | |
本书主要介绍Caffe的技术原理和一些*级使用技巧,首先介绍深度学习的趋势和业内动态,然后介绍Caffe的基础知识。在理解了Caffe算法的基础上,介绍Caffe的技术原理和特点,包括数学知识和设计知识。*后介绍Caffe深度学习多任务网络。本书将实践和现有系统进行无缝对接,并详述了各种调参技巧。 |
目录 | |
前言 *1章 深度学习简介 1 1.1 深度学习的历史 1 1.2 深度学习工具简介 4 1.3 深度学习的未来趋势 12 *2章 搭建你的Caffe武器库 13 2.1 硬件选型 13 2.2 Caffe在Windows下的安装 14 2.3 Caffe在Linux下的安装 16 2.3.1 Linux安装 16 2.3.2 Nvidia CUDA Toolkit的安装(*.deb方法) 17 2.3.3 Caffe的安装和测试 20 2.4 OpenCV的安装和编译 23 2.4.1 OpenCV的下载 23 2.4.2 配置环境变量 24 2.5 Boost库的安装和编译 27 2.6 Python相关库的安装 31 2.7 MATLAB接口的配置 33 2.8 其他库的安装 44 2.8.1 LMDB的编译与安装 44 2.8.2 LevelDB的编译与安装 51 2.8.3 glog的编译与安装 57 2.8.4 安装gflags 63 第3章 Caffe的简单训练 69 3.1 Caffe转化数据工具的使用介绍 69 3.1.1 命令参数介绍 69 3.1.2 生成文件列表 70 3.1.3 使用的Linux命令简介 70 3.1.4 生成文件结果 71 3.1.5 图片参数组详解 71 3.2 Caffe提取特征的工具使用说明 72 3.3 Caffe训练需要的几个部件 73 3.3.1 网络proto文件的编写 73 3.3.2 Solver配置 74 3.3.3 训练脚本的编写 76 3.3.4 训练log解析 76 3.4 Caffe简单训练分类任务 79 3.5 测试训练结果 86 3.6 使用训练好的模型进行预测 87 第4章 认识深度学习网络中的层 97 4.1 卷积层的作用与类别 97 4.1.1 卷积层的作用 97 4.1.2 卷积分类 98 4.2 激活层的作用与类别 99 4.2.1 激活函数的定义及相关概念 99 4.2.2 激活函数的类别 101 4.3 池化层的作用与类别 101 4.3.1 池化层的历史 101 4.3.2 池化层的作用 102 4.3.3 池化层分类 103 4.4 全连接层的作用与类别 105 4.5 dropout层的作用 106 4.6 损失函数层 106 第5章 Caffe的框架设计 110 5.1 Caffe中CPU和GPU结构的融合 110 5.1.1 SyncedMemory函数及其功能 110 5.1.2 SyncedMemory类的作用 112 5.2 Caffe训练时层的各个成员函数的调用顺序 112 5.3 Caffe网络构建函数的解析 115 5.4 Caffe层如何使用proto文件实现反射机制 116 5.4.1 工厂模式 116 5.4.2 层的创建 118 5.5 Caffe的调用流程图及函数顺序导视 122 5.6 Caffe框架使用的编码思想 125 5.6.1 Caffe的总体结构 125 5.6.2 Caffe数据存储设计 128 第6章 基础数学知识 130 6.1 卷积层的数学公式及求导 130 6.2 激活层的数学公式图像及求导 132 6.3 三种池化层的数学公式及反向计算 134 6.4 全连接层的数学公式及求导 135 6.4.1 全连接层的前向计算及公式推导 135 6.4.2 全连接层的反向传播及公式推导 136 6.5 反卷积层的数学公式及求导 137 第7章 卷积层和池化层的使用 139 7.1 卷积层参数初始化介绍 139 7.2 池化层的物理意义 141 7.3 卷积层和池化层输出计算及参数说明 141 7.4 实践:在Caffe框架下用Prototxt定义卷积层和池化层 142 7.4.1 卷积层参数的编写 142 7.4.2 必须设置的参数 143 7.4.3 其他可选的设置参数 143 7.4.4 卷积参数编写具体示例 144 7.4.5 卷积参数编写小建议 145 第8章 激活函数的介绍 146 8.1 用ReLU解决sigmoid的缺陷 146 8.2 ReLU及其变种的对比 148 8.3 实践:在Caffe框架下用Prototxt定义激活函数 150 8.3.1 ReLU 150 8.3.2 PReLU 150 8.3.3 Sigmoid 151 第9章 损失函数 152 9.1 contrastive_loss函数和对应层的介绍和使用场景 152 9.2 multinomial_logistic_loss函数和对应层的介绍和使用说明 154 9.3 sigmoid_cross_entropy函数和对应层的介绍和使用说明 155 9.4 softmax_loss函数和对应层的介绍和使用说明 158 9.5 euclidean_loss函数和对应层的介绍和使用说明 161 9.6 hinge_loss函数和对应层的介绍和使用说明 162 9.7 infogain_loss函数和对应层的介绍和使用说明 163 9.8 TripletLoss的添加及其使用 165 9.8.1 TripletLoss的思想 165 9.8.2 TripletLoss梯度推导 166 9.8.3 新增加TripletLossLayer 167 9.9 Coupled Cluster Loss的添加及其使用 176 9.9.1 增加loss层 176 9.9.2 实现具体示例 177 *10章 Batch Normalize层的使用 194 10.1 batch_normalize层的原理和作用 194 10.2 batch_normalize层的优势 196 10.3 常见网络结构batch_normalize层的位置 197 10.4 proto的具体写法 202 10.5 其他归一化层的介绍 204 *11章 回归网络的构建 205 11.1 如何生成回归网络训练数据 205 11.2 回归任务和分类任务的异同点 206 11.3 回归网络收敛性的判断 207 11.4 回归任务与级联模型 210 *12章 多任务网络的构建 214 12.1 多任务历史 214 12.2 多任务网络的数据生成 216 12.3 如何简单建立多任务 216 12.4 近年的多任务深度学习网络 217 12.5 多任务中通用指导性调参和网络构建结论 221 12.5.1 如何避免出现多任务后性能下降的情况 221 12.5.2 怎样构建性能提升的多任务网络 222 *13章 图像检索和人脸识别系统实践 223 13.1 深度学习如何构建成自动化服务,在内存中做测试 223 13.2 Poco库构建服务器指南 234 13.3 深度学习服务和传统服务的区别 237 13.4 深度学习服务如何与传统后台服务进行交互 237 13.5 人脸识别的数据准备和所使用的相关技术 238 13.6 图像检索任务的介绍 243 13.7 在Caffe中添加数据输入层 245 13.7.1 具体示例 246 13.7.2 ImageDataParameter参数含义简介 247 13.7.3 新增加参数的含义简介 248 13.7.4 将新增加的参数加入LayerParameter 248 13.7.5 代码的编写之必写函数 248 13.7.6 用户自定义函数的编写 249 13.7.7 用户自定义数据的读取 250 13.7.8 代码的实现 250 *14章 深度学习的调参技巧总结 265 14.1 不变数据的调参的基本原则 265 14.2 Caffe fine-tuning调参的原则和方法 265 14.3 综合数据调参的指导性建议 267 14.4 2012年以后的经典网络结构概述 271 14.4.1 Google的Inception结构 271 14.4.2 微软的Residua |