Rád bych, aby nastavení Mlflow mít následující součásti :
- Backend obchodu (místní) : pomocí SQLite databáze lokálně ukládat Mlflow subjekty (run_id, params, metriky,...)
- Artefakt obchodu (dálkové ovládání) : pomocí blob storage na můj Azure Dat Lake Skladování Gen2, aby uložit výstupní soubory (verzované soubory dat, serializované modely, obrazy, ...) týkající se mého modelu
- Sledování serveru : pomocí něco, co vypadá jako tento příkaz
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
Kde mlruns.db je databáze, které jsem vytvořil v SQLite (uvnitř db složky) a mlartifacts je, složku jsem vytvořil uvnitř blob kontejneru přijímat všechny výstupní soubory.
Jsem spustit tento příkaz a pak já a mlflow spustit (nebo kedro spustit jako jsem pomocí Kedro), ale téměř nic se neděje. Databáze je naplněna 12 stolů, ale všechny prázdné chvíli se nic neděje uvnitř Data lake.
To, co chci by měl vypadat Scénář 4 v dokumentaci.
Pro artefakt obchodě, nemohl jsem najít podrobný návod. Snažil jsem se podívat na Mlflow dokumentaci tady, ale to není velmi užitečné (já jsem stále začátečník). Říká se, že:
MLflow očekává, Azure Storage přístup pověření v AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY proměnné prostředí nebo mají vaše pověření nakonfigurován tak, že DefaultAzureCredential(). třída může vyzvednout.
Nicméně, i při přidávání env proměnné, nic se zdá být uloženy v datovém jezeře. Vytvořil jsem dvě env proměnné (v systému Windows 10):
AZURE_STORAGE_ACCESS_KEY = wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts
AZURE_STORAGE_CONNECTION_STRING = DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=. Mám to tím, že po této cestě na Azure Portálu : Skladování účet/Přístup klíče/Připojovací řetězec (vzal jeden z klíčových 2).
Také uvádějí, že :
Také, musíte spustit pip nainstalovat azure skladování blob samostatně (na obou váš klient a server) pro přístup k Azure Blob Storage. A konečně, pokud chcete použít DefaultAzureCredential, musíte pip nainstalovat azure-identity; MLflow není prohlašuji, že závislost na těchto balíčků ve výchozím nastavení.
Přidal jsem je v mé požadavky projektu, ale co znamenají přesně instalací na straně klienta a serveru ? Jak azure-identity pomáhá v nastavení ?
Mohl byste mi prosím pomoci s krok za krokem návod, jak udělat kompletní nastavení ?
Děkuji předem !
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