Setup Mlflow backend (SQLite) și artefact (Azure Blob Storage) magazine

0

Problema

Aș dori să setup Mlflow să aibă următoarele componente :

  • Backend magazin (locale) : folosind o bază de date SQLite la nivel local pentru a stoca Mlflow entități (run_id, params, valori...)
  • Artefact magazin (la distanță) : folosind o pată de stocare pe Azure data Lac de Stocare Gen2 pentru a stoca fișierele de ieșire (versiuni seturi de date, serializat modele, imagini, ...) referitoare la modelul meu
  • De urmărire server : de a folosi ceva care arata ca aceasta comanda

z

mlflow server --backend-store-uri sqlite:///C:\sqlite\db\mlruns.db --default-artifact-root wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts -h 0.0.0.0 -p 8000

În cazul în care mlruns.db este o baza de date pe care am creat-o în SQLite (în interiorul unui db folder) și mlartifacts este folderul pe care l-am creat în interiorul blob recipient pentru a primi toate fișierele de ieșire.

Am rula această comandă, și apoi să fac și mlflow run (sau o kedro rula ca eu sunt, folosind Kedro), dar aproape nu se întâmplă nimic. Baza de date este populată cu 12 mese, dar tot gol, în timp ce nimic nu se întâmplă în interiorul Datelor lac.

Ceea ce vreau eu ar trebui să arate ca Scenariul 4 în documentație.

Pentru artefact magazin, nu am putut găsi instrucțiuni detaliate. Am încercat să se uite la Mlflow documentația aici, dar acest lucru nu este de foarte mare ajutor (sunt incepator). Se spune că:

MLflow se așteaptă Azure Storage acreditările de acces în AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variabile de mediu sau cu acreditările dvs. configurate astfel încât DefaultAzureCredential(). clasa le poate ridica.

Cu toate acestea, chiar și atunci când adăugarea env variabile, nimic nu pare a fi stocate în baza de date lac. Am creat două env variabile (pe Windows 10):

  • AZURE_STORAGE_ACCESS_KEY = wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts

  • AZURE_STORAGE_CONNECTION_STRING = DefaultEndpointsProtocol=https;Cont=storagesample;AccountKey=. Am luat-o, urmând această cale pe Azure Portal : cont de Stocare/chei de Acces/Conexiune șir (a luat una din cheie 2).

Ei au stat că :

De asemenea, trebuie să executați pip instala azur-depozitare-blob separat (pe ambele client și server) pentru a accesa Azure Blob Storage. În cele din urmă, dacă doriți să utilizați DefaultAzureCredential, trebuie să pip instala azur-de identitate; MLflow nu declara o dependența de aceste pachete în mod implicit.

Am adăugat în cerințele proiectului, dar ce înseamnă mai exact prin instalarea pe ambele client și server ? Cum azur-identitatea ajută în setup ?

Ai putea, te rog ajuta-ma cu un instrucțiuni pas cu pas despre cum să facă complete setup ?

Va multumesc anticipat !

azure mlflow mlops python
2021-11-23 16:46:18
1

Cel mai bun răspuns

2

Ai nevoie doar de a stabili AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY este opțional dacă prima variabilă de mediu este folosit (oricum, AZURE_STORAGE_ACCESS_KEY n-ar fi URL-ul, dar real cheie de acces).

Cu privire la azure-storage-blob pachet - ar trebui să fie instalat pe ambele server în cazul în care tu a alerga mlflow serverși pe aceeași mașină în cazul în care tu a alerga-ți de formare (client).

2021-11-27 11:41:33

Vă mulțumesc pentru răspuns ! Ai dreptate despre AZURE_STORAGE_ACCESS_KEY, nu știu de ce am făcut această greșeală. În cele din urmă, nu a fost luată în considerare în cazul meu ca am folosit AZURE_STORAGE_CONNECTION_STRING. În cele din urmă am reușit să-l facă de lucru prin utilizarea dublu backslash și folosind portul 5000 ==> mlflow server --backend-store-uri sqlite:///C:\\sqlite\\db\\mlruns.db --default-artifact-root wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts -h 0.0.0.0 -p 5000
Downforu

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................