What sparked the 3rd AI boom was deep learning technology, which boasts accuracy far exceeding that of conventional AI technology. Deep learning has made remarkable progress in fields such as image recognition and speech recognition.
In this article, I will introduce the library ” TensorFlow “, which is often mentioned when dealing with deep learning .
By using TensorFlow, you can solve problems such as image recognition relatively easily. Also, you will be able to build your own original machine learning model by proceeding with learning.
Table of contents
- What is TensorFlow
- Development history by Google
- What is Keras
- TensorFlow 2.0
- Differences from other machine learning libraries
- TensorFlow vs Pytorch
- Two benefits of TensorFlow
- How to use TensorFlow
- TensorFlow specification
- Applications of TensorFlow
- Image recognition/speech recognition
- natural language processing
- How TensorFlow learns
- Recommended teaching materials
- summary
What is TensorFlow
TensorFlow is an open source machine learning library developed by Google. It is mainly known as a framework for deep learning.
Available for major OS such as Linux, macOS, Windows. In addition to Python, it supports multiple programming languages such as C/C++, Java, and Go.
Development history by Google
Originally, Google developed a closed source deep learning framework called ‘DistBelief’ in 2011. Although DistBelief achieved a certain level of operational results within Google, it was not suitable for public release as open source due to its low versatility.
Against this background, Google’s internal team started developing a new deep learning framework. TensorFlow developed as a result became an open source library in 2015, and the official version ” TensorFlow 1.0″ was released in 2017.
What is Keras
Keras is an open source neural network library developed mainly by Google engineer François Chollet. The design concept of Keras is slightly different from that of TensorFlow, and Keras was developed with the aim of providing an interface that can freely extend and customize neural networks.
Keras and TensorFlow, both developed in-house at Google, are closely related, and TensorFlow decided to support Keras in 2017. And in the latest version ” TensorFlow 2.0″, Keras is fully integrated into TensorFlow.
TensorFlow 2.0
In October 2019, the latest version “ TensorFlow 2.0 ”, which has different specifications from the conventional TensorFlow, was officially released. It differs greatly from the conventional one in that it adopts a design concept called “Eager Execution” that simultaneously creates and evaluates a computational graph.
Differences from other machine learning libraries
Unlike other machine learning libraries such as scikit-learn, TensorFlow focuses on the ” deep learning ” arena.
Of course, numerical analysis and machine learning can also be performed with TensorFlow, but the strength of TensorFlow is that it can intuitively build a complex structure with many layers of neural networks.
Alongside TensorFlow, another well-known deep learning framework is Pytorch. Another well-known neural network library called ” Chainer ” has been announced to migrate to Pytorch, just like Keras is built into TensorFlow.
Next, we compare the two major deep learning frameworks, TensorFlow/Keras and Pytorch/Chainer.
TensorFlow vs Pytorch
TensorFlow | Pytorch | |
development | ||
release | 2015 | 2016 |
speed | Nearly constant velocity | |
feature | There are many models to choose from, and the degree of freedom of options is high. | Easy to use with a simple mechanism. |
Since TensorFlow was released before Pytorch, it has more users and interest than Pytorch.
Even at Kaggle, a famous data analysis competition, TensorFlow has exceeded the usage rate. In addition, Pytorch is often used in the research field.
Two benefits of TensorFlow
There are two advantages of TensorFlow.
The first is that there is a high degree of freedom in building neural networks, and you can build neural networks as you like. TensorFlow is also rich in additional libraries and customization features.
The second advantage is that there are many TensorFlow users. Therefore, there is a wealth of learning materials and Japanese information available. Especially for beginners, it is important to have sufficient learning materials.
How to use TensorFlow
Install TensorFlow using Python’s pip command. There is a CPU version and a GPU version, so let’s install the one that suits your environment. Please refer to this official tutorial for details .
Also, if you use Google Colaboratory, you can run TensorFlow directly on your browser without installing it. Google Colaboratory is a service that provides a GPU environment for free.
However, after 12 hours, the notebook that was forcibly started will be initialized.
TensorFlow specification
The way TensorFlow code is written is a bit unique. This is because it is necessary to understand the concept of operations on “tensors (multi-dimensional arrays)” in order to understand the inner workings of TensorFlow.
However, by proceeding with the official TensorFlow tutorial, you can put the theoretical background on the shelf and intuitively experience the mechanism of deep learning. It’s perfectly fine to go back to the theoretical background even after you’ve learned the basics of deep learning.
Applications of TensorFlow
TensorFlow implements a series of machine learning algorithms, but among them, it is suitable for building learning models using deep learning.
Image recognition/speech recognition
Deep learning has made remarkable progress in the fields of image recognition and voice recognition. With TensorFlow, it is relatively easy to analyze huge datasets of tens of thousands or more.
MNIST
The most famous dataset in TensorFlow tutorials is ‘MNIST’. MNIST is a dataset used for image recognition of handwritten digits, and by learning 70,000 data, it is used to evaluate image recognition methods using machine learning and deep learning.
In the latest TensorFlow tutorial , you can experience the implementation of image recognition AI using the Fashion MNIST clothing image dataset.
natural language processing
TensorFlow is also suitable for natural language processing. The official tutorial deals with the problem of vectorizing words using the ” word2vec ” model.
With this, you can experience reading emotions from sentences and automatically generating new sentences.
machine translation
In the advanced TensorFlow tutorial , you can experience implementing a machine translation model that translates from Spanish to English.
How TensorFlow learns
In this article, I explained along the official TensorFlow tutorial, but it is also effective to study using separate teaching materials such as books and videos.
Recommended teaching materials
As mentioned earlier, TensorFlow 2.0 has just been released, so there are still few books dealing with the latest version of TensorFlow.
Among them, the following book has explanations based on the latest information, and is a recommended book for studying TensorFlow.
- Practical Machine Learning with scikit-learn , Keras and TensorFlow 2nd Edition by Aurélien Géron
In addition, recommended video teaching materials are as follows.
- TensorFlow 2.0 Complete Course (freeCodeCamp.org)
- TensorFlow Tutorial by Aladdin Persson
summary
This time, I introduced an overview of TensorFlow and how to study it. TensorFlow has a lot of official tutorials, so you can learn from the basics to applications of deep learning by following them.
On the other hand, it is also true that there are few Japanese teaching materials that are compatible with the latest version of TensorFlow 2.0. There is a lack of systematic teaching materials such as books and online courses, so you will need to search for information on your own on the Internet as needed for areas you do not understand in order to proceed with your studies.