Книга посвящена практической реализации проекта машинного обучения. Рассматривается весь жизненный цикл создания продукта на основе моделей машинного обучения, от формулировки бизнес-задачи до развертывания веб-приложения.Автор на конкретном кейсе демонстрирует процесс исследования проблемы, поиска алгоритмов, разработки и обучения AI моделей. Особое внимание уделяется вопросам проектирования кода и архитектуры, позволяющим создавать гибкие и масштабируемые системы искусственного интеллекта.Читатель получает ценные практические навыки по модульной разработке, тестированию, контейнеризации моделей и их интеграции через веб-интерфейсы. Книга содержит примеры кода и инструкции для создания собственных приложений машинного обучения.Это издание станет полезным как для начинающих, так и для опытных разработчиков в области искусственного интеллекта.
Приведённый ознакомительный фрагмент книги Реализация проекта машинного обучения от A до Я на примере приложения для обобщения текста предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
Шаг 1. Подготовка проекта
Подготовка проекта включает в себя ряд действий, направленных на настройку инфраструктуры и кода для обеспечения качественной и надежной разработки. Это важный этап в жизненном цикле проекта, который помогает избежать ошибок и сложностей на последующих этапах.
Все необходимые шаги, которые необходимо выполнить перед тем как приступить к модульному кодированию проекта, подробно со скриншотами кода, представлены в следующих разделах.
Настройка и клонирование репозитория GitHub на ПК
Первым делом в разработке любого проекта должно стать создание его «дома» — репозитория на GitHub. Эта платформа позволит нам не только хранить и версионировать код, но и настроить процесс непрерывной интеграции.
Мы задаем имя репозитория, совпадающее с названием нашего будущего проекта. Это поможет коллегам сразу понять его суть и назначение. Далее определяемся с уровнем доступа — сделать репозиторий публичным или приватным.
Как только репозиторий создан, добавляем в него файл README.md — это своего рода «паспорт» проекта с описанием его функционала и инструкциями по запуску.
Также важный шаг — добавление.gitignore и указание там Python как языка разработки. Это позволит исключить лишние промежуточные файлы из репозитория.
Завершающим аккордом станет выбор лицензии. Для открытых проектов отлично подходит лаконичная и ненавязчивая MIT — она позволит любому использовать код, указав авторство разработчиков.
Теперь у нашего проекта есть дом с просторными кодовыми хранилищами, настроен охранник в лице.gitignore и определены правила проживания благодаря выбранной лицензии.
Можно приступать к активной фазе — наполнению репозитория полезным кодом!
Получив доступ к репозиторию, созданному на GitHub, мы можем приступить к его клонированию — процессу создания полной локальной копии удаленного репозитория. Это позволит нам в дальнейшем работать с кодом на своем компьютере с последующей синхронизацией изменений обратно в удаленный репозиторий.
Для клонирования репозитория необходимо выполнить следующие действия:
Шаг1: перейти на страницу созданного репозитория на GitHub.
Шаг2: нажать на кнопку"Code", после чего скопировать предложенную ссылку в формате HTTPS. Эта ссылка указывает на расположение репозитория.
Шаг3: в директории на локальном компьютере, куда необходимо поместить клонируемый репозиторий, открыть окно терминала, набрав команду cmd в адресной строке.
Шаг4: выполнить команду git clone <ссылка>. Git использует указанную ссылку для скачивания всех файлов и данных репозитория.
После завершения клонирования в выбранной директории появится полная копия репозитория со всеми файлами и версиями на вашем диске.
Теперь репозиторий готов к использованию в локальной разработке. Все изменения можно будет синхронизировать обратно в удаленный репозиторий с помощью команд git push и git pull.
Создали директорию project_1 на рабочем столе и открыли терминал в этой же директории
Клонируем ранее созданный репозиторий на GitHub на локальный компьютер. В результате копирования на компьютере создаётся новая папка с названием репозитория.
Запускаем VSC (Visual studio code) среды разработки — для последующей работы над нашим проектом
Открыв VSC, в проводнике мы видим все наши файлы, которые мы клонировали с репозитория. Теперь приступаем к шагу 2: созданию скрипта на Python, содержащего будущую структуру папок и файлов нашего проекта.
Создание шаблона структуры папок и файлов
Краткое пояснение кода:
Данный код является простым и эффективным способом создания списка папок и файлов, связанных с проектом, для их последующего автоматического создания.
Он легко читается и понимается, и может быть легко настроен для разных проектов, изменив значение переменной `project_name`.
`src` — это сокращение от английского слова"source"(исходный код). В контексте данного кода, `src` — это директория, в которой хранится исходный код проекта. В этой директории могут находиться поддиректории, содержащие модули и компоненты проекта. Обычно, исходный код проекта хранится в директории `src`, чтобы отделить его от других файлов и директорий, связанных с проектом, таких как документация, конфигурационные файлы, тесты и т.д.
Если в будущем необходимо досоздать новые папки и файлы, то необходимо отредактировать список `list_of_files`, добавив новые пути к файлам и папкам, которые необходимо создать. При этом необходимо убедиться, что пути к файлам и папкам заданы корректно и соответствуют структуре проекта.
Структура папок, представленная в данном коде, напоминает внутреннюю библиотеку, которую можно использовать в текущем проекте. В данном случае, проект разделен на модули и компоненты, которые хранятся в соответствующих папках. Это позволяет легко организовать код проекта и упростить его поддержку и развитие.
Например, папка `conponents` содержит компоненты проекта, такие как модуль для предобработки данных или модуль для обучения модели.
Папка `utils` содержит утилиты, которые могут быть использованы в разных компонентах проекта.
Папка `config` содержит файлы конфигурации, которые используются для настройки параметров проекта.
Папка `pipeline` содержит модули, которые отвечают за обработку данных в конвейере.
Такая структура папок позволяет легко найти нужный модуль или компонент проекта, а также упрощает его тестирование и отладку. Кроме того, такая структура папок может быть использована для создания библиотеки, которую можно переиспользовать в других проектах.
Создание виртуального окружения
`conda create` — это команда менеджера пакетов Conda, которая создает новое виртуальное окружение и устанавливает в него пакеты и зависимости.
`-n project_1` — это опция команды `conda create`, которая задает имя нового виртуального окружения. В данном случае, имя виртуального окружения — `project_1`.
`python=3.11.4` — это опция команды `conda create`, которая указывает на установку пакета Python версии 3.11.4 в новое виртуальное окружение.
`-y` — это опция команды `conda create`, которая указывает на автоматическое подтверждение установки без запроса подтверждения пользователя.
Таким образом, данная команда создает новое виртуальное окружение с именем `project_1` и устанавливает в него Python версии 3.10с помощью менеджера пакетов Conda.
Опция `-y` указывает на автоматическое подтверждение установки без запроса подтверждения пользователя.
В результате выполнения этой команды будет создано новое виртуальное окружение, которое можно активировать с помощью команды `conda activate project_1`.
После активации виртуального окружения можно устанавливать необходимые пакеты и зависимости для проекта, не затрагивая другие проекты и системные настройки.
Создание структуры шаблона папок и файлов
Данный код является последовательностью команд, которые выполняются в командной строке операционной системы Windows.
Первая команда `cd Text-Summarizer-Project` переходит в директорию `Text-Summarizer-Project`, которая находится в текущей директории `project_1`.
Затем выполняется команда `python template.py`, которая запускает скрипт `template.py` на языке Python.
В данном случае, скрипт `template.py` содержит код для работы с модулем по автоматическому созданию краткого содержания текста (text summarization).
При выполнении данной команды в командной строке будет запущен интерпретатор Python, который выполнит код из файла `template.py`.
В результате выполнения скрипта будет создано краткое содержание текста, которое будет выведено в консоль.
Итого: Шаблон нашего проекта создан. Шаблон содержит все необходимые папки и файлы, которые на последующих шагах мы будем заполнять.
Лог в терминале — содержит информацию о создании файлов и директорий в проекте. Каждая строка лога содержит дату и время создания файла или директории, а также путь к созданному файлу или директории.
Например, первая строка лога `[2023-08-14 02:15:42,662]: Creating empty file: src\textSummarizer\constants\__init__.py:` указывает на создание пустого файла `__init__.py` в директории `constants`, которая находится в директории `textSummarizer`, которая в свою очередь находится в директории `src`.
Аналогично, остальные строки лога указывают на создание пустых файлов и директорий в проекте. Например, строка `[2023-08-14 02:15:42,674]: Creating directory:config for the file config.yaml:` указывает на создание директории `config`, в которой будет создан файл `config.yaml`.
Таким образом, логирование создания файлов и директорий позволяет отслеживать процесс создания файлов и директорий в проекте и выявлять возможные проблемы в процессе создания.
Конец ознакомительного фрагмента.
Приведённый ознакомительный фрагмент книги Реализация проекта машинного обучения от A до Я на примере приложения для обобщения текста предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других