Курс Python → Генератор данных в Keras

Генератор данных из библиотеки Keras представляет собой специальный класс, который на лету создает данные для обучения нейронной сети. Это особенно полезно, когда у вас большой объем данных, который не помещается в оперативной памяти. Вместо того чтобы загружать все данные сразу, генератор создает пакеты данных по мере необходимости.

Для создания генератора данных в Keras необходимо определить функцию-генератор, которая будет возвращать пакеты данных. Эта функция должна содержать цикл, который будет генерировать пакеты данных и возвращать их. Важно учесть, что каждый пакет данных должен иметь одинаковый размер, чтобы модель могла правильно обучаться.


def data_generator(data, labels, batch_size):
    while True:
        batch_indices = np.random.choice(len(data), batch_size)
        batch_data = data[batch_indices]
        batch_labels = labels[batch_indices]
        yield batch_data, batch_labels

После того, как функция-генератор определена, ее можно передать в метод fit() модели Keras в качестве параметра generator. Таким образом, при обучении модели данные будут поступать из генератора, а не из памяти. Это позволяет эффективно использовать память и обрабатывать большие объемы данных.

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

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Применение функции к списку
  2. Проектирование Singleton с метаклассом
  3. Вызов внешних программ в Python с помощью sh
  4. Именованные срезы в Python
  5. Управление виртуальными окружениями в Python
  6. Метод invert для побитового отрицания
  7. Извлечение данных из JSON
  8. Абстракции словарей и множеств в Python
  9. Разделение строки с помощью re.split()
  10. Оптимизация методов в Python 3.7
  11. Анализ кода — Python
  12. Изменение списка срезами
  13. Склеивание строк через метод join()
  14. Отрицательные индексы списков
  15. Тестирование функции сложения
  16. Получение ID процесса
  17. Уникальные значения из списка
  18. Модуль subprocess: запуск внешних команд
  19. Получение комбинаций в Python
  20. Переопределение метода __lshift__
  21. Просмотр внешних файлов в %pycat
  22. Вычисление разности множеств в Python
  23. Вакансии в Nebius
  24. Вычисление логарифмов в Python
  25. Секреты Python
  26. Проверка индексов коллекции
  27. Генерация строк с .join()
  28. Оператор in для проверки наличия элемента
  29. Основы Python за 14 дней
  30. Импорт в Python: список all
  31. Переменная Шредингера
  32. Переворот строки с помощью срезов
  33. Прокачанный трейсинг ошибок
  34. Библиотека funcy: удобные утилиты
  35. Ошибка NotImplemented в Python
  36. Замена текста в Python
  37. Отладка кода
  38. Роль object и type в Python
  39. Блок else в циклах.
  40. Создание Radio кнопок в tkinter
  41. Конкатенация строковых литералов
  42. Структуры данных в Python
  43. Создание вложенных циклов for
  44. Копирование списков в Python

Marketello читают маркетологи из крутых компаний