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 !
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