Comparing TensorFlow Deep Learning Performance Using CPUs, GPUs, Local PCs and Cloud

Deep learning is a very computational intensive task. Traditionally GPUs have been used to speed-up computations by several orders of magnitude. TensorFlow is a deep learning framework designed to improve performance further by running on multiple nodes in a distributed system. While TensorFlow has only been available for a little over a year, it has quickly become the most popular open source machine learning project on GitHub. The open source version of TensorFlow was originally only capable of running on a single node while Google’s proprietary version only was capable of leveraging distributed systems. This has now changed. In this paper, we will compare performance of TensorFlow running on different single and cloudnode configurations. As an example, we will train a convolutional neural network to detect number of cells in early mouse embryos. From this research, we have found that using a local node with a local high performance GPU is still the best option for most people who do not have the resources to design bigger system