Курс 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. Переменные класса и экземпляра
  3. List Comprehension Tutorial
  4. Основы работы со строками в Python
  5. Срезы в Python
  6. Оптимизация памяти с slots
  7. Упрощение условных выражений с тернарным оператором
  8. Оператор == в Python
  9. Игра «Виселица» на Python
  10. Создание уникального множества
  11. Сортировка элементов с OrderedDict
  12. Работа с изменяемыми коллекциями
  13. Работа с deque в Python
  14. Абстракции словарей и множеств в Python
  15. Подсчет частотности элементов в Python
  16. Визуализация пропусков данных
  17. Форматирование данных с pprint
  18. Измерение времени выполнения кода
  19. Расширение операции побитового «и» в Python
  20. Измерение времени выполнения кода
  21. Обработка исключений в Python 3
  22. Импорт модулей и пакетов в Python
  23. Создание Telegram-бота на Python
  24. Генераторы в Python
  25. Копирование файлов с shutil()
  26. Проверка класса объекта
  27. Работа с файлами в Python
  28. Подсказки при вводе данных в Python
  29. Работа с классами данных
  30. Метод join() с набором
  31. Определение размера папок в Python
  32. Комплексные числа в Python
  33. Объединение словарей в Python 3.5+
  34. Активация Matplotlib в Jupyter
  35. Метод bool() в Python
  36. Частичное совпадение пользовательского ввода в Python 3.10
  37. Преобразование списка в словарь через генератор
  38. Оператор Walrus: правильное использование
  39. Поиск с помощью регулярных выражений
  40. Отправка HTTP-запросов с User-Agent
  41. Генераторы словарей и множеств
  42. Принципы SRP и OCP
  43. Работа с комплексными числами
  44. Удаление символа из строки
  45. Генераторные выражения и islice.
  46. Группировка элементов в словарь
  47. Округление в Python

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