emkarcinos / AITech-flats

Projekt magisterski AITech - klasyfikacja stylu wnętrz mieszkań i transfer stylu
Apache License 2.0
2 stars 0 forks source link

Feature/49 refactor mlflow azure v2 #67

Closed Adelionek closed 1 year ago

Adelionek commented 1 year ago

Dlaczego kolejny PR?

Postanowiłem rozbić tego PR'a na 3 mniejsze.

  1. MLfllow - obecny PR
  2. Augmentacja danych
  3. Większy refactor kodu. Bardziej generyczny, konfigurowalny kod ułatwiający wywoływanie różnych eksperymentów i ich reprodukowanie.

Zmiany wprowadzone w tym PR:

  1. Przeniesienie wspólnego kodu do nowego folderu internal_modules
  2. Rozdzielenie plików pythonowych i plików jupyterowych
    • Pliki pythonowe przeniesione do `experiments/python_scripts'
    • Pliki jupyterowe przeniesione do `experiments/jupyter_notebooks'
  3. Update requirementów dla mlflow i azure
  4. Dodanie funkcji do konwertowania modelu z .pt -> .onnx. Model onnx jest wykorzystywany w function apce przy inferencji. Ta część kodu powinna zostać dodana przy poprzednim PR.
  5. Dodanie kodu do nowych eksperymentów: VGG16 i VGG19
  6. Ładowanie datasetu do RAMu z fixem żeby umożliwić też ładowanie subsetu.
  7. Dostosowanie plików pythonowych do zmian MLflow i do przeniesionych funkcji do internal_modules.
  8. Pliki jupyterowe również działają ale tylko w jedym jupterze model_alpha_ResNet34TransferLearning_mlflow użyty jest mlflow . Pliki jupyterowe od teraz można traktować jako miejsce do lokalnych testów/eskperymentów. Tak jak przy plikach pythonowych dostosowałem w pełni kod do wszystkich zmian to przy plikach jupyterowych nie (metody train i conduct_experiment są dalej zdefiniowane w jupterze). Są to dalej działające jupytery. Eksperymenty i zmiany idą na tyle szybko, że nie ma sensu za każdym razem ich w pełni dostosowywać.
  9. Zastosowanie komentarzy z poprzedniego PR'a