Спецификация вывода в TensorFlow 2.0 - PullRequest
0 голосов
/ 07 июля 2019

Я только начал играть с TensorFlow 2.0 сейчас, когда вышел новый API. Тем не менее, я не получаю спецификации вывода модели.

Приведенная ниже модель представляет собой простой пример их сайта с набором данных mnist. Если я правильно понимаю, есть 60000 изображений (28x28) пикселей. Каждое входное изображение имеет одну соответствующую цифру (0-9) на выходе.

import tensorflow as tf

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

print(y_train.shape) # <-- output dimension (60000,) 

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax') # <-- output nodes 10 
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, batch_size=5, epochs=5)
model.evaluate(x_test, y_test)

Примечание из распечатки, у нас есть одномерный обучающий массив, т.е.: (60000,), но в последнем слое мы указываем 10 узлов! Зачем? Я понимаю, почему 10 узлов, если на выходе был one_hot'ed - но, как показано, у нас есть одна цифра.

Если кто-то может объяснить, что здесь происходит, я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...