Installazione Mlflow backend (SQLite) e artefatto (Azure Blob Storage) negozi

0

Domanda

Vorrei installazione Mlflow di avere i seguenti componenti :

  • Backend negozio (locale) : l'utilizzo di un database SQLite locale per memorizzare Mlflow entità (run_id, params, metriche...)
  • Artefatto store (remoto) : l'utilizzo di un blob storage sul mio Azure Dati Lago di Archiviazione Gen2 per memorizzare i file di output (con versione di set di dati serializzati, modelli, immagini, ...) relativi al mio modello
  • Il monitoraggio del server : tramite qualcosa che assomiglia a questo comando

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

Dove mlruns.db è un database che ho creato in SQLite (all'interno di una cartella db) e mlartifacts è la cartella che ho creato all'interno del contenitore blob di ricevere tutti i file di output.

Ho eseguito questo comando e poi faccio e mlflow eseguire (o un kedro esegui come sto usando Kedro), ma quasi non succede nulla. Il database viene popolato con 12 tavole, ma tutte vuote, mentre non succede nulla all'interno del Data lake.

Quello che voglio che dovrebbe apparire come Scenario 4 nella documentazione.

Per il manufatto store, non riuscivo a trovare le istruzioni dettagliate. Ho provato a guardare Mlflow documentazione qui , ma questo non è molto utile (io sono ancora un principiante). Dicono che:

MLflow si aspetta Azure Storage credenziali di accesso in AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variabili di ambiente o di avere le credenziali configurato in modo che i DefaultAzureCredential(). classe li pick up.

Tuttavia, anche quando si aggiungono le variabili env, nulla sembra essere conservati nel data lago. Ho creato due variabili env (su Windows 10):

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

  • AZURE_STORAGE_CONNECTION_STRING = DefaultEndpointsProtocol=https;Nomeaccount=storagesample;AccountKey=. L'ho preso seguendo questo percorso sul Portale Azure : account di Archiviazione/chiavi di Accesso/stringa di Connessione (presi la chiave 2).

Essi affermano inoltre che :

Inoltre, è necessario eseguire pip install azure-archiviazione blob separatamente (sia il client e il server) per accedere Archiviazione Blob di Azure. Infine, se si desidera utilizzare DefaultAzureCredential, è necessario pip install azure-identità; MLflow non dichiarare una dipendenza di questi pacchetti per impostazione predefinita.

Ho aggiunto nel mio progetto i requisiti, ma cosa significa esattamente da installare sul client e il server ? Come azure-identità aiuta nell'installazione ?

Per favore potete aiutarmi con un passo per passo le istruzioni su come effettuare l'installazione completa ?

Vi ringrazio in anticipo !

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

Migliore risposta

2

Hai solo bisogno di impostare AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY è facoltativo se la prima variabile di ambiente (in ogni caso, AZURE_STORAGE_ACCESS_KEY non dovrebbe essere l'URL, ma il reale chiave di accesso).

Per quanto riguarda azure-storage-blob pacchetto deve essere installato su entrambi i server in cui viene eseguito mlflow servere sulla stessa macchina in cui si esegue la vostra formazione (client).

2021-11-27 11:41:33

Grazie per la tua risposta ! Hai ragione circa il AZURE_STORAGE_ACCESS_KEY, non so perché ho fatto questo errore. In definitiva, non è stata presa in considerazione nel mio caso ho usato AZURE_STORAGE_CONNECTION_STRING. Sono finalmente riuscito a farlo funzionare usando una doppia barra rovesciata e utilizzando la porta 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

In altre lingue

Questa pagina è in altre lingue

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