Robust, stable, reliable but not the simplest/most flexible option
Use Cases and Deployment Scope
The big advantage of TensorFlow is also the serving, with TensorFlow serving it is quite easy to deploy the model (literally a matters of minutes with reasonable performance), however performance wise it is not always the best, I often get better throughput with ONNX conversion of the model then deployment with TensorRT at then expense of more intermediary steps (tradeoff depending on the load expected for the model).
I think TensorFlow got a bad wrap in the community due to the handling of the transition from version 1 to version 2 that was a bit chaotic, similarly when Google dropt the support of TensorFlow-Swift fears of "yet another project that Google will kill" intensified, but TensorFlow 2 can still be a good choice for a lot of models especially BERT based (NER, QA, etc.)
Pros
- Model serving
- Keras
- Easy install/docker images
- Lot of open source projects based on it (RL/GNN/etc.)
- Lot of pre-finetuned BERT based models
Cons
- Too much abstraction
- Conversion of PyTorch models not that obvious sometimes
Return on Investment
- Good NLP model
- Fast inference
- Fast deployment



