Съдържание и теми, включени в курса
Введение
- Введение в TensorFlow и глубокое обучение
- Сценарии использования и применения TensorFlow
- Экосистема и инструменты TensorFlow
- Рабочие процессы машинного и глубокого обучения
- Обзор целей курса и практических упражнений
TensorFlow 2.x против предыдущих версий — Что нового
- Ключевые различия между TensorFlow 1.x и 2.x
- Немедленное выполнение (Eager execution)
- Упрощенные API и улучшенная удобство использования
- Изменения в конструировании моделей и обучении
- Введение в Keras как высокоуровневое API
- Рассмотрения миграции для существующих приложений TensorFlow
- Лучшие практики TensorFlow 2.x
Настройка TensorFlow 2.x
- Установка TensorFlow
- Настройка среды Python
- Проверка установки TensorFlow
- Установка и управление необходимыми зависимостями
- Настройка окружений CPU и GPU
- Использование TensorFlow в Jupyter notebooks
- Базовые команды и операции TensorFlow
- Устранение неполадок в установке и конфигурации
Обзор функций и архитектуры TensorFlow 2.x
- Архитектура и основные компоненты TensorFlow
- Тензоры и тензорные операции
- Переменные и константы
- Вычислительные графы и немедленное выполнение
- Автоматическая дифференциация
- API и модули TensorFlow
- Интеграция с Keras
- Конвейеры данных с
tf.data - Сериализация моделей и TensorFlow SavedModel
- Экосистема TensorFlow и рабочий процесс разработки
Как работают нейронные сети
- Основы искусственных нейронных сетей
- Нейроны, слои и архитектуры сетей
- Функции активации
- Прямая обратная связь (Forward propagation)
- Функции потерь
- Обратное распространение (Backpropagation)
- Спуск по градиенту и оптимизация
- Скорости обучения и стратегии оптимизации
- Переподгонка и недообучение
- Техники регуляризации
- Обучающие, валидационные и тестовые наборы данных
Использование TensorFlow 2.x для создания моделей глубокого обучения
- Создание тензоров и переменных
- Построение нейронных сетей с помощью Keras
- Последовательные и функциональные API моделей
- Определение собственных моделей и слоев
- Настройка оптимизаторов
- Выбор подходящих функций потерь
- Обучение моделей с помощью
fit() - Собственные циклы обучения
- Обратные вызовы (Callbacks) и мониторинг обучения
- Управление контрольными точками моделей
Анализ данных
- Понимание наборов данных для машинного обучения
- Исследование структурированных и неструктурированных данных
- Визуализация данных
- Выявление закономерностей и аномалий
- Обработка отсутствующих и несовместимых данных
- Разделение данных на обучающие, валидационные и тестовые наборы
- Выбор релевантных признаков
- Подготовка наборов данных для моделей TensorFlow
Предварительная обработка данных
- Нормализация и стандартизация данных
- Кодирование категориальных данных
- Обработка отсутствующих значений
- Масштабирование признаков
- Предварительная обработка изображений
- Предварительная обработка текста
- Аугментация данных
- Построение эффективных конвейеров ввода
- Использование
tf.data - Групповая обработка (Batching), перемешивание (Shuffling), кэширование (Caching) и предварительная загрузка (Prefetching)
- Подготовка данных для обучения модели
Построение модели
- Выбор подходящей архитектуры нейронной сети
- Определение входов и выходов модели
- Создание плотных нейронных сетей
- Выбор функций активации
- Настройка модели для обучения
- Выбор оптимизаторов и функций потерь
- Обучение и валидация модели
- Мониторинг метрик обучения
- Улучшение производительности модели
- Предотвращение переподгонки
- Реализация регуляризации и dropout
Реализация современного классификатора изображений
- Основы классификации изображений
- Подготовка наборов данных изображений
- Нормализация и аугментация изображений
- Свёрточные нейронные сети
- Слой свертки и слой усреднения (Pooling)
- Проектирование архитектуры классификации изображений
- Переносное обучение (Transfer learning)
- Использование преобученных моделей
- Доработка (Fine-tuning) преобученных сетей
- Построение продвинутого классификатора изображений
- Оценка производительности классификации
Обучение модели
- Настройка параметров обучения
- Размер пакета (Batch size) и эпохи
- Выбор оптимизатора
- Планирование скорости обучения
- Обратные вызовы для обучения
- Ранняя остановка (Early stopping)
- Создание контрольных точек моделей
- Мониторинг прогресса обучения
- Обнаружение переподгонки
- Улучшение производительности обучения
- Рассмотрения распределенного обучения
Обучение на GPU против TPU
- Архитектуры CPU, GPU и TPU
- Преимущества аппаратного ускорения
- Настройка TensorFlow для обучения на GPU
- Понимание обучения на TPU
- Выбор оборудования для различных задач
- Перемещение вычислений между устройствами
- Управление памятью и вычислительными ресурсами
- Сравнение производительности обучения
- Стратегии распределенного и ускоренного обучения
Оценка модели
- Выбор подходящих метрик оценки
- Точность, прецизионность, полнота (recall) и F1-мера
- Метрики оценки регрессии
- Матрицы ошибок (Confusion matrices)
- Стратегии валидации
- Оценка моделей классификации
- Оценка обобщающей способности модели
- Выявление слабых мест модели
- Сравнение различных конфигураций модели
Построение предсказаний
- Использование обученных моделей для вывода (inference)
- Подготовка новых входных данных
- Выполнение пакетных и индивидуальных предсказаний
- Интерпретация выходов модели
- Вероятности классификации
- Предсказания регрессии
- Построение рабочего процесса вывода
- Обработка неизвестных данных
- Управление конвейерами предсказаний
Оценка предсказаний
- Анализ качества предсказаний
- Сравнение предсказаний с ожидаемыми результатами
- Идентификация ложноположительных и ложноотрицательных результатов
- Анализ ошибок
- Оценка уверенности модели
- Визуализация результатов предсказаний
- Обнаружение смещения в данных и предсказаниях
- Улучшение производительности модели на основе анализа предсказаний
Отладка модели
- Идентификация распространенных проблем обучения
- Диагностика неверных предсказаний
- Отладка конвейеров данных
- Исследование поведения потерь и метрик
- Обнаружение взрывающих и исчезающих градиентов
- Диагностика переподгонки и недообучения
- Инспекция слоев и выходов модели
- Использование инструментов отладки и профилирования TensorFlow
- Улучшение стабильности и производительности модели
Сохранение модели
- Сохранение обученных моделей
- Формат TensorFlow SavedModel
- Сохранение и восстановление весов модели
- Сохранение архитектуры и конфигурации модели
- Загрузка моделей для вывода
- Версионирование моделей
- Экспорт моделей для развёртывания
- Управление артефактами модели
- Подготовка моделей для производственных сред
Развертывание модели в облаке
- Введение в облачное развертывание моделей
- Подготовка моделей TensorFlow для производства
- Обслуживание моделей через API
- Концепции обслуживания моделей
- Контейнеризация приложений TensorFlow
- Облачный вывод
- Масштабирование нагрузок обслуживания моделей
- Мониторинг развернутых моделей
- Управление версиями моделей
- Рассмотрения развертывания в производстве
Развертывание модели на мобильном устройстве
- Сложности мобильного машинного обучения
- TensorFlow Lite
- Конвертация моделей TensorFlow для мобильного развёртывания
- Оптимизация моделей и уменьшение их размера
- Квантование
- Выполнение вывода на мобильных устройствах
- Управление ресурсами мобильных устройств
- Интеграция моделей в мобильные приложения
- Тестирование производительности мобильного вывода
Развертывание модели на встроенной системе (IoT)
- Машинное обучение на встроенных устройствах
- TensorFlow Lite для встроенных приложений
- Ограничения ресурсов и оптимизация
- Уменьшение размера модели и вычислительных требований
- Вывод на периферии (Edge inference)
- Обработка данных датчиков и данных в реальном времени
- Выполнение предсказаний локально
- Учет энергопотребления и памяти
- Интеграция моделей TensorFlow в рабочие процессы IoT
- Тестирование и мониторинг развертывания на периферии
Интеграция модели с разными языками
- Взаимодейемость моделей TensorFlow
- Обслуживание моделей через API
- Использование моделей TensorFlow из разных сред программирования
- Интеграция моделей на базе Python
- Интеграция моделей в веб-приложения
- Вывод моделей через сервисы на основе REST
- Интеграция TensorFlow в существующие приложения
- Обмен данными и сериализация
- Рассмотрения интеграции в производстве
Устранение неполадок
- Диагностика проблем установки TensorFlow
- Устранение неполадок при ошибках построения моделей
- Отладка проблем предварительной обработки данных
- Устранение сбоев обучения
- Исследование проблем конфигурации GPU и TPU
- Диагностика проблем памяти и производительности
- Устранение неполадок при загрузке и сохранении моделей
- Отладка проблем развёртывания
- Практические упражнения по устранению неполадок
Резюме и заключение
- Повторение концепций TensorFlow 2.x
- Повторение рабочих процессов нейронных сетей и глубокого обучения
- Повторение подготовки данных и разработки моделей
- Повторение классификации изображений
- Повторение методов обучения и оценки
- Повторение отладки и оптимизации моделей
- Повторение развертывания в облаке, на мобильных устройствах и IoT
- Лучшие практики для разработки в TensorFlow
- Финальное практическое упражнение
- Вопросы и обсуждение
Изисквания
- Опыт программирования на Python.
- Опыт работы с командной строкой Linux.
Целевая аудитория
- Разработчики
- Специалисты по данным
Отзиви от участници (4)
Обучението беше организирано и добре планирано, аз излязох от него с систематизирано знание и добра наглед на темите, които разглеждахме.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Курс - Deep Learning with TensorFlow 2
Машинен превод
Знанията на тренера и факта, че те бяха много приближаващи. Те лесно предаваха важни знания.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Курс - Deep Learning with TensorFlow 2
Машинен превод
Ми ми хареса, че обхванахме и основите
Tomasz - Samsung Electronics Polska Sp. z o.o.
Курс - Deep Learning with TensorFlow 2
Машинен превод
Тренерът обясни материалите добре и беше ангажиращ в продължение на цялото време. Той спираше, за да зададе въпроси, и ни позволяваше да намерим собствени решения по време на някои практически занятия. Той също така адаптираше курса добре към нашите нужди.
Robert Baker
Курс - Deep Learning with TensorFlow 2.0
Машинен превод