Продолжаем серию уроков распознавания рукописного текста , немного освежим память и пробежимся по коду , посмотрим на то , что мы уже умеем:
#
# импортируем необходимые библиотеки
from tensorflow.keras.datasets import mnist
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
# создаем списки данных , подгружаем из дата сета mnist
(X_train, Y_train), (X_test, Y_test) = mnist.load_data()
# выпрямляем двумерный массив 28*28 на одномерный 784
x_train_re = X_train.reshape(60000, 784)
x_test_re = X_test.reshape(10000, 784)
# нормализуем данные переводяиз 0-255 в 0-1
x_train = x_train_re.astype('float32')
x_train = x_train / 255
x_test = x_test_re.astype('float32')
x_test = x_test / 255
# трпнсформируем правильные ответы из базы в формат oneHotEncoding
import tensorflow as tf
y_train = tf.keras.utils.to_categorical(Y_train, num_classes=10)
y_test = tf.keras.utils.to_categorical(Y_test, num_classes=10)
Создаем сеть
Работать будем с сетью прямого распространения — Sequential , для этого нам необходимо подгрузить ее из известной нам библиотеки tensorFlow
# from tensorflow.keras.models import Sequential model = Sequential()
занесем нашу сеть в переменную model , в дальнейшем будем обращаться к сети с помощью model. Сеть создана. Далее нам нужно создать слои для нашей сети , те самые слои (входные , скрытые , выходные)

в качестве входных параметров могут быть разного рода признаки : вес , рост , возраст , скорость либо другие какие то признаки , и мы можем подать 2 признака так как у нас 2 зеленых нейрона на входе , если будет другое количество зеленых , соответственно будет и другое количество признаков 4 нейрона — 4 признака и т д… И так же мы имеем 2 выходных слоя , которые определяют какой из признаков более подходящий под условия нашей задачи , Синие нейроны все это обрабатывают ,и посылают более сильный сигнал на выход ( красные нейроны) либо кошек , либо собак. Ниже приведен пример.

Приступим к созданию слоев для нашей сетки , будем использовать слои типа — Dense ( полносвязный слой). Имеет несколько необходимых для нас параметров, но сначала код , импортируем наш слой из той же библиотеки TF
# from tensorflow.keras.layers import Dense model.add(Dense(800, input_dim=784, activation="relu"))
800 — количество нейронов в слое , input_dim — размер вектора (тот самый полученный одномерный вектор 784) подаваемого на вход, activation=»relu» — функция активации выходного нейрона , некая функция -фильтр
Ну и в завершении построения нашей простейшей сетки , укажем слой с выходными параметрами , так как наших категорий 10 ( 10 рукописных цифр различных вариаций ) то и выходных нейронов будет 10 , это некая замыкающая часть нашей сетки.
# model.add(Dense(10, activation="softmax"))
и снова добавляем наш тип слоя ( прямого распространения) , но уже с 10 выходными параметрами 0 1 2 3 4 5 6 7 8 9. В этот раз функция активации softmax , которая приведет сумму всех значений выходных нейронов , равной 1 .
В этом уроке мы научились создавать нашу простейшую сетку с 800 нейронами.

Great content! Super high-quality! Keep it up! 🙂
Incredible, this is a good webpage.
I like this site — its so usefull and helpfull.
Great looking website. Presume you did a great deal of your own html coding.