PyTorch won research. Where TensorFlow and MLX still fit
By Sheela ·

The framework wars are over, and PyTorch won the part that matters most: research and large language models. New papers, tutorials and pretrained weights appear there first. That makes the choice simpler than it looks, but not to zero, because two other frameworks still own corners PyTorch does not, and most readers of this site do not need a framework at all.
The default: PyTorch
PyTorch (4.9) is where the ecosystem lives. Paired with Hugging Face Transformers (4.8), it is the straight path from a published model to fine-tuning it on your own data, and the overwhelming majority of open weights ship PyTorch-first. If you are learning one framework for deep learning or LLM work in 2026, learn this one; the question is not whether it is best in theory but where the code, the weights and the help already are.
The production and edge corner: TensorFlow
TensorFlow (4.0) is no longer the default for new work, and Keras 3 quietly concedes as much by running on top of PyTorch or JAX as readily as TensorFlow. What it still does better than most is ship a trained model to a phone or a microcontroller: the TensorFlow Lite and LiteRT path is more mature than the alternatives. If your project ends on-device rather than in a data centre, or you already maintain a TensorFlow codebase, there is no reason to port. For anything LLM-shaped, there is little reason to start.
The Apple-silicon corner: MLX
MLX (4.4), Apple's array framework, exists for one situation and does it well: training and running models locally on Apple Silicon, using unified memory so a Mac with enough RAM can hold models that would need a discrete GPU elsewhere. It is not a general cross-platform framework and does not try to be; on a Linux box with NVIDIA cards it is the wrong tool. On a MacBook, it is the one that treats the hardware as a first-class target.
The option most people actually want
Here is the part the framework debate hides: if your goal is to run an existing model rather than build or train one, you want neither. llama.cpp (4.8) and the tools built on it run quantised open models on ordinary hardware with no framework install and no training code. Most people who think they need TensorFlow or PyTorch need an inference runtime and an API key.
Which to use
Building or fine-tuning models, especially LLMs: PyTorch with Transformers, and do not look back. Shipping a custom model to a device: TensorFlow and LiteRT. Working entirely on a Mac: MLX. Just running models someone else trained: an inference runtime, not a framework at all. The framework is the smallest decision; the real one is whether you are building a model or consuming one.