ium_444417/README.md
s444417 e7ca24c10e
All checks were successful
s444417-training/pipeline/head This commit looks good
s444417-evaluation/pipeline/head This commit looks good
update readme
2022-05-15 17:46:05 +02:00

36 lines
2.8 KiB
Markdown

## Projekt na przedmiot inżynieria oprogramowania
IUM_6 opis sposobu rozwiązania zadań i podpunktów
---
Aktualne wyniki zadania IUM_6 dostępne są:
- [s444417-create-dataset](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-create-dataset/): build #244
- [s444417-training](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-training/job/master/): build #96
- [s444417-evaluation](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-evaluation/job/master/): build #43
Zadanie 1
1. stworzono job [s444417-training](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-training/)
2. s444417-training uruchamia się automatycznie po zakończeniu joba s444417-create-dataset, plik Jenkinsfile, przy pomocy build job. Kopiuje zbiór danych przy pomocy copyArtifact w pliku Jenkinsfile3
3. Jenkinsfile3 przy pomocy archiveArtifacts
4. powiadomienia, Jenkinsfile3 przy pomocy post emailext
5. parametr EPOCH_NUMBER zadekalarowany w Jenkinsfile3, oznaczaj ilość epok, wykorzystywany przy wołaniu skryptu uczącego
Zadanie 2
1. stworzono job [s444417-evaluation](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-evaluation/)
2. evaluacja modelu metodą evaluate zawołana na modelu w pliku trainScript.py.Zapisanie wyniku do pliku trainResults.csv, w Jenkinsfile.eval archiveArtifact
3. Jenkinsfile.eval w stagu "Copy prev build artifact" kopiuje trainResults.csv a jeśli go nie ma to catch łapie error, skrypt trainScript.py też obsługuje brak takiego pliku, bo otwiera go w trybie "a+"
4. skrypt trainScript.py tworzy plota z wczytanych wartości odczytanych z pliku trainResults.csv i zapisuje wkres do pliku metric.py
5. projekt odpala się po zakończeniu trenowania jenkinsfile3 build job oraz kopiuje sobie model copyArtifacts z uwzględnieniem brancha master
6. copyArtifacts z s444417-create-dataset
7. parametr BRANCH do wyboru konkretnej gałęzi, buildselector do wybrania builda w Jenkins.eval
8. powiadomenie mail wraz z metryką loss wysyłane w pliku Jenkinsfile.eval post emailext
IUM_8 opis sposobu rozwiązania zadań i podpunktów
---
Zadanie 1
1. lab8/trainScript.py log_param: epoch i learning_rate i log_metric final_loss
2. lab8/MLproject docker_env
Zadanie 2
1. plik lab8/trainScript.py, używa MLflow, zawiera input_example,
2. model z artifactów pobierany w lab8/Jenkinsfile.artifact, predykcja zrobiona skryptem lab8/predictArtifact.py, output predykcji konsola w [projekcie](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-predict-s449288/)
3. zarejestronwany model np. http://tzietkiewicz.vm.wmi.amu.edu.pl/#/experiments/17/runs/811420769d2642b8be694693c75b3587/artifactPath/linear-model, model jest rejestrowany w pliku lab8/trainScript.py
4. [projekt](https://tzietkiewicz.vm.wmi.amu.edu.pl:8080/job/s444417-predict-s449288-from-registry/) predykcja realizowana skryptem lab8/predictMlflow.py i printowana w consoli builda,