120 практических задач. Джейд Картер
Чтение книги онлайн.

Читать онлайн книгу 120 практических задач - Джейд Картер страница 5

Название: 120 практических задач

Автор: Джейд Картер

Издательство: Автор

Жанр:

Серия:

isbn:

isbn:

СКАЧАТЬ потерь и метрики для оценки производительности модели.

      – Особенности: Оптимизаторы, такие как Adam или SGD, используются для минимизации функции потерь, а метрики, такие как точность, используются для измерения эффективности модели на тестовых данных.

      Свёрточные нейронные сети являются основой для решения задач компьютерного зрения, обеспечивая эффективное извлечение и классификацию признаков из изображений. Эффективность этих сетей подтверждается их успешным применением в широком спектре приложений, от распознавания объектов до автоматического описание изображений.

      4. Построение более сложной CNN с использованием нескольких слоев

      – Задача: Углубленная классификация изображений.

      Для углубленной классификации изображений с использованием более сложной сверточной нейронной сети (CNN) важно использовать несколько слоев, включая сверточные слои, слои подвыборки (pooling), а также полносвязные слои. Рассмотрим пример такой сети на языке Python с использованием библиотеки TensorFlow и Keras.

      Шаги:

      1. Импорт библиотек и модулей.

      2. Подготовка данных.

      3. Построение модели CNN.

      4. Компиляция и обучение модели.

      5. Оценка и тестирование модели.

      Пример кода:

      ```python

      import tensorflow as tf

      from tensorflow.keras import datasets, layers, models

      import matplotlib.pyplot as plt

      # Шаг 1: Импорт библиотек

      import tensorflow as tf

      from tensorflow.keras import datasets, layers, models

      # Шаг 2: Подготовка данных

      # Загрузка и нормализация данных CIFAR-10

      (train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()

      train_images, test_images = train_images / 255.0, test_images / 255.0

      # Шаг 3: Построение модели

      model = models.Sequential()

      # Первый сверточный слой

      model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))

      model.add(layers.MaxPooling2D((2, 2)))

      model.add(layers.Conv2D(64, (3, 3), activation='relu'))

      model.add(layers.MaxPooling2D((2, 2)))

      model.add(layers.Conv2D(64, (3, 3), activation='relu'))

      # Добавление полносвязных слоев

      model.add(layers.Flatten())

      model.add(layers.Dense(64, activation='relu'))

      model.add(layers.Dense(10))

      # Шаг 4: Компиляция и обучение модели

      model.compile(optimizer='adam',

      loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),

      metrics=['accuracy'])

      history = model.fit(train_images, train_labels, epochs=10,

      validation_data=(test_images, test_labels))

      # Шаг 5: Оценка модели

      test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)

      print(f'\nТочность на тестовых данных: {test_acc}')

      # Визуализация процесса обучения

      plt.plot(history.history['accuracy'], label='Точность на обучающем наборе')

      plt.plot(history.history['val_accuracy'], label='Точность на валидационном наборе')

      plt.xlabel('Эпоха')

      plt.ylabel('Точность')

      plt.legend(loc='lower right')

      plt.show()

      ```

      Пояснение:

      1. Импорт библиотек: Загружаются необходимые библиотеки TensorFlow и Keras для построения и обучения модели.

      2. СКАЧАТЬ