Package: mlflowcollab
MLFlowCollab is een wrapper die het werken metMLFlowgemakkelijker en sneller maakt, vooral op het gebied van samenwerken.MLFlowis een handige, simpele, open source en gratis manier om machine learning experimenten bij te houden (onderdeel van MLOps). Echter is er ook een tweetal nadelen aan MLOps die deze module tracht op te lossen:Samenwerken op een centrale locatie, zoals MS Teams mappen werkt onhandig.Het loggen van standaard paketten zoals scikit-learn kan nÃ³g sneller en makkelijker.ZieAchtergrondvoor een uitgebreide beschrijving wie dit pakket wanneer nodig kan hebben.Aan de slagInstallatieInstalleren kan in je Command Prompt / Anaconda Prompt (al dan niet in een virtuele environment) met:pip install git+https://gitlab.com/hetwaterschapshuis/kenniscentrum/tooling/mlflowcollab.gitOfclone de repositoryen
ga in de cmd naar de bovenste map vanmlflowcollab(waarinsetup.pystaat) en run het
commandpip install .of in de edit modepip install -e .mlflowwrapperDe modulemlflowcollabwerkt met de packagemlflowwrapper.De workflow is als volgt:Creeer een folder op je Teams omgeving, waarbij de laagste folder\mlrunsis.Setup een MLFlow experiment metsetup_mflow. Hierin geef je een naam en de locatie van je experiment mee, inclusief die\mlruns.Runmlwrapper.get_directory_prompt()in je IDE.  Een map boven de tracking uri wordt gekopieerd naar je clipboard.Open een instance van Anaconda Prompt.Typcden danShift+Insert,Enter. Hiermee ga je naar de goede locatie om MLFlow op te starten.Typmlflow ui,Enter.Kopieer (selecteer + rechtermuisknop) de url waar MLFlow is gestart en plak deze in je browser.Zorg ervoor dat de Anaconda Prompt open blijft staan en dat de run van MLFlow UI niet geblokkeerd wordt.Run een experiment metmlflow_run_sklearn(Xtrain, ytrain, Xtest, ytest, sklearn_model).Je kan MLFlow uiteindelijk afsluiten metCtrl+Cin je prompt.VoorbeeldEen voorbeeld van bijna alle functionaliteiten is te vinden inexamples/usage_mlflowcollab.ipynb.AchtergrondMLFlowMLFlowis een pakket dat het gemakkelijk maakt om machine learning experimenten te loggen.Als je bezig bent met het optimaliseren van input data, hyperparameters en soorten modellen is het niet altijd nuttig om iedere keer de volledige code op te slaan en dan de score te printen: dit vergelijkt moeilijk en zorgt ervoor dat je heel veel code hebt.Met MLFlow log je steeds experimenten en kun je al je instellingen/hyperparameters etc. meegeven, samen met de score (of verschillende scores). Deze kun je daarna vergelijken in een scatter plot, of bijvoorbeeld een contour plot.Echter is er een aantal stappen in MLFlow die omslachtig of onhandig zijn, waaronder het gebruiken van een gedeelde map om experimenten te loggen. In MLFlowCollab wordt met een wrapper om MLFlow het loggen van experimenten een stuk makkelijker gemaakt.Voor wie isMLFlowCollabnuttig?Iedereen die nog niet alle ins- and outs kent van MLFlow maar er wel graag mee aan de slag wilIedereen die op een laagdrempelige manier graag samen wil werken met anderen met MLFlowIedereen die meer wil leren over MLFlow: met behulp vanhet voorbeeldenmlflowwrapperzie je veel over hoe je het pakket handig kunt gebruikenWat zijn handige plekken om MLFlow te delen?Om MLFlow te delen met MLFlowCollab, moet je de bestanden die MLFlow wegschrijft op een gedeelde plek zetten. Dit kan bijvoorbeeld eengedeelde Teams/OneDrive map,gedeelde netwerkschijf,op een andere manier gedeelde online map,of een verzonden zip-map zijn.Wat zijn eventuele alternatieven?BijvoorbeeldZelf hosten van een MLFlow serverAzure Machine Learning(uitgebreider en met eigen rekenmodules, niet gratis)Amazon SageMaker(vergelijkbaar met Azure Machine Learning)MaintainerDe beheerder van dit pakket is Sjoerd Gnodde (Hoogheemraadschap van Delfland).sgnodde {at} hhdelfland {dot} nl -https://gitlab.com/SjoerdGnHHDelfland-https://github.com/SjoerdGn/