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 | Цифровой Прорыв | Предсказания отказов оборудования
- Host: GitHub
- URL: https://github.com/dimflix-hackathons/diskdestiny
- Owner: DIMFLIX-Hackathons
- License: other
- Created: 2024-09-07T09:29:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-08T04:26:15.000Z (over 1 year ago)
- Last Synced: 2025-03-21T09:35:57.489Z (about 1 year ago)
- Topics: ai, hackaton, python
- Language: Python
- Homepage:
- Size: 5.1 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).
### Вы можете свободно использовать:
- Делиться — копировать и распространять материал на любом носителе или в любом формате
- Адаптировать — переделывать, преобразовывать и дополнять материал Лицензиар не может лишить вас этих прав, пока вы соблюдаете условия лицензии.
### На следующих условиях:
- Указание авторства — Вы должны предоставить соответствующую информацию, ссылку на лицензию и указать, были ли внесены изменения. Вы можете делать это любым разумным способом, но не таким, который предполагает, что лицензиар одобряет вас или ваше использование.
- Некоммерческий — Вы не имеете права использовать материалы в коммерческих целях.
- Никаких дополнительных ограничений — Вы не имеете права применять юридические условия или технологические меры, которые юридически ограничивают действия других лиц, разрешенные лицензией.
Это всего лишь краткая выдержка из основных положений лицензии. Пожалуйста, ознакомьтесь с полным юридическим текстом лицензии для полного понимания ее условий.