6
Оглавление
Предисловие.........................................................................................................14
Кому стоит прочитать эту книгу.........................................................................14
Структура издания.............................................................................................15
Примеры кода ...................................................................................................17
Условные обозначения ......................................................................................18
Благодарности......................................................................................................19
Об авторе .............................................................................................................23
Часть I. Введение в прагматичный ИИ
Глава 1. Что такое ИИ.........................................................................................26
Функциональное введение в Python...................................................................27
Процедурные операторы............................................................................28
Вывод результатов.....................................................................................28
Создание и использование переменных .....................................................28
Множественные процедурные операторы...................................................29
Сложение чисел .........................................................................................29
Склеивание строк.......................................................................................29
Сложные операторы...................................................................................29
Строки и форматирование строк ................................................................30
Сложение и вычитание чисел.....................................................................33
Умножение десятичных чисел ....................................................................33
Использование показательных функций.....................................................33
Оглавление
7
Преобразование между различными числовыми типами данных ................34
Округление ................................................................................................34
Структуры данных......................................................................................34
Словари .....................................................................................................35
Списки .......................................................................................................36
Функции.....................................................................................................36
Использование управляющих конструкций ........................................................45
Циклы for ...................................................................................................45
Циклы while................................................................................................46
Операторы if/else .......................................................................................47
Промежуточные вопросы............................................................................49
Резюме ..............................................................................................................52
Глава 2. ИИ и инструменты машинного обучения ................................................55
Экосистема исследования данных языка Python: IPython, Pandas, NumPy,
блокнот Jupiter, Sklearn......................................................................................56
Язык R, RStudio, Shiny и ggplot...........................................................................57
Электронные таблицы: Excel и Google Sheets.....................................................58
Разработка облачных приложений ИИ с помощью веб-сервисов Amazon ...........58
Интеграция разработки и эксплуатации на AWS ................................................59
Непрерывная поставка...............................................................................59
Создание среды разработки ПО для AWS ...................................................60
Настройки проекта Python для AWS............................................................63
Интеграция с блокнотом Jupiter..................................................................67
Интеграция утилит командной строки ........................................................70
Интеграция AWS CodePipeline .....................................................................74
Основные настройки Docker для исследования данных......................................79
Другие сервисы сборки: Jenkins, CircleCI и Travis ...............................................80
Резюме ..............................................................................................................80
Глава 3. Спартанский жизненный цикл ИИ..........................................................82
Прагматическая петля обратной связи при промышленной эксплуатации..........83
AWS SageMaker..................................................................................................87
Петля обратной связи AWS Glue ........................................................................89
AWS Batch .........................................................................................................93
Петли обратной связи на основе Docker ............................................................95
Резюме ..............................................................................................................97
Оглавление
8
Часть II. ИИ в облаке
Глава 4. Разработка ИИ в облачной среде с помощью облачной
платформы Google.............................................................................................. 100
Обзор GCP ....................................................................................................... 101
Colaboratory..................................................................................................... 102
Datalab ............................................................................................................ 105
Расширяем возможности Datalab с помощью Docker и реестра
контейнеров Google.................................................................................. 105
Запуск полнофункциональных машин с помощью Datalab ........................ 106
BigQuery .......................................................................................................... 108
Облачные сервисы ИИ компании Google .......................................................... 111
Тензорные процессоры Google и TensorFlow .................................................... 115
Резюме ............................................................................................................ 118
Глава 5. Разработка ИИ в облачной среде с помощью веб-сервисов Amazon ..... 119
Создание решений дополненной и виртуальной реальностей
на основе AWS................................................................................................. 122
Компьютерное зрение: создание конвейеров AR/VR
с помощью EFS и Flask.............................................................................. 122
Создание конвейера инженерии данных с помощью EFS, Flask
и Pandas................................................................................................... 125
Резюме ............................................................................................................ 141
Часть III. Создание реальных приложений ИИ с нуля
Глава 6. Прогноз популярности в соцсетях в НБА.............................................. 144
Постановка задачи .......................................................................................... 145
Сбор данных ............................................................................................ 145
Получение данных из труднодоступных источников ........................................ 168
Получение данных о просмотрах страниц «Википедии» спортсменов ....... 168
Получение данных о вовлеченности в Twitter спортсменов....................... 173
Изучаем данные об игроках НБА .............................................................. 176
Машинное обучение без учителя для данных об игроках НБА ......................... 181
Построение фасетного графика по игрокам НБА на языке R..................... 182
Собираем все воедино: команды, игроков, социальный авторитет
и рекламные отчисления.......................................................................... 183
Дальнейшие прагматичные шаги и учебные материалы .................................. 187
Резюме ............................................................................................................ 187
Оглавление
9
Глава 7. Создание интеллектуального бота Slack в AWS.................................... 188
Создание бота ................................................................................................. 188
Преобразование библиотеки в утилиту командной строки............................... 189
Выводим бот на новый уровень с помощью сервиса AWS Step Functions .......... 191
Настройка учетных данных IAM....................................................................... 193
Завершение создания пошаговой функции ...................................................... 203
Резюме ............................................................................................................ 205
Глава 8. Извлечение полезной информации об управлении проектами
из учетной записи GitHub-организации ............................................................... 206
Обзор проблем, возникающих при управлении программными проектами....... 206
Создание исходного каркаса проекта исследования данных ............................ 209
Сбор и преобразование данных ....................................................................... 211
Обработка GitHub-организации в целом........................................................... 213
Формирование предметно-ориентированной статистики.................................. 214
Подключение проекта по исследованию данных к интерфейсу
командной строки............................................................................................ 216
Исследование GitHub-организаций с помощью блокнота Jupiter....................... 218
Изучаем метаданные файлов проекта CPython ................................................ 221
Изучаем файлы, удаленные из проекта CPython .............................................. 225
Развертывание проекта в каталоге пакетов Python.......................................... 228
Резюме ............................................................................................................ 231
Глава 9. Динамическая оптимизация виртуальных узлов EC2 в AWS ................. 232
Выполнение заданий на платформе AWS......................................................... 232
Спотовые виртуальные узлы .................................................................... 232
Теория спотовых виртуальных узлов и история цен на них ...................... 233
Создание утилиты и блокнота для сравнения цен на спотовые
виртуальные узлы на основе машинного обучения................................... 236
Написание модуля запуска спотового виртуального узла ......................... 243
Написание более сложного модуля запуска для спотового
виртуального узла.................................................................................... 250
Резюме ............................................................................................................ 252
Глава 10. Недвижимость ................................................................................. 254
Исследование цен на недвижимость в США ..................................................... 254
Интерактивная визуализация данных в Python ................................................ 257
Кластеризация по порядку размера и цене...................................................... 260
Резюме ............................................................................................................ 269
Оглавление
Глава 11. Промышленная эксплуатация ИИ для пользовательского контента.... 270
Получившее премию Netflix решение не было внедрено в промышленную
эксплуатацию .................................................................................................. 271
Ключевые понятия рекомендательных систем ................................................. 272
Использование фреймворка Surprise в языке Python........................................ 273
Облачные решения для создания рекомендательных систем ........................... 276
Проблемы, возникающие на практике при работе с рекомендациями.............. 277
Облачный NLP и анализ тональности высказываний........................................ 282
NLP на платформе Azure........................................................................... 283
NLP на платформе GCP............................................................................. 286
Изучаем API сущностей ............................................................................ 287
Бессерверный конвейер ИИ промышленного уровня для NLP
на платформе AWS................................................................................... 290
Резюме ............................................................................................................ 295
Приложения
Приложение A. Аппаратные ускорители для ИИ............................................... 298
Приложение Б. Выбор размера кластера ......................................................... 300