Machine Learning - Davz33/tutorials GitHub Wiki

Python

Google/JAX

Google/Jax is a XLA-based library that aims to speed up numerical computation.

XLA is a compiler for linear algebra especially devised for accelerating Tensor Flow models with minimal code changes.

Salient features

  • grad
  • jit
  • pmap
  • vmap
    • vectorization: makes a single-input function to the equivalent accepting a batch of the same type of input

Just-in-time compilation (JIT-Compile)

Already known in the SW. Engineering community, JIT is a common feature of many numeric-computationally intensive libraries, across different programming languages.
Within JAX, jit becomes super-easy, a decorator on top is all that's needed to "jit-compiliify" a function:

@jit 
def myfunction(param1, param2, param3):
  #something computationally intensive 

pmap

parallel map function, across multiple cores

vmap

batched_fun = vmap(fun, <...>)

ML-Ops

Kubeflow

Kubeflow is an open-source toolkit to run machine learning workflows on Kubernetes

Kubeflow Pipelines

It's a component within Kubeflow that provides a platform for ML-workflows ("pipelines") structured as directed acyclic graphs (DAGs)

Tensorflow Extended (TFX)

TFX provides a platform to manage and deploy tensorflow-based ML-workflows as pipelines.
It comes with the added feature of reusable components, which can be re-implemented across pipelines.

⚠️ **GitHub.com Fallback** ⚠️