For the chapter of deep learning computing systems and software, we will first look into deep learning open source software. In the table that you see, we have Open Source and it's listed as Yes, Yes in blue. And that will be the case for all the Software we will look into now. First, TensorFlow. This enable scalable machine learning computation using data flow graphs and it's developed by Google. The Interface, as you can see, includes for Python, C, C++, Java, Go. And then, below, we have Microsoft CNTK. Now, this is the cognitive toolkit which is an open source deep learning software toolkit. And it's supported for the interfaces of Python, C++, Command line, BrainScript. And .NET is on the road map to come in the near future. Then we have Keras, where this is a Python-based, deep learning library to support CNN and RNN programming to run on TensorFlow or Theano. And the interface is for Python. Then we have Caffe. Caffe is a fast, open framework for deep learning program development. And it's ported for the interface of Python and MATLAB. Then there's Theano. This is a Python library that enables efficient programming of mathematical expressions involving multidimensional arrays, and can perform efficient symbolic differentiation. The interface is for Python and these other references that I use. And I recommend them to you. Next, we will look into Google TensorFlow. TensorFlow is an open source machine learning software library. It was developed by the Google Brain Team. It's programmed in Python or C++. And it's used for computational deployment to multiple TPUs, CPUs, GPUs. TensorFlow is a data flow graph based numerical computation mechanism. This shows one example right here. This is a data flow graph of a deep learning convolutional neural network with two convolutional layers with with two full connections. Now, as you can see in here, there are nodes. And these nodes represent mathematical operations. Then there's edges, and these represent the tensors. Now, you're probably thinking, I could understand this a little bit better if I understood what a tensor was. So now we look into the tensor definition. This is a geometric vector. It describes geometric relationships. A little bit easier in terms, it is an organized, multidimensional array of data values. For example, let's take this right here, a three-dimensional cube. Inside it has data in two-dimensional structure, and more data behind it, making it a three-dimensional array of data values. This here is an example of a tensor. It's used in physics and engineering and modeling to make the modeling more efficient and compact. TensorFlow is the most popular machine learning language in GitHub. And looking at an example right here based upon June, 2017, you can see that, in GitHub, it has the most amount of stars. More than three times its second ranked one. Since it's so popular, it is worthy to look into a little bit deeper to the versions of how it evolved into its current status. We start off with TensorFlow v0.5.0, which was released in November of 2015. This was the initial release. Then TensorFlow v0.6.0, which was released in December of 2015. Improvements to GPU performance and memory usage, to name among the many enhancements that were made. Then there was TensorFlow v0.7.0, which was released in February of 2016. And it included support for Nvidia CUDA, 7.0 and higher, and cuDNN, R2 or higher. Now, CUDA is Compute Unified Device Architecture. And CUDA Deep Neural Network library is the cuDNN. This is the GPU programming language that was developed by Nvidia, a very powerful machine language programming GPU technology. TensorFlow v, version, 0.8.0, which was released in April of 2016. This included support for TensorBoard displays of metadata stats. In addition, it included an improved linear optimizer among its many additional features. Then version 0.9.0 was released in June 2016. It included support for Python 3.5 and iOS. In addition, support for GPU on Mac OS processing was added. Then v0.10.0 of TensorFlow was released in July of 2016. And it included graph-construction C API. In addition, support for C++ shape inference was added, in addition to many more features. TensorFlow v.0.11.0, this here was released in October 2016. And it included support for HDFS, which is Hadoop Distributed File System. Hadoop is the big data engine. In addition, support for fused LSTM through cuDNN, version five. Here, LSTM is long, short-term memory, which is a deep learning, recurrent neural network technology. In addition, we have TensorFlow v0.12.0, which was released in November of 2016. Here, support for Microsoft Windows based upon Python, C++, CUDA 8.0, and cuDNN 5.1, basically, was included into the system, in addition to additional features. Then there was TensorFlow version 1.0.0. Now, this was released in January of 2017, which added new Python 3 docker images. In addition, TensorFlow version 1.1.0 was released in March of 2017, which included support for Java APIs for Windows. In addition, TensorFlow v1.2.0 was released in May of 2017, which included support for Python 3.6 on Windows. These are the references that I used, and I recommend them to you, thank you.