The TensorFlow AI framework

Machine Schooling

Working with Data Sources

Whatever your dealings with neural networks, deep learning, and artificial intelligence may be, you should always remember one thing: Any machine learning engine is only as good as the data on which it trains.

Remember, for example, the Microsoft chatbot Tay, which the company launched on Twitter in 2016. The noble idea was that Tay should develop the ability to communicate like a human by using the training material it obtained from its conversations with users. The result was devastating, probably because trolls deliberately targeted the service: Tay mutated in just under 16 hours to a bully account that had no problem with racist theses and neo-Nazi views, which it openly communicated.

If you are looking for an introduction to TensorFlow, you have several ways to keep such problems away for the time being. On TensorFlow Hub, you can find various pre-trained networks that are the result of previous TensorFlow runs on large, typically generic, datasets, so they form a good basis for automated learning.

Additionally, several projects offer prepared datasets for TensorFlow for a variety of potential objectives. For example, if you want to try out automatic image recognition in the context of neural networks, the dataset by the Aerial Cactus Identification project is a good example. This dataset is exactly what the name suggests: a suitable set of data for training a neural network to recognize cacti automatically in photos (Figure 2).

Figure 2: Cactus or not a cactus? From images like this, deep learning networks learn how to identify cacti in images [2]. © Kaggle

Another impressive example of a dataset is the MNIST database (Figure 3), which contains nearly 60,000 handwriting samples in the form of single letters, making it a good basis for neural networks that need to be trained to interpret and read handwriting. Once again, the potential of neural networks is evident. Anyone who has ever transcribed old documents by hand that were written in German or English blackletter knows how complicated this task can be. A neural network trained for specific scripts could do this far better, but most importantly, it could do it faster (Figure 4).

Figure 3: The MNIST set [3] is example input data on which an AI environment can learn automatically how to interpret handwriting. © MNIST
Figure 4: TensorFlow processes data in multiple rounds and states the accuracy with which it can finally perform the task. © TensorFlow

The same applies to other tasks. For example, if you want to recognize certain shapes in a series of photos, you can view the pictures yourself or have an AI setup do it. Against this background, the often somewhat strange-looking example data circulating in the TensorFlow environment is understandable (e.g., a database with photos of toys in front of an arbitrary backdrop; Figure 5). Searching the web quickly brings to light other data sets on which TensorFlow neural networks can be used.

Figure 5: Toys against an arbitrary background might look confusing, but it provides a method for teaching neural networks to recognize toys [4]. © NORB

Next Steps

An overview article like this can explain what TensorFlow does and what it is used for in practical terms, but a hands-on introduction would take another article. If you want to learn more about TensorFlow, check out the Tensorflow Lite article in this issue. Additionally, you can find many really excellent guides online, some of which TensorFlow itself lists [5].

Keras helps you build a neural network that analyzes images in a very short time. Almost all beginner tutorials rely on Keras because it is easier to use than TensorFlow. All tutorials also contain the dataset needed to do the respective task with Keras. Once you have worked your way through the examples in Keras notation, you'll quickly move on to more advanced models. Although more complicated, they also let you get to the heart of the matter in a very short time.

If you want to look into artificial intelligence, deep learning and neural networks, TensorFlow is the ideal tool. What's more, TensorFlow is future-proof. Google continues to play a very active role in the development of the solution, to which new features are added regularly. The product seems unlikely to disappear, because Google uses TensorFlow itself in various products, such as to process photos from Streetview.

The Author

Martin Gerhard Loschwitz is Cloud Platform Architect at Drei Austria, where he mainly works with OpenStack, Ceph, and Kubernetes.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs



Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.