Курс 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. Работа с модулем random
  2. Метод ifloordiv для пользовательских классов
  3. Сложение матриц в NumPy
  4. Импорт модулей в Python 3.12
  5. Сериализация объектов в Python
  6. Анонимные функции в Python
  7. Оператор space-invader
  8. Работа со слайсами
  9. Замер времени выполнения кода
  10. Декораторы в Python
  11. Избегайте ошибку FileNotFoundError
  12. Открытие и запись файлов
  13. Принципы программирования
  14. Проверка кортежей.
  15. Функции высшего порядка в Python
  16. Переменная с нижним подчеркиванием
  17. Получение списка файлов в директории с использованием os
  18. Генератор чисел Фибоначчи
  19. Обработка исключений в Python
  20. Лямбда-функции в Python
  21. Методы shutil для работы с файлами
  22. Список переменных в Python
  23. Активация Matplotlib в Jupyter
  24. Удаление файлов с shutil.os.remove()
  25. Кортежи в Python: особенности и преимущества
  26. Работа с каталогами в Python
  27. f-строки в формате строк
  28. Работа с изменяемыми списками
  29. Оператор == в Python
  30. Конкатенация строковых литералов
  31. Разность множеств
  32. Встраивание HTML в Jupyter Notebook
  33. Проектирование Singleton с метаклассом
  34. Сравнение строк в Python
  35. Проверка существования переменной с оператором :=
  36. Автоматизация скриптов на AWS Lightsail.
  37. Модуль sys: основы
  38. Нахождение самого длинного слова в списке с помощью max
  39. Базовые объекты Python
  40. Работа с NumPy.linalg
  41. Удаление специальных символов
  42. Декораторы в Python
  43. Python: отличительная особенность — отступы
  44. Конкатенация строк с join() в Python
  45. PEP-401: оператор
  46. Lambda-функция в Python: использование с map() и sum()
  47. Транспонирование 2D-массива с помощью zip

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