Deep Learning with JAX

Deep Learning with JAX

Author: Grigory Sapunov

Publisher: Simon and Schuster

Published: 2024-10-29

Total Pages: 406

ISBN-13: 1633438880

DOWNLOAD EBOOK

Accelerate deep learning and other number-intensive tasks with JAX, Google’s awesome high-performance numerical computing library. The JAX numerical computing library tackles the core performance challenges at the heart of deep learning and other scientific computing tasks. By combining Google’s Accelerated Linear Algebra platform (XLA) with a hyper-optimized version of NumPy and a variety of other high-performance features, JAX delivers a huge performance boost in low-level computations and transformations. In Deep Learning with JAX you will learn how to: • Use JAX for numerical calculations • Build differentiable models with JAX primitives • Run distributed and parallelized computations with JAX • Use high-level neural network libraries such as Flax • Leverage libraries and modules from the JAX ecosystem Deep Learning with JAX is a hands-on guide to using JAX for deep learning and other mathematically-intensive applications. Google Developer Expert Grigory Sapunov steadily builds your understanding of JAX’s concepts. The engaging examples introduce the fundamental concepts on which JAX relies and then show you how to apply them to real-world tasks. You’ll learn how to use JAX’s ecosystem of high-level libraries and modules, and also how to combine TensorFlow and PyTorch with JAX for data loading and deployment. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology Google’s JAX offers a fresh vision for deep learning. This powerful library gives you fine control over low level processes like gradient calculations, delivering fast and efficient model training and inference, especially on large datasets. JAX has transformed how research scientists approach deep learning. Now boasting a robust ecosystem of tools and libraries, JAX makes evolutionary computations, federated learning, and other performance-sensitive tasks approachable for all types of applications. About the book Deep Learning with JAX teaches you to build effective neural networks with JAX. In this example-rich book, you’ll discover how JAX’s unique features help you tackle important deep learning performance challenges, like distributing computations across a cluster of TPUs. You’ll put the library into action as you create an image classification tool, an image filter application, and other realistic projects. The nicely-annotated code listings demonstrate how JAX’s functional programming mindset improves composability and parallelization. What's inside • Use JAX for numerical calculations • Build differentiable models with JAX primitives • Run distributed and parallelized computations with JAX • Use high-level neural network libraries such as Flax About the reader For intermediate Python programmers who are familiar with deep learning. About the author Grigory Sapunov holds a Ph.D. in artificial intelligence and is a Google Developer Expert in Machine Learning. The technical editor on this book was Nicholas McGreivy. Table of Contents Part 1 1 When and why to use JAX 2 Your first program in JAX Part 2 3 Working with arrays 4 Calculating gradients 5 Compiling your code 6 Vectorizing your code 7 Parallelizing your computations 8 Using tensor sharding 9 Random numbers in JAX 10 Working with pytrees Part 3 11 Higher-level neural network libraries 12 Other members of the JAX ecosystem A Installing JAX B Using Google Colab C Using Google Cloud TPUs D Experimental parallelization


Dive Into Deep Learning

Dive Into Deep Learning

Author: Joanne Quinn

Publisher: Corwin Press

Published: 2019-07-15

Total Pages: 297

ISBN-13: 1544385404

DOWNLOAD EBOOK

The leading experts in system change and learning, with their school-based partners around the world, have created this essential companion to their runaway best-seller, Deep Learning: Engage the World Change the World. This hands-on guide provides a roadmap for building capacity in teachers, schools, districts, and systems to design deep learning, measure progress, and assess conditions needed to activate and sustain innovation. Dive Into Deep Learning: Tools for Engagement is rich with resources educators need to construct and drive meaningful deep learning experiences in order to develop the kind of mindset and know-how that is crucial to becoming a problem-solving change agent in our global society. Designed in full color, this easy-to-use guide is loaded with tools, tips, protocols, and real-world examples. It includes: • A framework for deep learning that provides a pathway to develop the six global competencies needed to flourish in a complex world — character, citizenship, collaboration, communication, creativity, and critical thinking. • Learning progressions to help educators analyze student work and measure progress. • Learning design rubrics, templates and examples for incorporating the four elements of learning design: learning partnerships, pedagogical practices, learning environments, and leveraging digital. • Conditions rubrics, teacher self-assessment tools, and planning guides to help educators build, mobilize, and sustain deep learning in schools and districts. Learn about, improve, and expand your world of learning. Put the joy back into learning for students and adults alike. Dive into deep learning to create learning experiences that give purpose, unleash student potential, and transform not only learning, but life itself.


Probabilistic Machine Learning

Probabilistic Machine Learning

Author: Kevin P. Murphy

Publisher: MIT Press

Published: 2022-03-01

Total Pages: 858

ISBN-13: 0262369303

DOWNLOAD EBOOK

A detailed and up-to-date introduction to machine learning, presented through the unifying lens of probabilistic modeling and Bayesian decision theory. This book offers a detailed and up-to-date introduction to machine learning (including deep learning) through the unifying lens of probabilistic modeling and Bayesian decision theory. The book covers mathematical background (including linear algebra and optimization), basic supervised learning (including linear and logistic regression and deep neural networks), as well as more advanced topics (including transfer learning and unsupervised learning). End-of-chapter exercises allow students to apply what they have learned, and an appendix covers notation. Probabilistic Machine Learning grew out of the author’s 2012 book, Machine Learning: A Probabilistic Perspective. More than just a simple update, this is a completely new book that reflects the dramatic developments in the field since 2012, most notably deep learning. In addition, the new book is accompanied by online Python code, using libraries such as scikit-learn, JAX, PyTorch, and Tensorflow, which can be used to reproduce nearly all the figures; this code can be run inside a web browser using cloud-based notebooks, and provides a practical complement to the theoretical topics discussed in the book. This introductory text will be followed by a sequel that covers more advanced topics, taking the same probabilistic approach.


Machine Learning Refined

Machine Learning Refined

Author: Jeremy Watt

Publisher: Cambridge University Press

Published: 2020-01-09

Total Pages: 597

ISBN-13: 1108480721

DOWNLOAD EBOOK

An intuitive approach to machine learning covering key concepts, real-world applications, and practical Python coding exercises.


Practical Natural Language Processing

Practical Natural Language Processing

Author: Sowmya Vajjala

Publisher: O'Reilly Media

Published: 2020-06-17

Total Pages: 455

ISBN-13: 149205402X

DOWNLOAD EBOOK

Many books and courses tackle natural language processing (NLP) problems with toy use cases and well-defined datasets. But if you want to build, iterate, and scale NLP systems in a business setting and tailor them for particular industry verticals, this is your guide. Software engineers and data scientists will learn how to navigate the maze of options available at each step of the journey. Through the course of the book, authors Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, and Harshit Surana will guide you through the process of building real-world NLP solutions embedded in larger product setups. You’ll learn how to adapt your solutions for different industry verticals such as healthcare, social media, and retail. With this book, you’ll: Understand the wide spectrum of problem statements, tasks, and solution approaches within NLP Implement and evaluate different NLP applications using machine learning and deep learning methods Fine-tune your NLP solution based on your business problem and industry vertical Evaluate various algorithms and approaches for NLP product tasks, datasets, and stages Produce software solutions following best practices around release, deployment, and DevOps for NLP systems Understand best practices, opportunities, and the roadmap for NLP from a business and product leader’s perspective


Clojure for Data Science

Clojure for Data Science

Author: Henry Garner

Publisher: Packt Publishing Ltd

Published: 2015-09-03

Total Pages: 608

ISBN-13: 1784397504

DOWNLOAD EBOOK

Statistics, big data, and machine learning for Clojure programmers About This Book Write code using Clojure to harness the power of your data Discover the libraries and frameworks that will help you succeed A practical guide to understanding how the Clojure programming language can be used to derive insights from data Who This Book Is For This book is aimed at developers who are already productive in Clojure but who are overwhelmed by the breadth and depth of understanding required to be effective in the field of data science. Whether you're tasked with delivering a specific analytics project or simply suspect that you could be deriving more value from your data, this book will inspire you with the opportunities–and inform you of the risks–that exist in data of all shapes and sizes. What You Will Learn Perform hypothesis testing and understand feature selection and statistical significance to interpret your results with confidence Implement the core machine learning techniques of regression, classification, clustering and recommendation Understand the importance of the value of simple statistics and distributions in exploratory data analysis Scale algorithms to web-sized datasets efficiently using distributed programming models on Hadoop and Spark Apply suitable analytic approaches for text, graph, and time series data Interpret the terminology that you will encounter in technical papers Import libraries from other JVM languages such as Java and Scala Communicate your findings clearly and convincingly to nontechnical colleagues In Detail The term “data science” has been widely used to define this new profession that is expected to interpret vast datasets and translate them to improved decision-making and performance. Clojure is a powerful language that combines the interactivity of a scripting language with the speed of a compiled language. Together with its rich ecosystem of native libraries and an extremely simple and consistent functional approach to data manipulation, which maps closely to mathematical formula, it is an ideal, practical, and flexible language to meet a data scientist's diverse needs. Taking you on a journey from simple summary statistics to sophisticated machine learning algorithms, this book shows how the Clojure programming language can be used to derive insights from data. Data scientists often forge a novel path, and you'll see how to make use of Clojure's Java interoperability capabilities to access libraries such as Mahout and Mllib for which Clojure wrappers don't yet exist. Even seasoned Clojure developers will develop a deeper appreciation for their language's flexibility! You'll learn how to apply statistical thinking to your own data and use Clojure to explore, analyze, and visualize it in a technically and statistically robust way. You can also use Incanter for local data processing and ClojureScript to present interactive visualisations and understand how distributed platforms such as Hadoop sand Spark's MapReduce and GraphX's BSP solve the challenges of data analysis at scale, and how to explain algorithms using those programming models. Above all, by following the explanations in this book, you'll learn not just how to be effective using the current state-of-the-art methods in data science, but why such methods work so that you can continue to be productive as the field evolves into the future. Style and approach This is a practical guide to data science that teaches theory by example through the libraries and frameworks accessible from the Clojure programming language.


Google JAX Essentials

Google JAX Essentials

Author: Mei Wong

Publisher: GitforGits

Published: 2023-05-31

Total Pages: 161

ISBN-13: 8196288328

DOWNLOAD EBOOK

"Google JAX Essentials" is a comprehensive guide designed for machine learning and deep learning professionals aiming to leverage the power and capabilities of Google's JAX library in their projects. Over the course of eight chapters, this book takes the reader from understanding the challenges of deep learning and numerical computations in the existing frameworks to the essentials of Google JAX, its functionalities, and how to leverage it in real-world machine learning and deep learning projects. The book starts by emphasizing the importance of numerical computing in ML and DL, demonstrating the limitations of standard libraries like NumPy, and introducing the solution offered by JAX. It then guides the reader through the installation of JAX on different computing environments like CPUs, GPUs, and TPUs, and its integration into existing ML and DL projects. The book details the advanced numerical operations and unique features of JAX, including JIT compilation, automatic differentiation, batched operations, and custom gradients. It illustrates how these features can be employed to write code that is both simpler and faster. The book also delves into parallel computation, the effective use of the vmap function, and the use of pmap for distributed computing. Lastly, the reader is walked through the practical application of JAX in training different deep learning models, including RNNs, CNNs, and Bayesian models, with an additional focus on performance-tuning strategies for JAX applications. Key Learnings Mastering the installation and configuration of JAX on various computing environments. Understanding the intricacies of JAX's advanced numerical operations. Harnessing the power of JIT compilation in JAX for accelerated computations. Implementing batched operations using the vmap function for efficient processing. Leveraging automatic differentiation and custom gradients in JAX. Proficiency in using the pmap function for distributed computing in JAX. Training different types of deep learning models using JAX. Applying performance tuning strategies to maximize JAX application efficiency. Integrating JAX into existing machine learning and deep learning projects. Complementing the official JAX documentation with practical, real-world applications. Table of Content Necessity for Google JAX Unravelling JAX Setting up JAX for Machine Learning and Deep Learning JAX for Numerical Computing Diving Deeper into Auto Differentiation and Gradients Efficient Batch Processing with JAX Power of Parallel Computing with JAX Training Neural Networks with JAX Audience This is must read for machine learning and deep learning professionals to be skilled with the most innovative deep learning library. Knowing Python and experience with machine learning is sufficient is desired to begin with this book.


Advanced Python Programming

Advanced Python Programming

Author: Quan Nguyen

Publisher: Packt Publishing Ltd

Published: 2022-03-25

Total Pages: 606

ISBN-13: 1801817774

DOWNLOAD EBOOK

Write fast, robust, and highly reusable applications using Python's internal optimization, state-of-the-art performance-benchmarking tools, and cutting-edge libraries Key FeaturesBenchmark, profile, and accelerate Python programs using optimization toolsScale applications to multiple processors with concurrent programmingMake applications robust and reusable using effective design patternsBook Description Python's powerful capabilities for implementing robust and efficient programs make it one of the most sought-after programming languages. In this book, you'll explore the tools that allow you to improve performance and take your Python programs to the next level. This book starts by examining the built-in as well as external libraries that streamline tasks in the development cycle, such as benchmarking, profiling, and optimizing. You'll then get to grips with using specialized tools such as dedicated libraries and compilers to increase your performance at number-crunching tasks, including training machine learning models. The book covers concurrency, a major solution to making programs more efficient and scalable, and various concurrent programming techniques such as multithreading, multiprocessing, and asynchronous programming. You'll also understand the common problems that cause undesirable behavior in concurrent programs. Finally, you'll work with a wide range of design patterns, including creational, structural, and behavioral patterns that enable you to tackle complex design and architecture challenges, making your programs more robust and maintainable. By the end of the book, you'll be exposed to a wide range of advanced functionalities in Python and be equipped with the practical knowledge needed to apply them to your use cases. What you will learnWrite efficient numerical code with NumPy, pandas, and XarrayUse Cython and Numba to achieve native performanceFind bottlenecks in your Python code using profilersOptimize your machine learning models with JAXImplement multithreaded, multiprocessing, and asynchronous programsSolve common problems in concurrent programming, such as deadlocksTackle architecture challenges with design patternsWho this book is for This book is for intermediate to experienced Python programmers who are looking to scale up their applications in a systematic and robust manner. Programmers from a range of backgrounds will find this book useful, including software engineers, scientific programmers, and software architects.


Deep Learning

Deep Learning

Author: John D. Kelleher

Publisher: MIT Press

Published: 2019-09-10

Total Pages: 298

ISBN-13: 0262537559

DOWNLOAD EBOOK

An accessible introduction to the artificial intelligence technology that enables computer vision, speech recognition, machine translation, and driverless cars. Deep learning is an artificial intelligence technology that enables computer vision, speech recognition in mobile phones, machine translation, AI games, driverless cars, and other applications. When we use consumer products from Google, Microsoft, Facebook, Apple, or Baidu, we are often interacting with a deep learning system. In this volume in the MIT Press Essential Knowledge series, computer scientist John Kelleher offers an accessible and concise but comprehensive introduction to the fundamental technology at the heart of the artificial intelligence revolution. Kelleher explains that deep learning enables data-driven decisions by identifying and extracting patterns from large datasets; its ability to learn from complex data makes deep learning ideally suited to take advantage of the rapid growth in big data and computational power. Kelleher also explains some of the basic concepts in deep learning, presents a history of advances in the field, and discusses the current state of the art. He describes the most important deep learning architectures, including autoencoders, recurrent neural networks, and long short-term networks, as well as such recent developments as Generative Adversarial Networks and capsule networks. He also provides a comprehensive (and comprehensible) introduction to the two fundamental algorithms in deep learning: gradient descent and backpropagation. Finally, Kelleher considers the future of deep learning—major trends, possible developments, and significant challenges.


Linear Algebra and Optimization for Machine Learning

Linear Algebra and Optimization for Machine Learning

Author: Charu C. Aggarwal

Publisher: Springer Nature

Published: 2020-05-13

Total Pages: 507

ISBN-13: 3030403440

DOWNLOAD EBOOK

This textbook introduces linear algebra and optimization in the context of machine learning. Examples and exercises are provided throughout the book. A solution manual for the exercises at the end of each chapter is available to teaching instructors. This textbook targets graduate level students and professors in computer science, mathematics and data science. Advanced undergraduate students can also use this textbook. The chapters for this textbook are organized as follows: 1. Linear algebra and its applications: The chapters focus on the basics of linear algebra together with their common applications to singular value decomposition, matrix factorization, similarity matrices (kernel methods), and graph analysis. Numerous machine learning applications have been used as examples, such as spectral clustering, kernel-based classification, and outlier detection. The tight integration of linear algebra methods with examples from machine learning differentiates this book from generic volumes on linear algebra. The focus is clearly on the most relevant aspects of linear algebra for machine learning and to teach readers how to apply these concepts. 2. Optimization and its applications: Much of machine learning is posed as an optimization problem in which we try to maximize the accuracy of regression and classification models. The “parent problem” of optimization-centric machine learning is least-squares regression. Interestingly, this problem arises in both linear algebra and optimization, and is one of the key connecting problems of the two fields. Least-squares regression is also the starting point for support vector machines, logistic regression, and recommender systems. Furthermore, the methods for dimensionality reduction and matrix factorization also require the development of optimization methods. A general view of optimization in computational graphs is discussed together with its applications to back propagation in neural networks. A frequent challenge faced by beginners in machine learning is the extensive background required in linear algebra and optimization. One problem is that the existing linear algebra and optimization courses are not specific to machine learning; therefore, one would typically have to complete more course material than is necessary to pick up machine learning. Furthermore, certain types of ideas and tricks from optimization and linear algebra recur more frequently in machine learning than other application-centric settings. Therefore, there is significant value in developing a view of linear algebra and optimization that is better suited to the specific perspective of machine learning.