This unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library. You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language. What You Will LearnOptimize core operations based on N-dimensional arraysDesign and implement an industry-level algorithmic differentiation moduleImplement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiationDesign and optimize a computation graph module, and understand the benefits it brings to the numerical computing libraryAccommodate the growing number of hardware accelerators (e.g. GPU, TPU) and execution backends (e.g. web browser, unikernel) of numerical computationUse the Zoo system for efficient scripting, code sharing, service deployment, and compositionDesign and implement a distributed computing engine to work with a numerical computing library, providing convenient APIs and high performance Who This Book Is For Those with prior programming experience, especially with the OCaml programming language, or with scientific computing experience who may be new to OCaml. Most importantly, it is for those who are eager to understand not only how to use something, but also how it is built up.
Les mer
Chapter 1: Introduction.-Chapter 2: Core Optimization.- Chapter 3: Algorithm Differentiation.- Chapter 4: Mathematical Optimization.- Chapter 5: Deep Neural Networks.- Chapter 6: Computation Graph.- Chapter 7: Performance Accelerators.- Chapter 8: Compiler Backends.- Chapter 9: Composition and Deployment.- Chapter 10: Distributed Computing.- Chapter 11: Testing Framework.- Appendix A: Basic Analytics Examples.- Appendix B: System Conventions.- Appendix C: Metric Systems and Constants.- Appendix D: AlgoDiff Module.- Appendix E: Neural Network Module.- Appendix F: Actor System for Distributed Computing.- Bibliography.
Les mer
This unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library. You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language.You will:Optimize core operations based on N-dimensional arraysDesign and implement an industry-level algorithmic differentiation moduleImplement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiationDesign and optimize a computation graph module, and understand the benefits it brings to the numerical computing libraryAccommodate the growing number of hardware accelerators (e.g. GPU, TPU) and execution backends (e.g. web browser, unikernel) of numerical computationUse the Zoo system for efficient scripting, code sharing, service deployment, and compositionDesign and implement a distributed computing engine to work with a numerical computing library, providing convenient APIs and high performance
Les mer
Covers the design of a complex computation system, Owl, developed with OCaml Includes detailed explanations and code to illustrate various aspects of implementing a practical system Written by Owl's designers and developers themselves Provides step-by-step guide on how to construct advanced computing functionalities such as neural networks
Les mer
Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Les mer
Produktdetaljer
ISBN
9781484288528
Publisert
2022-12-27
Utgiver
Vendor
Apress
Høyde
254 mm
Bredde
178 mm
Aldersnivå
Professional/practitioner, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Biographical note
Liang Wang is the Chief AI Architect at Nokia, the Chief Scientific Officer at iKVA, a Senior Researcher at the University of Cambridge, and an Intel Software Innovator. He has a broad research interest in artificial intelligence, machine learning, operating systems, computer networks, optimization theory, and graph theory.
Jianxin Zhao is a PhD graduate from the University of Cambridge, supervised by Prof. Jon Crowcroft. His research interests include numerical computation, high-performance computing, machine learning, and their application in the real world.