Machine Learning Frameworks
Machine learning frameworks are software libraries that provide the building blocks for training and deploying ML models. They handle numerical computation, automatic differentiation, model architectures, and hardware acceleration so you can focus on the problem rather than reimplementing algorithms from scratch.
itArtificial intelligence and machine learning | OpenSkills.info
Intro
Machine Learning Frameworks
A machine learning framework is a software library that provides the primitives for building, training, and deploying models. Instead of coding gradient descent, tensor operations, and GPU dispatch from scratch, you use a framework that handles the mechanics so you can focus on model design and data.
The framework landscape divides into two broad tiers: classical ML libraries for tabular data and structured problems, and deep learning frameworks for neural networks on images, text, audio, and sequences.
Why frameworks exist
Training a model requires computing gradients of a loss function with respect to millions of parameters, distributing computation across hardware accelerators, and managing data pipelines that feed batches efficiently. Reimplementing these from scratch for every project is impractical.
Frameworks give you:
- Automatic differentiation for gradient computation.
- Optimized tensor operations on CPU, GPU, and TPU.
- Pre-built layers, optimizers, and loss functions.
- Data loading and augmentation pipelines.
- Model serialization and deployment tools.
- Community-contributed model architectures and pretrained weights.
scikit-learn: classical machine learning
scikit-learn is the standard Python library for classical ML. It covers supervised learning (classification, regression), unsupervised learning (clustering, dimensionality reduction), model selection, and preprocessing.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://scikit-learn.org/stable/
Supports
- Consistent fit/predict/score API pattern
- Classical ML algorithms (trees, linear, SVM, clustering)
- Pipelines, cross-validation, grid search
- CPU-only, NumPy-based computation
- Preprocessing and model selection
- https://pytorch.org/docs/stable/index.html
Supports
- Dynamic computation graphs (define-by-run)
- autograd automatic differentiation
- nn.Module model definition pattern
- torch.compile graph optimization
- Research dominance and Pythonic API
- Distributed training with DistributedDataParallel
- https://pytorch.org/docs/stable/autograd.html
Supports
- Automatic differentiation mechanics
- Gradient computation without manual derivation
- https://pytorch.org/docs/stable/onnx.html
Supports
- ONNX export from PyTorch
- Cross-framework model exchange
- https://www.tensorflow.org/guide
Supports
- Eager execution as default in TF 2.x
- tf.keras as high-level API
- tf.function for graph mode
- SavedModel serialization
- TPU integration
- https://www.tensorflow.org/lite/guide
Supports
- Mobile and edge deployment
- Model quantization for size and latency
- Android, iOS, and embedded runtimes
- https://jax.readthedocs.io/en/latest/
Supports
- Functional programming model
- Composable transforms (grad, jit, vmap, pmap)
- XLA compilation for GPU and TPU
- Pure function requirement
- NumPy-compatible interface
- https://xgboost.readthedocs.io/en/latest/
Supports
- Gradient boosting for tabular prediction
- GPU training support
- scikit-learn API compatibility
- Missing value handling
- https://huggingface.co/docs
Supports
- Pretrained model access (BERT, GPT, ViT, Whisper)
- Unified API across PyTorch, TensorFlow, JAX
- Fine-tuning and Trainer API
- Model hub and sharing
- https://keras.io/keras_3/
Supports
- Multi-backend architecture (TensorFlow, PyTorch, JAX)
- Sequential and Functional model APIs
- High-level compile/fit abstraction
- Backend-agnostic model code
- https://onnx.ai/
Supports
- Cross-framework model exchange format
- Framework-agnostic deployment
- ONNX Runtime for inference
