← CS Lab AI & Machine Learning / ML Frameworks Ecosystem
ML Frameworks Ecosystem — card 1 of 4
ML Frameworks Ecosystem — card 2 of 4
ML Frameworks Ecosystem — card 3 of 4
ML Frameworks Ecosystem — card 4 of 4

The Python ML world isn't one tool — it's a stack of frameworks that each own a layer. scikit-learn for classical ML, PyTorch for deep-learning research, TensorFlow/Keras for production, JAX for high-performance numerics, and Hugging Face sitting on top with pretrained models. Knowing which does what saves you from forcing the wrong tool onto the job.

Where you meet it

What it does

Each framework turns math into runnable models, but they aim at different jobs. scikit-learn gives you classical algorithms — random forests, gradient boosting, k-means — with a uniform API. PyTorch, TensorFlow/Keras and JAX are deep-learning engines: they build and train neural networks on GPUs. Hugging Face doesn't replace them — it ships pretrained transformers that run on top of PyTorch, TensorFlow or JAX.

Pick the framework to fit the task, not the hype — a random forest on tabular data beats the transformer you didn't need.

How it works

The deep-learning frameworks share three foundations:

On those foundations each one specializes. scikit-learn = classical ML on small-to-medium tabular data; no autograd, no GPUs by default. PyTorch = deep learning and research; its dynamic (define-by-run) graphs make it Pythonic and easy to debug. TensorFlow/Keras = the same deep learning with a strong path to production and deployment (Keras 3 is the high-level API and now runs on TensorFlow, JAX or PyTorch; TF Serving, TF Lite, TF.js for shipping). JAX = a functional, NumPy-style API where transformations like grad, jit and vmap compose, compiled via XLA for top performance. Hugging Face = the model-definition layer on top: transformers centralizes architectures and gives you 1M+ pretrained checkpoints, compatible across PyTorch, TF and JAX.

# classical ML — scikit-learn
from sklearn.ensemble import RandomForestClassifier
m = RandomForestClassifier().fit(X, y)
m.predict(X_new)

# pretrained transformer — Hugging Face on top of PyTorch
from transformers import pipeline
clf = pipeline("sentiment-analysis")
clf("I love this stack")   # → label + score

Watch out

  • Pick the framework to fit the task, not the hype. A random forest on tabular data beats a transformer you don't need.
  • scikit-learn is not deep learning. It has no autograd and no real GPU training — reach for PyTorch/TF/JAX when you need neural nets.
  • Version & CUDA compatibility bites. PyTorch/TF builds are tied to specific CUDA/cuDNN versions; mismatches are the classic install failure.
  • Hugging Face builds on PyTorch/TF/JAX — it's a layer, not a competitor. You still need the backend underneath.
  • Don't let tutorials push you toward the heaviest tool — start simple, scale up only when the data demands it.

Go deeper

Die Python-ML-Welt ist nicht ein Tool — sie ist ein Stapel aus Frameworks, die je eine Schicht besetzen. scikit-learn fürs klassische ML, PyTorch für Deep-Learning-Forschung, TensorFlow/Keras für Produktion, JAX für Hochleistungs-Numerik, und Hugging Face obendrauf mit vortrainierten Modellen. Wer weiß, was was tut, zwingt nicht das falsche Werkzeug auf die Aufgabe.

Wo es vorkommt

Was es tut

Jedes Framework macht aus Mathematik lauffähige Modelle, zielt aber auf unterschiedliche Aufgaben. scikit-learn liefert klassische Algorithmen — Random Forests, Gradient Boosting, k-Means — mit einheitlicher API. PyTorch, TensorFlow/Keras und JAX sind Deep-Learning-Engines: sie bauen und trainieren neuronale Netze auf GPUs. Hugging Face ersetzt sie nicht — es liefert vortrainierte Transformer, die auf PyTorch, TensorFlow oder JAX laufen.

Wähl das Framework nach der Aufgabe, nicht nach dem Hype — ein Random Forest auf Tabellendaten schlägt den Transformer, den du nicht brauchtest.

Wie es funktioniert

Die Deep-Learning-Frameworks teilen drei Grundlagen:

Darauf spezialisiert sich jedes. scikit-learn = klassisches ML auf kleinen bis mittleren Tabellendaten; kein Autograd, standardmäßig keine GPUs. PyTorch = Deep Learning und Forschung; seine dynamischen (define-by-run) Graphen machen es pythonisch und gut debugbar. TensorFlow/Keras = dasselbe Deep Learning mit starkem Weg in Produktion und Deployment (Keras 3 ist die High-Level-API und läuft heute auf TensorFlow, JAX oder PyTorch; TF Serving, TF Lite, TF.js zum Ausliefern). JAX = eine funktionale, NumPy-artige API, in der Transformationen wie grad, jit und vmap komponierbar sind, via XLA für Spitzenleistung kompiliert. Hugging Face = die Modell-Definitions-Schicht obendrauf: transformers zentralisiert Architekturen und gibt dir über 1 Mio. vortrainierte Checkpoints, kompatibel über PyTorch, TF und JAX hinweg.

# klassisches ML — scikit-learn
from sklearn.ensemble import RandomForestClassifier
m = RandomForestClassifier().fit(X, y)
m.predict(X_new)

# vortrainierter Transformer — Hugging Face auf PyTorch
from transformers import pipeline
clf = pipeline("sentiment-analysis")
clf("Ich liebe diesen Stack")   # → Label + Score

Worauf achten

  • Wähle das Framework nach der Aufgabe, nicht nach dem Hype. Ein Random Forest auf Tabellendaten schlägt einen Transformer, den du nicht brauchst.
  • scikit-learn ist kein Deep Learning. Es hat kein Autograd und kein echtes GPU-Training — für neuronale Netze greifst du zu PyTorch/TF/JAX.
  • Version- & CUDA-Kompatibilität beißt. PyTorch/TF-Builds hängen an bestimmten CUDA-/cuDNN-Versionen; Mismatches sind der klassische Installations-Fehler.
  • Hugging Face baut auf PyTorch/TF/JAX auf — es ist eine Schicht, kein Konkurrent. Das Backend darunter brauchst du trotzdem.
  • Lass dich von Tutorials nicht zum schwersten Tool treiben — fang einfach an, skaliere erst, wenn die Daten es verlangen.

Mehr dazu

Next up
AI & Machine LearningLLM API Integration AI & Machine LearningFine-Tuning Overview All concepts →