Курс 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. Заказ карты Тинькофф Black
  3. Форматирование строк в Python
  4. Использование type hints
  5. Считывание бинарного файла в Python
  6. Повторение элементов списков
  7. Создание списка через итерацию
  8. Lambda Functions in Python
  9. Поиск наиболее частого элемента списке
  10. Извлечение аудио из видео
  11. Объединение кортежей в Python
  12. Вставка переменных в шаблоны Flask
  13. Python groupby() из itertools: работа с повторяющимися элементами
  14. Dict Comprehension в Python
  15. Получение текущей директории
  16. Итераторы с потерямиZIP
  17. Генераторные функции в Python
  18. Numpy: использование Ellipsis
  19. IPython и Jupyter Notebook: руководство
  20. Вычисление разности множеств в Python
  21. Улучшение читаемости кода в Python
  22. Тестирование с unittest
  23. Эффективная конкатенация строк с использованием join()
  24. Форматирование объектов с модулем pprint
  25. Переопределение метода __rshift__
  26. Сложение матриц в NumPy
  27. Работа с кортежами в Python
  28. Символ подчеркивания в Python
  29. Функция zip() в Python
  30. Запуск Python из интерпретатора
  31. Enum в Python
  32. Работа с CSV в Python
  33. Основы работы со строками в Python
  34. Создание namedtuple из словаря
  35. Разделение строк в Python
  36. Сортировка в Python
  37. Модуль future Python
  38. Переопределение унарных операторов
  39. Переопределение метода __eq__
  40. Разделение строки на подстроки в Python
  41. Построение графиков в Matplotlib
  42. Проверка кортежей.
  43. Удаление эмодзи с помощью pandas
  44. Сохранение Unicode в JSON
  45. Преобразование данных в Python
  46. Проверка дублей в списке.

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