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

Шаг 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 до Я на примере приложения для обобщения текста

Подняться наверх