Project

General

Profile

Bug #18713 » tf-mnist-tutorial.py

Peter Amstutz, 02/03/2022 08:25 PM

 
1
import sys
2
import numpy
3
import tensorflow as tf
4

    
5
####
6
import subprocess
7
subprocess.run("nvidia-smi")
8
subprocess.run(["find", "/dev"])
9
print(tf.config.list_physical_devices())
10

    
11
###
12

    
13
# Based on TensorFlow 2 quickstart for beginners
14
# https://www.tensorflow.org/tutorials/quickstart/beginner
15

    
16
print("TensorFlow version:", tf.__version__)
17

    
18
with numpy.load(sys.argv[1], allow_pickle=True) as f:  # pylint: disable=unexpected-keyword-arg
19
    x_train, y_train = f['x_train'], f['y_train']
20
    x_test, y_test = f['x_test'], f['y_test']
21

    
22
x_train, x_test = x_train / 255.0, x_test / 255.0
23

    
24
model = tf.keras.models.Sequential([
25
  tf.keras.layers.Flatten(input_shape=(28, 28)),
26
  tf.keras.layers.Dense(128, activation='relu'),
27
  tf.keras.layers.Dropout(0.2),
28
  tf.keras.layers.Dense(10)
29
])
30

    
31
predictions = model(x_train[:1]).numpy()
32
print(predictions)
33

    
34
print(tf.nn.softmax(predictions).numpy())
35

    
36
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
37

    
38
print(loss_fn(y_train[:1], predictions).numpy())
39

    
40
model.compile(optimizer='adam',
41
              loss=loss_fn,
42
              metrics=['accuracy'])
43

    
44
print(model.fit(x_train, y_train, epochs=5))
45

    
46
print(model.evaluate(x_test,  y_test, verbose=2))
47

    
48
probability_model = tf.keras.Sequential([
49
  model,
50
  tf.keras.layers.Softmax()
51
])
52

    
53
print(probability_model(x_test[:5]))
(1-1/2)