- Przygotowanie repozytorium:
- Sklonuj to
repozytorium
git clone https://github.com/jkarolczak/cu-valley-hack-2022-slag-temperature.git
- Przejdź do sklonowanego repozytorium
cd cu-valley-hack-2022-slag-temperature
- Sklonuj to
repozytorium
- Przygotuj środowisko wykonawcze:
- Utwórz środowisko przy użyciu menedźera Conda uruchamiając
polecenie
conda env create -f environment.yml
- Aktywuj utworzone środowisko wykonując polecenie
conda activate cu-valley-slag
- Utwórz środowisko przy użyciu menedźera Conda uruchamiając
polecenie
- Przygotowanie danych:
- Skopiuj archiwum zawierające dane do przeprowadzenia inferencji do
repozytorium
mv <path-to-archive.zip> data.zip
- Skopiuj archiwum zawierające dane do przeprowadzenia inferencji do
repozytorium
- Przeprowadzenie inferencji:
- Uruchom polecenie
python scripts/inference_pipeline.py --archive <archive-name.zip>
Jeśli archiwum z danymi nazywa siędata.zip
, argument --archive może zostać pominięty, gdyżdata.zip
jest jego domyślną wartością. W takim przypadku wystarczy uruchomić polecenie
python scripts/inference_pipeline.py
- Wyniki inferencji znajdują się w pliku
predictions.csv
, który znajduje się w katalogu, w którym obecnie się znajdujesz.
- Uruchom polecenie
Aby uruchomić panel kontrolny należy wykonać następujące polecenie:
streamlit run app.py
Działające demo znajduje się na stronie miedziaki.tech Przygotowany mockup imituje panel kontrolny operatora pieca zawiesinowego w KGHM Hucie Miedzi “Głogów II”. Obraz w mockupie zmienia się co pięć sekund, podczas gdy w działającym systemie działoby się to co minutę. pokazuje jak w prosty sposób nasze rozwiązanie może zostać zintegrowane z już istniejącymi oraz wdrożonymi systemami. Dzięki takiej integracji operatorzy powinni łatwo zaadaptować nowe informacje. Prezentacja czynników wpływających na predykcję zwraca uwagę operatora na istotne zmiany parametrów procesowych. Co za tym idzie ryzyko błędu ludzkiego jest znacząco redukowane.
W celu trenowania modelu oraz eksperymentowania (porównywania modeli, optymalizacji hiperparametrów itp.), w
katalogu scripts
zostały przygotowane następujące skypty:
parse_data.py
- skrypt parsujący dane wejściowe, agregujący je dla odpowieniego okna czasu przy użyciu różnych statystyk oraz zapisujący przygotowane dane do plikuvariable_selection.py
- skrypt ograniczający liczbę zmiennych w pliku do tych uprzednio zdefiniowanychdata_split.py
- skrypt dzielący zbiór danych na zbiory testowy, treningowy oraz holdouttrain_model.py
- skrypt tworzący oraz trenujący nowy modelinfer_model.py
- skrypt służący ewaluacji modeluinference_pipeline.py
- skrypt służący przygotowaniu predykcji w sposób kompleksowy, przygotowany na potrzeby ewaluacji modelu przez organizatorów hackathonu. Więcej infomracji dostępncyh jest w sekcji powyżej (Inferencja).
Wszystkie skrypty są konfigurowane plikami konfiguracyjnymi, które znajdują się w katalogu resources/cfg
. Takie
rozwiazanie umożliwia orkiestrację całego procesu eksperymentowania oraz ułatwia proces tworzenia modelu przez
użytkownika.
Proces analizy oraz jego rezultaty znajdują się pliku analysis.ipynb