Вы изучили теории, вы понимаете, как это работает, и вы знаете, что хотите делать, единственное, что осталось, — это программная часть, реализация вашей идеи.

Если вы знаете Python, это потрясающе! в противном случае вы должны изучить его, чтобы следовать этой статье.

Мы построим классификацию изображений, используя набор данных fashion MNIST.

Чтобы больше сосредоточиться на кодировании, мы будем использовать Google colab.

Первое, что нужно сделать, это загрузить наборы данных, а затем импортировать наши библиотеки, как и любой другой проект Python. Новым здесь является функция enable_eager_execution.
Eager Execution — отличный подход в TensorFlow (TF) для создания моделей глубокого обучения с нуля. Это позволяет строить модели-прототипы без использования графического подхода, то есть нет необходимости запускать графовую сессию для выполнения тензорных вычислений. Чтобы обеспечить более быструю отладку, и я мог проверять каждую строку вычислений на лету без необходимости оборачивать вычисления в сеанс графа.

Мы загружаем наши наборы данных в память, и здесь у нас есть выбор: добавлять часть валидации или нет, поскольку исходные наборы данных предоставляют только поезд и тест данные, если вы хотите пропустить их, вы можете раскомментировать 5-ю строку и прокомментировать как 7-ю, так и 8-ю строку, иначе оставьте все как есть, поскольку у нас нет специальной части для проверки, мы сделаем ее, разбивая тренировочный набор на 55000–5000 (вы можете выбрать другие диапазоны), наконец, мы устанавливаем наши метки, имейте в виду, что порядок очень важен!.

Чтобы запутаться с числом, мы назначим им переменные, если вы пропустили часть проверки, вы можете удалить 3-ю строку и сделать:

num_train_examples = metadata.splits[‘train’].num_examples

Теперь мы нормализуем наши данные, уменьшив диапазон от 0–255 до 0–1.

Затем мы строим схему нашей нейронной сети, используя сверточную нейронную сеть, пакетную нормализацию и максимальное объединение, поскольку для активной функции у нас есть relu и softmax, причина, по которой у нас было 10 в последнем слое, заключается в том, что у нас есть 10 категорий, резюме Функция отобразит сводку схемы и количество обучаемых и необучаемых параметров.

Средство компиляции настраивает модель для обучения, настройки оптимизатора и алгоритмов потерь, в каталоге журнала будут храниться результаты модели, которые будут использоваться в разделе проверки статистики, собранном из обратного вызова tensorboard.

Обучение модели и функция подгонки обучают модель для фиксированного количества эпох (итераций в наборе данных) и возвращают объект History для построения графика результатов.

Мы обучаем нашу модель, передавая все переменные определения

Мы наносим наши окончательные результаты

Наконец, мы сохраняем модель, преобразуем ее в тип tflite и проверяем ее метаданные.

Вот и все, теперь вы можете использовать tflite, например, в своем приложении для Android или даже экспортировать свою модель для дальнейших улучшений.