1. Книги
  2. Программы
  3. Алексей Михнин

Реализация проекта машинного обучения от A до Я на примере приложения для обобщения текста

Алексей Михнин (2023)
Обложка книги

Книга посвящена практической реализации проекта машинного обучения. Рассматривается весь жизненный цикл создания продукта на основе моделей машинного обучения, от формулировки бизнес-задачи до развертывания веб-приложения.Автор на конкретном кейсе демонстрирует процесс исследования проблемы, поиска алгоритмов, разработки и обучения 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 и других

Вам также может быть интересно

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я