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:
Przeniesienie wspólnego kodu do nowego folderu internal_modules
Rozdzielenie plików pythonowych i plików jupyterowych
Pliki pythonowe przeniesione do `experiments/python_scripts'
Pliki jupyterowe przeniesione do `experiments/jupyter_notebooks'
Update requirementów dla mlflow i azure
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.
Dodanie kodu do nowych eksperymentów: VGG16 i VGG19
Ładowanie datasetu do RAMu z fixem żeby umożliwić też ładowanie subsetu.
Dostosowanie plików pythonowych do zmian MLflow i do przeniesionych funkcji do internal_modules.
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ć.
Dlaczego kolejny PR?
Postanowiłem rozbić tego PR'a na 3 mniejsze.
Zmiany wprowadzone w tym PR:
internal_modules
internal_modules
.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 iconduct_experiment
są dalej zdefiniowane wjupterze
). 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ć.