O programa de configuração Mlflow de back-end (SQLite) e artefato (Azure Blob Storage) lojas

0

Pergunta

Eu gostaria de instalação Mlflow ter os seguintes componentes :

  • Backend de armazenamento (local) : utilizando um banco de dados SQLite local para armazenar Mlflow entidades (run_id, params, métricas...)
  • Artefato de armazenamento (remoto) : usando um armazenamento de blob no meu Azure Dados Lago de Armazenamento Gen2 para armazenar os arquivos de saída (versões de conjuntos de dados serializados modelos, imagens, ...) relacionadas com o meu modelo
  • Servidor de rastreamento de : usando algo que parece este 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

Onde mlruns.db é um banco de dados que criei no SQLite (dentro de uma pasta db) e mlartifacts é a pasta que eu criei no interior do contêiner de blob para receber todos os arquivos de saída.

Eu executar esse comando e, em seguida, eu e mlflow executar (ou um kedro executar como eu estou usando Kedro), mas quase nada acontece. O banco de dados é preenchido com 12 mesas, mas tudo vazio enquanto nada acontece dentro de Dados lago.

O que eu quero deve olhar como Cenário 4 na documentação.

Para o artefato loja, eu não conseguia encontrar instruções detalhadas. Eu tentei olhar para Mlflow documentação aqui , mas isso não é muito útil (eu ainda sou um novato). Eles dizem que:

MLflow espera Azure Storage credenciais de acesso a AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variáveis de ambiente ou ter suas credenciais configurado de tal modo que o DefaultAzureCredential(). classe pode pegá-los.

No entanto, mesmo quando adicionar as variáveis env, nada parece ser armazenado nos dados lago. Eu criei duas variáveis env (no 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=. Eu tenho que seguindo este caminho no Portal Azure : conta de Armazenamento/chaves de Acesso/Conexão de seqüência de caracteres (levou a uma tecla de 2).

Eles também afirmam que :

Além disso, você deve executar pip install azure-armazenamento de blob separadamente (em ambos o cliente e o servidor) para acesso Azure Blob Storage. Finalmente, se você deseja usar DefaultAzureCredential, você deve pip install azure-identidade; MLflow não declara uma dependência, esses pacotes por padrão.

Eu adicionei na minha requisitos do projeto, mas o que significam exatamente por instalar o cliente e o servidor ? Como azure-identidade ajuda na instalação ?

Por favor, você poderia me ajudar com um passo a passo as instruções sobre como fazer a instalação completa ?

Obrigado antecipadamente !

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

Melhor resposta

2

Você precisa apenas definir AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY é opcional, caso a primeira variável de ambiente é usado (de qualquer maneira, AZURE_STORAGE_ACCESS_KEY não deve ser a URL, mas a real chave de acesso).

Sobre azure-storage-blob o pacote deve ser instalado no servidor onde você executar mlflow servere na mesma máquina em que você executar o seu treino (cliente).

2021-11-27 11:41:33

Obrigado por sua resposta ! Você está certo sobre o AZURE_STORAGE_ACCESS_KEY, eu não sei por que eu fiz esse erro. Em última análise, não foi levado em conta no meu caso, como eu costumava AZURE_STORAGE_CONNECTION_STRING. Eu finalmente consegui fazê-lo funcionar, utilizando duas barras e usando a 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

Em outros idiomas

Esta página está em outros idiomas

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