An open API service indexing awesome lists of open source software.

https://github.com/dimflix-hackathons/diskdestiny

08.09.2024 | Цифровой Прорыв | Предсказания отказов оборудования
https://github.com/dimflix-hackathons/diskdestiny

ai hackaton python

Last synced: 12 months ago
JSON representation

08.09.2024 | Цифровой Прорыв | Предсказания отказов оборудования

Awesome Lists containing this project

README

          

***

DiskDestiny позволяет точнее прогнозировать сроки отказов установленных дисков, чтобы оптимизировать
складские запасы.

# Уникальность проекта
Наш проект уникален в следующих свойствах:
- Основан на использовании моделей с открытым исходным кодом
- Большой выбор моделей для предсказания
- Поддержка весов для каждой модели

# Проблема
В ЦОД (центрах обработки данных) имеется большое количество серверов с разными техническими
характеристиками. Для обеспечения бесперебойной работы необходимо иметь обоснованный запас
дисков, готовых к своевременной замене вышедших из строя. Однако заполнять склад
оборудованием, которое может понадобиться только через несколько лет, нецелесообразно. В
настоящее время складские запасы пополняются исходя из статистических данных по отказам дисков определенных вендоров и типов, а также с учетом неснижаемого остатка.

# Установка и использование
1. Клонируем проект с GitHub: `git clone https://github.com/DIMFLIX-OFFICIAL/disk-destiny.git`
2. Переходим в папку с проектом: `cd disk-destiny`
3. Устанавливаем зависимости: `poetry install`
4. В папку `data/prediction` копируем нужные датасеты
5. Запускаем программу `poetry run python disk_destiny/app.py` и следуем дальнейшим инструкциям.

> [!important]
> Для выбора нескольких значений в списке нужно нажать клавишу 'Space'.
> Если возможно выбрать только одно значение из списка, нужно просто нажать клавишу 'Enter'.

# Разработчикам
## Обучение моделей
Для обучения моделей требуется скопировать тренировочные датасеты в папку `data/train`.
Далее запустить программу `poetry run python disk_destiny/app.py` и выбрать опцию `Дообучение модели`.
Выбираем нужную модель датасеты для обучения.

## Добавление новых моделей
Если вы хотите добавить новые модели, то вам нужно будет создать файл с именем `models/your_model.py` в корневой папке проекта.

Класс вашей модели должен наследоваться от класса `BaseModel` и реализовывать методы `train` и `predict`. Так-же у вашего класса должен быть атрибут `name` со значением типа `str`.

Для включения вашей реализации модел вам нужно добавить ее импорт в файл `models/__init__.py`.

Для указания веса нужно указать название вашей модели полностью в верхнем регистре и добавить суффикс `_WEIGHT` в конце названия в файл `.env`.

В качестве примера можете руководствоваться любой из наших реализаций моделей.

# Авторы






Пронин Дмитрий


Algorithmic Designer
System Architect






Сухоруков Кирилл


ML Engineer





Донсков Арсений


ML Engineer





Яшин Дмитрий


Data Engineer

# Лицензия
Полный текст лицензии доступен здесь: [Юридический кодекс CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/legalcode).
### Вы можете свободно использовать:
- Делиться — копировать и распространять материал на любом носителе или в любом формате
- Адаптировать — переделывать, преобразовывать и дополнять материал Лицензиар не может лишить вас этих прав, пока вы соблюдаете условия лицензии.
### На следующих условиях:
- Указание авторства — Вы должны предоставить соответствующую информацию, ссылку на лицензию и указать, были ли внесены изменения. Вы можете делать это любым разумным способом, но не таким, который предполагает, что лицензиар одобряет вас или ваше использование.
- Некоммерческий — Вы не имеете права использовать материалы в коммерческих целях.
- Никаких дополнительных ограничений — Вы не имеете права применять юридические условия или технологические меры, которые юридически ограничивают действия других лиц, разрешенные лицензией.

Это всего лишь краткая выдержка из основных положений лицензии. Пожалуйста, ознакомьтесь с полным юридическим текстом лицензии для полного понимания ее условий.