Bewertung:

Derzeit gibt es keine Leserbewertungen. Die Bewertung basiert auf 2 Stimmen.
C++ Template Metaprogramming in Practice: A Deep Learning Framework
Am Beispiel der Implementierung eines Deep-Learning-Frameworks erläutert C++ Template Metaprogramming in Practice: A Deep Learning Framework die Anwendung der Metaprogrammierung in einem relativ großen Projekt und zeigt Wege zur Optimierung der Systemleistung auf. Das Buch ist für Entwickler mit Grundkenntnissen in C++ geeignet. Entwickler, die mit Mainstream-Frameworks für tiefes Lernen vertraut sind, können in diesem Buch auch die Unterschiede zwischen dem mit Metaprogrammierung implementierten Deep-Learning-Framework und dem Compile-Time-Computing mit Deep-Learning-Frameworks mit objektorientierten Methoden vergleichen.
Das Buch besteht aus acht Kapiteln und beginnt mit zwei Kapiteln, in denen die grundlegenden Techniken der Metaprogrammierung und des Compile-Time-Computing behandelt werden. Die restlichen Kapitel des Buches konzentrieren sich auf die praktische Anwendung der Metaprogrammierung in einem Deep-Learning-Framework. Untersucht werden reichhaltige Typen und Systeme, Ausdrucksvorlagen und das Schreiben komplexer Meta-Funktionen, sowie Themen wie:
⬤ Heterogene Wörterbücher und Richtlinienvorlagen.
⬤ Eine Einführung in Deep Learning.
⬤ Typesystem und grundlegende Datentypen.
⬤ Operationen und Ausdrucksvorlagen.
⬤ Grundlegende Schichten.
⬤ Zusammengesetzte und rekurrente Schichten.
⬤ Auswertung und ihre Optimierung.
Durch Metaprogrammierung kann flexibler und effizienter Code erstellt werden. Für C++-Entwickler, die mit der objektorientierten Programmierung vertraut sind, besteht die Hauptschwierigkeit beim Erlernen und Beherrschen der C++-Metaprogrammierung darin, die Denkweise der funktionalen Programmierung zu etablieren. Der Ansatz der Metaprogrammierung zur Kompilierzeit ist funktional, was bedeutet, dass die Zwischenergebnisse der Konstruktion nicht verändert werden können, und die Auswirkungen können größer sein als erwartet. Dieses Buch ermöglicht es C++-Programmierern, eine funktionale Denkweise und Fähigkeiten zur Metaprogrammierung zu entwickeln. Das Buch erörtert auch die Entwicklungs- und Nutzungskosten der Metaprogrammierung und bietet Umgehungsmöglichkeiten, um diese Kosten zu minimieren.