Я слежу за курсом tenraflow и не могу понять приведенный ниже код. Вы можете объяснить это, используя простой английский, пожалуйста ...
вот код
model = tf.keras.models.Sequential([tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation=tf.nn.relu),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)])
Я хочу знать, что делатьtf.nn.softmax в описании курса имеет описание ниже, но оно мне не понятно.
Последовательный: Это определяет ПОСЛЕДОВАТЕЛЬНОСТЬ слоев в нейронной сети
Сглаживание: Помните ранее, где нашизображения были квадратными, когда вы их распечатывали?Flatten просто берет этот квадрат и превращает его в одномерный набор.
Плотный: добавляет слой нейронов
Каждый слой нейронов нуждается в функции активации, чтобы сказать им, что делать.Есть много опций, но просто используйте их сейчас.
Relu эффективно означает "Если X> 0 возвращает X, иначе возвращает 0" - так, что он делает, он только передает значения0 или больше для следующего слоя в сети.
Softmax принимает набор значений и эффективно выбирает самое большое, поэтому, например, если выход последнего слоя выглядит как [0.1, 0.1, 0.05, 0.1, 9.5, 0.1, 0.05, 0.05, 0.05]
, онспасает вас от рыбной ловли в поисках наибольшего значения и превращает его в [0,0,0,0,1,0,0,0,0]
- цель состоит в том, чтобы сэкономить много кода!