Nastavení Mlflow backend (SQLite) a artefakt (Azure Blob Storage) ukládá

0

Otázka

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 !

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

Nejlepší odpověď

2

Musíte jen nastavit AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY je nepovinný, je-li první proměnná se používá (stejně, AZURE_STORAGE_ACCESS_KEY neměl by být URL, ale skutečný přístupový klíč).

Pokud jde azure-storage-blob balíček - to by mělo být nainstalovány jak na serveru, kam utečeš mlflow servera na stejném stroji, kde si spuštění vašeho tréninku (klienta).

2021-11-27 11:41:33

Děkuji za vaši odpověď ! Máš pravdu o AZURE_STORAGE_ACCESS_KEY, nevím, proč jsem udělal tuto chybu. Nakonec to nebyla vzata v úvahu v mém případě, jak jsem zvyklý AZURE_STORAGE_CONNECTION_STRING. Konečně se mi podařilo, aby to fungovalo pomocí dvojité zpětné lomítko a pomocí portu 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

V jiných jazycích

Tato stránka je v jiných jazycích

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