TensorFlow* machine learning
This tutorial demonstrates the installation and execution of a TensorFlow* machine learning example on Clear Linux* OS. It uses a Jupyter* Notebook and MNIST data for handwriting recognition.
The initial steps show how to set up a Jupyter kernel and run a Notebook on a bare-metal Clear Linux OS system.
This tutorial assumes you have installed Clear Linux OS on your host system. For detailed instructions on installing Clear Linux OS on a bare metal system, follow the bare metal installation tutorial.
Before you install any new packages, update Clear Linux OS with the following command:
sudo swupd update
After your system is updated, add the following bundles to your system:
- machine-learning-web-ui: This bundle contains the Jupyter application.
- machine-learning-basic: This bundle contains TensorFlow and other useful tools.
To install the bundles, run the following commands in your
sudo swupd bundle-add machine-learning-web-ui sudo swupd bundle-add machine-learning-basic
With all required packages and libraries installed, set up the file structure for the Jupyter Notebook.
$HOMEdirectory, create a directory for the Jupyter Notebooks named
Notebooks, create a directory named
Change to the new directory.
MNIST_example.ipynbfile into the
After installing the machine-learning basic bundle, you can find the example code under
The example code downloads and decompresses the MNIST data directly into the
./mnist directory. Alternatively, download the four files directly
from the Yann LeCun’s MNIST Database website and save them into a
mnist directory within the
The files needed are:
With Clear Linux OS, Jupyter, and TensorFlow installed and configured, you can run the example code.
Go to the
($HOME)/Notebooksdirectory and start Jupyter with the following commands:
cd ~/Notebooks jupyter notebook
The Jupyter server starts and opens a web browser showing the Jupyter file manager with a list of files in the current directory, as shown in Figure 1.
Click on the
MNIST_example.ipynbfile created earlier should be listed there, as shown in Figure 2.
To run the handwriting example, click on the
MNIST_example.ipynbfile to load the notebook, as shown in Figure 3.
Click the button to execute the code in the current cell and move to the next.
Select the In  cell and click the button to load the MNIST data. The successful output is shown on Figure 4.
After the MNIST data is successfully downloaded and extracted into the
mnistdirectory within the
($HOME)/Notebooks/Handwritingdirectory, four .gz files are present and the four data sets are created: trainX, trainY, testX and testY.
To inspect the imported data, the function in In  first instructs Jupyter to reshape the data into an array of 28 x 28 images and to plot the area in a 28 x 28 grid. Click the button twice to show the first two digits in the trainX dataset. An example is shown in Figure 5.
The In  cell defines the neural network. It provides the inputs, defines the hidden layers, runs the training model, and sets up the output layer, as shown in Figure 6. Click the button four times to perform these operations.
To test the accuracy of the prediction that the system makes, select the In  cell and click the button. In this example, the number 6 was predicted with a 99% accuracy, as shown in Figure 7.
To retest the accuracy of a random data point’s prediction, run the cell In  again. It will take another random data point and predict its value.
To check the accuracy for the whole dataset, select the In  cell and click the button. Our example’s accuracy is calculated as 97.17%, as shown in Figure 8.
You have successfully installed a Jupyter kernel on Clear Linux OS. In addition, you trained a neural network to successfully predict the values contained in a data set of hand-written number images.