# Scientific Programming

Published articles for Scientific Programming.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Google Brain's Jax and Flax

DevFeed: [Google Brain's Jax and Flax](<https://devfeed.tech/articles/google-brain-s-jax-and-flax-29478.md>)

Original publisher: [Read original article](<http://lambda-the-ultimate.org/google-brain-jax>)

Published: 2021-01-15T13:59:26Z

Content type: opinion

Language: en

Sources: [Lambda the Ultimate](<https://devfeed.tech/sources/lambda-the-ultimate.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Google](<https://devfeed.tech/topics/google.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>), [Python](<https://devfeed.tech/topics/python.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [array](<https://devfeed.tech/tags/array.md>), [customization](<https://devfeed.tech/tags/customization.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [google](<https://devfeed.tech/tags/google.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [python](<https://devfeed.tech/tags/python.md>), [scientific-programming](<https://devfeed.tech/tags/scientific-programming.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

The article introduces Google Brain's JAX and Flax alongside TensorFlow. It describes JAX as a higher-level language for specifying deep learning algorithms, combining Autograd and XLA, while Flax supports customization of existing models. It ends by asking about the future of domain-specific languages for AI.

### Source excerpt

Google's AI division, Google Brain, has two main products for deep learning: TensorFlow and Jax. While TensorFlow is best known, Jax can be thought of as a higher-level language for specifying deep learning algorithms while automatically eliding code that doesn't need to run as part of the model. Jax evolved from Autograd, and is a combination of Autograd and XLA. Autograd "can automatically differentiate native Python and Numpy code. It can handle a large subset of Python's features, including loops, ifs, recursion and closures, and it can even take derivatives of derivatives of derivatives. It supports reverse-mode differentiation (a.k.a. backpropagation), which means it can efficiently take gradients of scalar-valued functions with respect to array-valued arguments, as well as forward-mode differentiation, and the two can be composed arbitrarily. The main intended application of Autograd is gradient-based optimization." Flax is then built on top of Jax, and allows for easier customization of existing models. What do you see as the future of domain specific languages for AI?