Skip to content

Latest commit

 

History

History
executable file
·
69 lines (41 loc) · 3.49 KB

project_design_requirements.md

File metadata and controls

executable file
·
69 lines (41 loc) · 3.49 KB

Требование к проекту

  • Каждой версия модели оформляется в отдельный проект.
  • Для проекта необходимо создать окружение.
  • В качестве менеджера пакетов используем poetry.

Требования к структуре проекта

Проект должен быть оформлен в одной папке и содержать всё необходимое для запуска кода.

Проект должен обязательно содержать:

  • jupyternotebook.ipynb;
  • pyproject.toml
  • README.md
  • download.py

Требование к файлам

JupyterNotebook

Должна быть логично продумана структура, каждый раздел должен иметь свое название (тип ячейки Markdown, заглавие ### Название раздела).

В обязательном порядке должны быть разделы:

Analysis: раздел, где проводится анализ датасета;

Dataset: раздел, где формируется датасет;

Train: раздел, где происходит тренировка;

Inference: раздел в котором полность собирается модель для предсказания из обученных весов. Импортируются все нужные библиотеки, конфигурируется модель, инициализируется, и делается предсказание на одном примере. В качестве примера, можно добавить в проект пример для демо;

При необходимости другие разделы:

Import: если выносите импорт всех библиотек в отдельную ячейку;

Config: если есть конфигурационные параметры, вынести в отдельную ячейку;

Split: если отдельно есть ячейки в которых производиться разделение датасета на train, val, test;

Augmentation: раздел настройки аугментации;

Visualization: функции для визуализации;

Train functions: функции для тренировки;

Init model: инициализация модели для тренировки;

Test: раздел для сбора метрик на тестовом датасете;

Стремится основную часть кода оформлять в функции, классы.

Желательно писать аннотации к функциям, какой тип данных принимает, какой отдает (PEP 3107). Желательно к основным функциям написать docstrings (https://pythonist.ru/docstrings-dokumentirovanie-koda-v-python/) в стиле Sphinx (https://nuancesprog-ru.turbopages.org/nuancesprog.ru/s/p/8140/).

Аугментацию делать с использованием библиотеки albumentations.

download.py

Файл который создает папки data и weights. В папку data скачиваются данные на которых была обученая модель. В папку weights скачиваются веса модели для инференса.