Post number 4 of our 5-part mini series on Chatbots, deals a popular Bot technology called TensorFlow.


What is TensorFlow?

Tensorflow is known as an open source machine learning library, but this is not a very good description if you want to know what it does.

In short it simplifies math. Neural networks trained with backpropagation uses calculus to calculate the changes that have to be applied during training. The formula to calculate these updates change as the neural network architecture changes, and the architecture can change regularly.


TensorFlow’ notable features.

On the tech side, Tensorflow knows how to optimally use your hardware for the desired computation, from a Raspberry pi 3 to a GTX Titan.


This image shows the TensorBoard: A bird's eye view of the programmable space.

Screenshot: TensorBoard


What we love about TensorFlow.

If a software developer had to recalculate the update equations and then implement them every time, then process would become prohibitively slow and error prone.

In Tensorflow you define the mathematical operations that is required for your machine learning process and the calculus is done for you. You can easily change the architecture of your model, expressing the desired computation you want to perform and the derivatives used during training is calculated for you.

If defining the mathematics to describe your machine learning process is still too much work, there is a library that wraps Tensorflow call Keras that has the basic blocks prebuilt.


Where have we used this software?

We’ve used this technology everywhere in our machine learning projects, and have combined this base software with libraries such as Keras & Theano.



For more on TensorFlow, check out their website. Also catch some of our talented Software engineers talking about our experiences with Bots at Botcon 2017, happening on the 25th of May in Cape Town, South Africa. Part 4 in this 5-part mini-series is all about why we love Theano.