摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-16页 |
1.1 研究背景 | 第11页 |
1.2 国内外研究现状 | 第11-13页 |
1.3 CNN面临新的挑战 | 第13-14页 |
1.4 研究内容及主要工作 | 第14页 |
1.5 论文组织 | 第14-16页 |
第二章 相关技术研究 | 第16-32页 |
2.1 CNN | 第16-18页 |
2.1.1 CNN概述 | 第16页 |
2.1.2 CNN中的一些术语 | 第16-17页 |
2.1.2.1 卷积 | 第16-17页 |
2.1.2.2 池化 | 第17页 |
2.1.3 CNN的特点 | 第17-18页 |
2.2 Caffe | 第18-21页 |
2.2.1 Caffe概述 | 第18-19页 |
2.2.2 Caffe中的一些术语 | 第19-20页 |
2.2.2.1 Blob | 第19页 |
2.2.2.2 Layer | 第19-20页 |
2.2.2.3 Net | 第20页 |
2.2.3 Caffe的架构 | 第20-21页 |
2.3 CNN并行的相关系统分析 | 第21-31页 |
2.3.1 常见的并行方法 | 第21-26页 |
2.3.1.1 数据并行 | 第21-22页 |
2.3.1.2 模型并行 | 第22-26页 |
2.3.2 腾讯Mariana | 第26-27页 |
2.3.3 Google CPU集群 | 第27-29页 |
2.3.4 Google GPU集群 | 第29-30页 |
2.3.5 Facebook方案 | 第30页 |
2.3.6 微软方案 | 第30-31页 |
2.4 本章小结 | 第31-32页 |
第三章 框架总体设计 | 第32-50页 |
3.1 框架功能及需求 | 第32-33页 |
3.2 框架的架构 | 第33-35页 |
3.3 框架主要功能流程 | 第35-39页 |
3.3.1 启动流程 | 第35-36页 |
3.3.2 模型获取流程 | 第36页 |
3.3.3 计算出最优化模型并行和数据并行方案的流程 | 第36页 |
3.3.4 子模型训练任务的调度流程 | 第36-37页 |
3.3.5 预取数据流程 | 第37页 |
3.3.6 模型训练流程 | 第37-38页 |
3.3.7 模型保存流程 | 第38页 |
3.3.8 模型加载流程 | 第38页 |
3.3.9 模型增量训练流程 | 第38-39页 |
3.4 框架关键技术 | 第39-49页 |
3.4.1 数据预取方案 | 第39页 |
3.4.2 最优化模型并行和数据并行方案 | 第39-49页 |
3.4.2.1 假设条件 | 第39-40页 |
3.4.2.2 符号定义 | 第40页 |
3.4.2.3 讨论分析 | 第40-49页 |
3.5 本章小结 | 第49-50页 |
第四章 最优化方案的设计与实现 | 第50-71页 |
4.1 生成最优化方案 | 第50-68页 |
4.1.1 生成最优化方案的类 | 第50-65页 |
4.1.1.1 类的关系 | 第50-51页 |
4.1.1.2 具体类的设计与实现 | 第51-65页 |
4.1.2 生成最优化方案的时序 | 第65-68页 |
4.1.2.1 情景1生成最优化方案的时序 | 第65-66页 |
4.1.2.2 情景2生成最优化方案的时序 | 第66-68页 |
4.1.2.3 情景4生成最优化方案的时序 | 第68页 |
4.2 调度最优化方案 | 第68-70页 |
4.2.1 调度最优化方案的类 | 第68-70页 |
4.2.1.1 类的关系 | 第68-69页 |
4.2.1.2 具体类的设计与实现 | 第69-70页 |
4.2.2 调度最优化方案的时序 | 第70页 |
4.3 本章小结 | 第70-71页 |
第五章 最优化方案仿真测试 | 第71-77页 |
5.1 仿真环境 | 第71页 |
5.2 仿真内容 | 第71页 |
5.3 仿真数据与结果分析 | 第71-76页 |
5.3.1 AlexNet网络(单张卡能装载单个模型副本) | 第71-74页 |
5.3.2 AlexNet网络(单张卡不能装载单个模型副本) | 第74-76页 |
5.4 本章小结 | 第76-77页 |
第六章 总结与展望 | 第77-79页 |
致谢 | 第79-80页 |
参考文献 | 第80-83页 |
攻硕期间取得的研究成果 | 第83-84页 |