Skip to main content

logo_mlflowcollab

MLFlowCollab is een wrapper die het werken met MLFlow gemakkelijker en sneller maakt, vooral op het gebied van samenwerken.

MLFlow is 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:

  1. Samenwerken op een centrale locatie, zoals MS Teams mappen werkt onhandig.
  2. Het loggen van standaard paketten zoals scikit-learn kan nóg sneller en makkelijker.

Zie Achtergrond voor een uitgebreide beschrijving wie dit pakket wanneer nodig kan hebben.

Aan de slag

Installatie

Installeren 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.git

Of clone de repository en ga in de cmd naar de bovenste map van mlflowcollab (waarin setup.py staat) en run het command pip install . of in de edit mode pip install -e .

mlflowwrapper

De module mlflowcollab werkt met de package mlflowwrapper.

De workflow is als volgt:

  1. Creeer een folder op je Teams omgeving, waarbij de laagste folder \mlruns is.
  2. Setup een MLFlow experiment met setup_mflow. Hierin geef je een naam en de locatie van je experiment mee, inclusief die \mlruns.
  3. Run mlwrapper.get_directory_prompt() in je IDE. Een map boven de tracking uri wordt gekopieerd naar je clipboard.
  4. Open een instance van Anaconda Prompt.
  5. Typ cd en dan Shift+Insert, Enter. Hiermee ga je naar de goede locatie om MLFlow op te starten.
  6. Typ mlflow ui, Enter.
  7. Kopieer (selecteer + rechtermuisknop) de url waar MLFlow is gestart en plak deze in je browser.
  8. Zorg ervoor dat de Anaconda Prompt open blijft staan en dat de run van MLFlow UI niet geblokkeerd wordt.
  9. Run een experiment met mlflow_run_sklearn(Xtrain, ytrain, Xtest, ytest, sklearn_model).
  10. Je kan MLFlow uiteindelijk afsluiten met Ctrl+C in je prompt.

Voorbeeld

Een voorbeeld van bijna alle functionaliteiten is te vinden in examples/usage_mlflowcollab.ipynb.

Achtergrond

MLFlow

MLFlow is 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 is MLFlowCollab nuttig?

  • Iedereen die nog niet alle ins- and outs kent van MLFlow maar er wel graag mee aan de slag wil
  • Iedereen die op een laagdrempelige manier graag samen wil werken met anderen met MLFlow
  • Iedereen die meer wil leren over MLFlow: met behulp van het voorbeeld en mlflowwrapper zie je veel over hoe je het pakket handig kunt gebruiken

Wat 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 een

  • gedeelde Teams/OneDrive map,
  • gedeelde netwerkschijf,
  • op een andere manier gedeelde online map,
  • of een verzonden zip-map zijn.

Wat zijn eventuele alternatieven?

Bijvoorbeeld

Maintainer

De beheerder van dit pakket is Sjoerd Gnodde (Hoogheemraadschap van Delfland).

sgnodde {at} hhdelfland {dot} nl - https://gitlab.com/SjoerdGnHHDelfland - https://github.com/SjoerdGn/

Release files for mlflowcollab 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlflowcollab 0.0.4
File Size Uploaded
mlflowcollab-0.0.4.tar.gz 11.9 kB Details

Release files / mlflowcollab-0.0.4.tar.gz

Download URL mlflowcollab-0.0.4.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2ac98bc5a839eb600a94a1ff3734688486b20a098b2efa2e07d4b5023ce4e614
BLAKE2b-256 checksum
How to use checksums
3662e9619b6b3d6f1c31b5b1272092dd3d6ce39fc8bb089bb5863db03beffee3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.0.4 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page