Neural Network Tutorials - Herong's Tutorial Examples - v1.22, by Herong Yang
mnist.read_data_sets() Is Deprecated
This section provides a tutorial example on how to use tensorflow.keras.datasets.mnist module instead of the tensorflow.examples.tutorials.mnist module to avoid the mnist.read_data_sets() deprecation warning messages.
If you are using TensorFlow 1.14.0, you will notice that the tensorflow.examples.tutorials.mnist marked as deprecated. If you continue to run the mnist_dataset.py script, you will get the following warning messages:
herong$ python3 mnist_dataset.py WARNING:tensorflow:From mnist_dataset.py:7: read_data_sets (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version. Instructions for updating: Please use alternatives such as official/mnist/dataset.py from tensorflow/models. WARNING:tensorflow:From /.../tensorflow/contrib/learn/python/learn/datasets/mnist.py:260: maybe_download (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version. Instructions for updating: Please write your own downloading logic. ...
The warning message is clear that the tensorflow.examples.tutorials.mnist module is deprecated. But instructions for updating is useless: "Please write your own downloading logic." Why deprecating a module without a good replacement?
Searching the Internet, I found 2 options to deal with the warning messages:
1. Turn off warning messages - Using tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) to stop TensorFlow from printing those warning messages.
Here is the revised version of my MNIST test script, mnist_dataset_no_warning.py:
#- mnist_dataset_no_warning.py #- Copyright (c) 2019 HerongYang.com. All Rights Reserved. # import tensorflow.examples.tutorials.mnist.input_data as mnist import tensorflow as tf tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) # load the MNIST dataset ds = mnist.read_data_sets("MNIST_data/") # fetch next 10 samples from the dataset as features and target xs, ys = ds.train.next_batch(10) # take the first sample x = xs[0] y = ys[0] # convert features back to a 28x28 grey scale image grey = x.reshape(28,28) # convert grey scale to black and white import numpy as np bw = np.rint(grey).astype(int) # convert grey scale to black and white ascii = str(bw).replace(' ','').replace('0', ' ') # show the ascii image and the target label. print("The input image in ascii\n"+ascii) print("The target label: "+str(y))
2. Use tensorflow.keras.datasets.mnist module - The tensorflow.keras.datasets.mnist module offers the load_data() method to download MNIST datasets from the Internet.
Here is the revised version of my MNIST test script, mnist_dataset_keras.py:
#- mnist_dataset_keras.py #- Copyright (c) 2019 HerongYang.com. All Rights Reserved. # import tensorflow.keras.datasets.mnist as mnist import numpy as np # load the MNIST dataset from Internet # as numpy.ndarray of shapes x:(*, 28, 28) and y:(*,) (x_train, y_train), (x_test, y_test) = mnist.load_data() # normalize feature values x_train, x_test = x_train/255.0, x_test/255.0 # fetch next 10 samples from the training set. max = x_train.shape[0]; idx = np.random.randint(max, size=10) xs = x_train.take(idx, 0) ys = y_train.take(idx, 0) # take the first sample x = xs[0] y = ys[0] # convert grey scale to black and white bw = np.rint(x).astype(int) # convert grey scale to black and white ascii = str(bw).replace(' ','').replace('0', ' ') # show the ascii image and the target label. print("The input image in ascii\n"+ascii) print("The target label: "+str(y))
Run the revised version. I see no issues.
herong$ python3 mnist_dataset_keras.py The input image in ascii [[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ 1111 1 1111 ] [ 111111111111111 ] [ 1111111111111111 ] [ 1111111111111111 ] [ 1111111 11111 ] [ 11111 11111 ] [ 1111 11111 ] [ 1111 11111 ] [ 111 11111 ] [ 11111 ] [ 11111 ] [ 11111 ] [ 11111 ] [ 11111 ] [ 111111 ] [ 111111 ] [ 111111 ] [ 11111 ] [ 11111 ] [ 11 ] [ ]] The target label: 7
Table of Contents
Deep Playground for Classical Neural Networks
Building Neural Networks with Python
Simple Example of Neural Networks
►TensorFlow - Machine Learning Platform
"tensorflow" - TensorFlow Python Library
"tensorflow" Interactive Test Web Page
TensorFlow Session Class and run() Function
TensorFlow Variable Class and load() Function
Linear Regression with TensorFlow
tensorflow.examples.tutorials.mnist Module
►mnist.read_data_sets() Is Deprecated
Simple TensorFlow Model on MNIST Database
Commonly Used TensorFlow functions
PyTorch - Machine Learning Platform
CNN (Convolutional Neural Network)
RNN (Recurrent Neural Network)
GAN (Generative Adversarial Network)