成功加入购物车

去购物车结算 X
山頭斜照的书店
  • C++模板元编程实战—一个深度学习框架的初步实现

C++模板元编程实战—一个深度学习框架的初步实现

举报
  • 装帧:    平装
  • 开本:    16开
  • 纸张:    胶版纸
  • 页数:    268页
  • 字数:    99999千字
  • 版次:  1
  • 装帧:  平装
  • 开本:  16开
  • 纸张:  胶版纸
  • 页数:  268页
  • 字数:  99999千字

售价 26.00 3.8折

定价 ¥69.00 

品相 九五品

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2024-03-27

    数量
    仅1件在售,欲购从速
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 商品分类:
      综合性图书
      商品描述:
      基本信息
      书名:C++模板元编程实战—一个深度学习框架的初步实现
      定价:69.00元
      作者:李伟
      出版社:人民邮电出版社
      出版日期:2018-11-01
      ISBN:9787115491701
      字数:423000
      页码:268
      版次:1
      装帧:平装
      开本:16开
      商品重量:
      编辑推荐

      内容提要
      《C++模板元编程实战:一个深度学习框架的初步实现》以一个深度学习框架的初步实现为例,讨论如何在一个相对较大的项目中深入应用元编程,为系统性能优化提供更多的可能。《C++模板元编程实战:一个深度学习框架的初步实现》分为8章,前两章讨论了一些元编程与编译期计算的基本技术,后面6章则讨论了元编程在深度学习框架中的实际应用,涉及富类型与标签体系、表达式模板、复杂元函数的编写等多个主题,详尽地展示了如何将面向对象与元编程相结合以构造复杂系统。《C++模板元编程实战:一个深度学习框架的初步实现》适合具有一定C++基础的读者阅读。对主流深度学习框架的内核有一定了解的读者,也可以参考本书,对比使用元编程与编译期计算所实现的深度学习框架与主流的(主要基于面向对象所构造的)深度学习框架之间的差异。
      目录
      部分元编程基础技术
      章基本技巧3
      1.1元函数与type_traits3
      1.1.1元函数介绍3
      1.1.2类型元函数4
      1.1.3各式各样的元函数6
      1.1.4type_traits7
      1.1.5元函数与宏7
      1.1.6本书中元函数的命名方式8
      1.2模板型模板参数与容器模板8
      1.2.1模板作为元函数的输入9
      1.2.2模板作为元函数的输出9
      1.2.3容器模板10
      1.3顺序、分支与循环代码的编写12
      1.3.1顺序执行的代码12
      1.3.2分支执行的代码13
      1.3.3循环执行的代码19
      1.3.4小心:实例化爆炸与编译崩溃21
      1.3.5分支选择与短路逻辑23
      1.4奇特的递归模板式24
      1.5小结25
      1.6练习26
      第2章异类词典与policy模板28
      2.1具名参数简介28
      2.2异类词典30
      2.2.1模块的使用方式30
      2.2.2键的表示32
      2.2.3异类词典的实现34
      2.2.4VarTypeDict的性能简析41
      2.2.5用std::tuple作为缓存41
      2.3policy模板42
      2.3.1policy介绍42
      2.3.2定义policy与policy对象(模板)45
      2.3.3使用policy47
      2.3.4背景知识:支配与虚继承49
      2.3.5policy对象与policy支配结构50
      2.3.6policy选择元函数52
      2.3.7使用宏简化policy对象的声明57
      2.4小结58
      2.5练习58
      第二部分深度学习框架
      第3章深度学习概述63
      3.1深度学习简介63
      3.1.1从机器学习到深度学习64
      3.1.2各式各样的人工神经网络65
      3.1.3深度学习系统的组织与训练68
      3.2本书所实现的框架:MetaNN70
      3.2.1从矩阵计算工具到深度学习框架70
      3.2.2MetaNN介绍71
      3.2.3本书将要讨论的内容72
      3.2.4本书不会涉及的主题75
      3.3小结75
      第4章类型体系与基本数据类型76
      4.1类型体系77
      4.1.1类型体系介绍77
      4.1.2迭代器分类体系78
      4.1.3将标签作为模板参数80
      4.1.4MetaNN的类型体系81
      4.1.5与类型体系相关的元函数82
      4.2设计理念84
      4.2.1支持不同的计算设备与计算单元84
      4.2.2存储空间的分配与维护85
      4.2.3浅拷贝与写操作检测88
      4.2.4底层接口扩展89
      4.2.5类型转换与求值91
      4.2.6数据接口规范92
      4.3标量92
      4.3.1类模板的声明93
      4.3.2基于CPU的特化版本94
      4.3.3标量的主体类型95
      4.4矩阵96
      4.4.1Matrix类模板96
      4.4.2特殊矩阵:平凡矩阵、全零矩阵与独热向量101
      4.4.3引入新的矩阵类104
      4.5列表105
      4.5.1Batch模板105
      4.5.2Array模板108
      4.5.3重复与Duplicate模板113
      4.6小结116
      4.7练习116
      第5章运算与表达式模板119
      5.1表达式模板简介119
      5.2MetaNN运算模板的设计思想122
      5.2.1Add模板的问题122
      5.2.2运算模板的行为分析122
      5.3运算分类124
      5.4辅助模板125
      5.4.1辅助类模板OperElementType_/OperDeviceType_125
      5.4.2辅助类模板OperXXX_126
      5.4.3辅助类模板OperCateCal126
      5.4.4辅助类模板OperOrganizer128
      5.4.5辅助类模板OperSeq130
      5.5运算模板的框架131
      5.5.1运算模板的类别标签131
      5.5.2UnaryOp的定义132
      5.6运算实现示例133
      5.6.1Sigmoid运算133
      5.6.2Add运算136
      5.6.3转置运算139
      5.6.4折叠运算141
      5.7MetaNN已支持的运算列表141
      5.7.1一元运算141
      5.7.2二元运算142
      5.7.3三元运算144
      5.8运算的折衷与局限性144
      5.8.1运算的折衷144
      5.8.2运算的局限性145
      5.9小结146
      5.10练习146
      第6章基本层148
      6.1层的设计理念148
      6.1.1层的介绍148
      6.1.2层对象的构造150
      6.1.3参数矩阵的初始化与加载151
      6.1.4正向传播152
      6.1.5存储中间结果154
      6.1.6反向传播154
      6.1.7参数矩阵的更新155
      6.1.8参数矩阵的获取155
      6.1.9层的中性检测156
      6.2层的辅助逻辑156
      6.2.1初始化模块156
      6.2.2DynamicData类模板161
      6.2.3层的常用policy对象166
      6.2.4InjectPolicy元函数168
      6.2.5通用I/O结构168
      6.2.6通用操作函数169
      6.3层的具体实现170
      6.3.1AddLayer170
      6.3.2ElementMulLayer172
      6.3.3BiasLayer176
      6.4MetaNN已实现的基本层181
      6.5小结183
      6.6练习184
      第7章复合层与循环层185
      7.1复合层的接口与设计理念186
      7.1.1基本结构186
      7.1.2结构描述语法187
      7.1.3policy的继承关系188
      7.1.4policy的修正189
      7.1.5复合层的构造函数190
      7.1.6一个完整的复合层构造示例190
      7.2policy继承与修正逻辑的实现191
      7.2.1policy继承逻辑的实现191
      7.2.2policy修正逻辑的实现194
      7.3ComposeTopology的实现195
      7.3.1功能介绍195
      7.3.2拓扑排序算法介绍195
      7.3.3ComposeTopology包含的主要步骤196
      7.3.4结构描述子句与其划分196
      7.3.5结构合法性检查198
      7.3.6拓扑排序的实现200
      7.3.7子层实例化元函数203
      7.4ComposeKernel的实现207
      7.4.1类模板的声明208
      7.4.2子层对象管理208
      7.4.3参数获取、梯度收集与中性检测211
      7.4.4参数初始化与加载212
      7.4.5正向传播214
      7.4.6反向传播221
      7.5复合层实现示例221
      7.6循环层222
      7.6.1GruStep222
      7.6.2构建RecurrentLayer类模板224
      7.6.3RecurrentLayer的使用230
      7.7小结230
      7.8练习230
      第8章求值与优化233
      8.1MetaNN的求值模型234
      8.1.1运算的层次结构234
      8.1.2求值子系统的模块划分235
      8.2基本求值逻辑242
      8.2.1主体类型的求值接口242
      8.2.2非主体基本数据类型的求值243
      8.2.3运算模板的求值245
      8.2.4DyanmicData与求值248
      8.3求值过程的优化249
      8.3.1避免重复计算249
      8.3.2同类计算合并250
      8.3.3多运算协同优化251
      8.4小结258
      8.5练习259
      后记——方家休见笑,吾道本艰难260
      作者介绍
      李伟,2011年毕业于清华大学,曾经在百度自然语言处理部担任深度学习机器翻译系统线上预测部分的开发与维护,目前供职于微软亚洲工程院。主要研究方向为C++,拥有10余年相关开发经验,对C++模板元编程与编译期计算有着浓厚的兴趣。喜欢尝试新的技术,业余爱好是编程与阅读。
      序言

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看