Программируем с PyTorch: Создание приложений глубокого обучения

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

PyTorch — это фреймворк от Facebook с открытым исходным кодом. Узнайте, как использовать его для создания собственных нейронных сетей. Ян Пойнтер поможет разобраться, как настроить PyTorch в облачной среде, как создавать нейронные архитектуры, облегчающие работу с изображениями, звуком и текстом. Книга охватывает важнейшие концепции применения переноса обучения, модели отладки и использования библиотеки PyTorch. Вы научитесь: • Внедрять модели глубокого обучения в работу. • Использовать PyTorch в масштабных проектах. • Применять перенос обучения. • Использовать PyTorch torchaudio и сверточные модели для классификации аудиоданных. • Применять самые современные методы NLP, используя модель, обученную на «Википедии». • Выполнять отладку моделей PyTorch с TensorBoard и флеймграф. • Развертывать приложения PyTorch в контейнерах. «PyTorch –– это одна из самых быстрорастущих библиотек глубокого обучения, соперничающая с гигантом Google — TensorFlow — практически на равных. Книга обязательно должна стать настольной для каждого программиста и разработчика алгоритмов машинного обучения, которые хотят использовать PyTorch в своей работе». Анкур Патель, вице-президент направления Data Science в компании 7Park Data. Ян Пойнтер (Ian Pointer) — дата-инженер, создает решения машинного обучения для клиентов из списка Fortune 100. В настоящее время работает в Lucidworks, где занимается разработкой NLP-приложений и проектированием.

Author(s): Ян Пойнтер
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2020

Language: Russian
Commentary: Vector PDF
Pages: 256
City: СПб.
Tags: Cloud Computing;Machine Learning;Neural Networks;Deep Learning;Debugging;Adversarial Machine Learning;Python;Convolutional Neural Networks;Recurrent Neural Networks;Generative Adversarial Networks;Predictive Models;Transfer Learning;Deployment;Application Development;Jupyter;Kubernetes;Long Short-Term Memory;Text Classification;PyTorch;Image Classification;Inception Networks;Activation Functions;AlexNet;GoogLeNet;ResNet;Loss Functions;Audio;VGGNet;Google Colaboratory;Flame Graphs;TorchScript

Краткое содержание
Предисловие
Глубокое обучение в современном мире
Что такое глубокое обучение и нужна ли докторская степень, чтобы понять его?
PyTorch
А как насчет TensorFlow?
Типографские соглашения
Использование примеров кода
Благодарности
От издательства
Глава 1. Начало работы с PyTorch
Сборка компьютера для глубокого обучения
Графический процессор
Центральный процессор / материнская плата
Оперативная память
Хранилище
Глубокое обучение в облаке
Облачный сервис Google Colaboratory
Облачные провайдеры
Какой облачный провайдер использовать?
Использование Jupyter Notebook
Установка PyTorch с нуля
Скачивание CUDA
Anaconda
И наконец, PyTorch! (и Jupyter Notebook)
Тензоры
Тензорные операции
Транслирование тензора
Заключение
Дополнительная информация
Глава 2. Классификация изображений с помощью PyTorch
Проблема классификации
Стандартные трудности
Но сначала данные
PyTorch и загрузчики данных
Создание обучающего набора данных
Валидация и контрольные наборы данных
И наконец, нейронная сеть!
Функции активации
Создание нейронной сети
Функции потерь
Оптимизация
Обучение
Работа на GPU
Складываем все вместе
Прогнозирование
Сохранение модели
Заключение
Дополнительные источники
Глава 3. Сверточные нейронные сети
Первая сверточная модель
Свертки
Субдискретизация
Прореживание, или дропаут
История архитектур CNN
AlexNet
Inception/GoogLeNet
VGG
ResNet
Другие архитектуры тоже доступны!
Использование предварительно обученных моделей в PyTorch
Изучение структуры модели
Пакетная нормализация (BatchNorm)
Какую модель мне использовать?
Необходимые покупки: PyTorch Hub
Заключение
Дополнительные источники
Глава 4. Перенос обучения
и другие фокусы
Перенос обучения с помощью ResNet
Вычисление скорости обучения
Дифференциальная скорость обучения
Аугментация данных
Преобразования Torchvision
Цветовое пространство и лямбда-преобразование
Пользовательские классы преобразования
Начните с меньшего и получите больше!
Ансамбли
Заключение
Дополнительные источники
Глава 5. Классификация текста
Рекуррентные нейронные сети
Сети с долгой краткосрочной памятью
Управляемые рекуррентные блоки
biLSTM
Вложения (Embeddings)
torchtext
Получение наших данных: твиты!
Определение полей
Построение словаря
Создание модели
Обновление цикла обучения
Классификация твитов
Аугментация данных
Случайная вставка
Случайное удаление
Случайная перестановка
Обратный перевод
Аугментация и torchtext
Перенос обучения?
Заключение
Дополнительные источники
Глава 6. Путешествие в мир звуков
Звук
Набор данных ESC-50
Получение набора данных
Воспроизведение аудио в Jupyter
Исследуя данные ESC-50
SoX и LibROSA
torchaudio
Создание набора данных ESC-50
Модель CNN для набора данных ESC-50
Частота — моя вселенная
Мел-спектрограммы
Новый набор данных
Появление ResNet
Определение скорости обучения
Аугментация аудиоданных
Преобразования torchaudio
Эффекты SoX
SpecAugment
Новые эксперименты
Заключение
Дополнительные источники
Глава 7. Отладка моделей PyTorch
Три часа ночи. Что делают ваши данные?
TensorBoard
Установка TensorBoard
Отправка данных в TensorBoard
Хуки PyTorch
Построение графика среднего и стандартного отклонения
Карты активаций класса
Флеймграфы
Установка py-spy
Чтение флеймграфов
Решение задачи медленного преобразования
Отладка проблем с графическим процессором
Проверка графического процессора
Градиентное создание контрольных точек
Заключение
Дополнительные источники
Глава 8. PyTorch в рабочей среде
Обслуживание модели
Построение сервиса Flask
Настройка параметров модели
Сборка контейнера Docker
Локальное и облачное хранилище
Логирование и телеметрия
Развертывание в Kubernetes
Установка на Google Kubernetes Engine
Создание кластера k8s
Сервисы масштабирования
Обновления и очистка
TorchScript
Трассировка
Выполнение скриптов
Ограничения TorchScript
Работа с libTorch
Получение libTorch и Hello World
Импорт модели TorchScript
Заключение
Дополнительные источники
Глава 9. PyTorch на практике
Аугментация данных: смешанная и сглаженная
mixup
Сглаживание маркировок
Компьютер, улучшай!
Введение в сверхвысокое разрешение
Введение в GAN
Фальсификатор и критик
Обучение GAN
Схлопывание мод распределения
ESRGAN
Запуск ESRGAN
Новые приключения в распознавании образов
Обнаружение объектов
Faster R-CNN и Mask R-CNN
Состязательные семплы
Black-Box-атаки
Защита от состязательных атак
Больше, чем кажется: архитектура Transformer
Механизмы внимания
Все, что нужно, — это внимание
BERT
FastBERT
GPT-2
Генерация текста с помощью GPT-2
ULMFiT
Что выбрать?
Заключение
Дополнительные источники
Об авторе
Об обложке