Sunday, July 26, 2020

Tensorflow Deployment Requirements for Machine Learning / Neural Networks

This blog will be continuously updated.

Obviously from the title, out of the many Machine Learning (ML) framework, this post is about the Tensorflow (https://www.tensorflow.org/) framework as oppose to other ML frameworks. As a quick reference, the other ML frameworks are:


PyTorch vs TensorFlow — spotting the difference

Keypoints from this link is that Tensorflow is for the server whereas Caffe is for production edge deployment. Both support parallel computing but in a different way. Caffe needs to be installed by compiling from source, but Tensorflow is easier to deploy.


The following has simple instructions on how the setup the Tensorflow environment.

The articles in the link above are helpful in determining which software versions will work with other software versions. Please  note that the latest software version may not be compatible with other software it needs to work with.

Software Requirements: 
Python
CUDA toolkit
cuDNN
Tensorflow
Keras - Python Deep Learning API which works on top of Tensorflow



Hardware Requirements:
GPU is optional. However, when GPU is preferred, and specifically CUDA is preferred, then the GPU will be from NVIDIA.
In terms of laptops, there are broad classes of laptops referred to as Workstations and other are Gaming laptops. Workstations are generally more expensive. In a particular search, a Workstation laptop with Quadro T2000 GPU is clearly more expensive than a Gaming laptop with RTX 2060 GPU card. Yet benchmarks show that the RTX2060 performs much better than the Quadro T2000.