graph LR
A[Tensorflow] --implements--> B[Deep neural nets]
A --was developed by --> C[Google]
graph LR
A((Keras 3)) --is a high level API for --> B((Tensorflow))
B --was developed by-->H[Google]
C((Pytorch)) --was developed by-->D[Meta]
A --is a high level API for --> C
A --is a high level API for --> F[JAX]
F --was developed by-->H
A --implements--> G[Deep neural nets]
B --implements--> G
C --implements--> G
F --implements--> P[Linear algebra]
F --implements--> Q[Gradient based optimisation]
I((Theano)) --implements--> P
J((Scikit-learn)) --implements--> L[Machine learning]
G --are a type of--> L
K[Hugging Face's transformers] --is built on--> C
N((PyMC)) --uses-->O((Pytensor))
O --is a fork of--> I
O --uses-->F
R[Tensorflow probability] --uses--> B
R --implements--> S[Bayesian models]
N --implements--> S
graph LR
N[**PyMC**<br> is a probabilistic programming library in Python for creating Bayesian models] --uses-->O[Pytensor]
O[**Pytensor**<br>is a Python library for working with multi-dimensional arrays] --is a fork of--> I[**Theano**<br>is a Python library for evaluating mathematical expressions by converting Python functions into highly efficient CPU or GPU code]
O --uses-->F[**JAX**<br>is a machine learning framework for transforming numerical functions]
graph LR
X --> D(( ))
D --processes--> Y
D --for--> Z
Here we use hideEmptyMembersBox: true
to turn a class diagram into a concept map (thus giving us access to the UML connectors).
---
config:
class:
hideEmptyMembersBox: true
---
classDiagram
Vehicle <|-- Car
Car *-- Engine
Car o-- Wheel
Driver --> Vehicle
Car <.. ElectricCar
Vehicle <|.. ElectricCar