C++ Template Metaprogramming in Practice: A Deep Learning Framework
暫譯: C++ 模板元編程實務:深度學習框架

Wei, Li

  • 出版商: Auerbach Publication
  • 出版日期: 2020-12-02
  • 售價: $4,560
  • 貴賓價: 9.5$4,332
  • 語言: 英文
  • 頁數: 338
  • 裝訂: Hardcover - also called cloth, retail trade, or trade
  • ISBN: 0367609568
  • ISBN-13: 9780367609566
  • 相關分類: C++ 程式語言DeepLearning
  • 海外代購書籍(需單獨結帳)

商品描述

Using the implementation of a deep learning framework as an example, C++ Template Metaprogramming in Practice: A Deep Learning Framework explains the application of metaprogramming in a relatively large project and emphasizes ways to optimize systems performance. The book is suitable for developers with a basic knowledge of C++. Developers familiar with mainstream deep learning frameworks can also refer to this book to compare the differences between the deep learning framework implemented with metaprogramming and compile-time computing with deep learning frameworks using object-oriented methods.

Consisting of eight chapters, the book starts with two chapters discussing basic techniques of metaprogramming and compile-time computing. The rest of the book's chapters focus on the practical application of metaprogramming in a deep learning framework. It examines rich types and t systems, expression templates, and writing complex meta-functions, as well as such topics as:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • Heterogeneous dictionaries and policy templates
  • An introduction to deep learning
  • Type system and basic data types
  • Operations and expression templates
  • Basic layers
  • Composite and recurrent layers
  • Evaluation and its optimization

Metaprogramming can construct flexible and efficient code. For C++ developers who are familiar with object-oriented programming, the main difficulty in learning and mastering C++ metaprogramming is establishing the thinking mode of functional programming. The meta-programming approach involved at compile time is functional, which means that the intermediate results of the construction cannot be changed, and the impact may be greater than expected. This book enables C++ programmers to develop a functional mindset and metaprogramming skills. The book also discusses the development cost and use cost of metaprogramming and provides workarounds for minimizing these costs.

商品描述(中文翻譯)

使用深度學習框架的實作作為範例,C++ 模板元編程實務:深度學習框架 解釋了元編程在相對大型專案中的應用,並強調優化系統性能的方法。本書適合對 C++ 有基本了解的開發者。熟悉主流深度學習框架的開發者也可以參考本書,以比較使用元編程實作的深度學習框架與使用物件導向方法的深度學習框架在編譯時計算上的差異。

本書共分為八章,前兩章討論元編程和編譯時計算的基本技術。其餘章節則專注於元編程在深度學習框架中的實際應用。內容涵蓋豐富的類型和類型系統、表達式模板、撰寫複雜的元函數,以及以下主題:

- 異質字典和策略模板
- 深度學習簡介
- 類型系統和基本數據類型
- 操作和表達式模板
- 基本層
- 複合層和遞迴層
- 評估及其優化

元編程可以構建靈活且高效的代碼。對於熟悉物件導向編程的 C++ 開發者來說,學習和掌握 C++ 元編程的主要困難在於建立函數式編程的思維模式。編譯時涉及的元編程方法是函數式的,這意味著構建的中間結果無法更改,且影響可能超出預期。本書使 C++ 程式設計師能夠發展函數式思維和元編程技能。本書還討論了元編程的開發成本和使用成本,並提供了最小化這些成本的解決方案。

作者簡介

Li Wei graduated from Tsinghua University in 2011 and has been engaged in the development and maintenance of the online prediction section of the deep learning machine translation system at Baidu's Natural Language Processing Department. He currently works for Microsoft Advanced Technology Center and has more than ten years of relevant development experience, with a strong interest in C++ template meta-programming and compile-time computing.

作者簡介(中文翻譯)

李偉於2011年畢業於清華大學,並一直從事百度自然語言處理部門深度學習機器翻譯系統的線上預測部分的開發與維護工作。他目前在微軟先進技術中心工作,擁有超過十年的相關開發經驗,對C++模板元編程和編譯時計算有著濃厚的興趣。