2
respostas

Erro ao rodar o modelo via mlflow models predict Aula4-Video3

Olá na hora de executar o comando mlflow models predict -m 'runs:/8036b30765e543519a2bd454e41e664c/model' -i 'data/processed/precos.csv' -t 'csv' -o 'precos3.csv' o mlflow retorna o seguinte erro: mlflow.exceptions.MlflowException: The following failures occurred while downloading one or more artifacts from 'runs:/25f25af2231d4f5a858d4c23eaa7ae2c/model':

File MLmodel

[Errno 2] No such file or directory: "S:\25f25af2231d4f5a858d4c23eaa7ae2c\model'\MLmodel"

Alguém já teve esse problema?

2 respostas

Parece que há um problema com a localização do arquivo MLmodel ao tentar fazer previsões com o modelo usando o comando mlflow models predict. O erro indica que não consegue encontrar o arquivo MLmodel no caminho especificado.

A mensagem de erro mostra que o caminho para o arquivo MLmodel está incorreto. Parece haver uma mistura de barras invertidas (\) e barras normais (/) no caminho. Além disso, há um caractere único de aspas simples no início do caminho, o que pode estar causando confusão.

Aqui estão algumas sugestões para resolver esse problema:

  1. Corrija o caminho: Certifique-se de que o caminho para o modelo está correto. Substitua todas as barras invertidas (\) por barras normais (/) e remova qualquer caractere desnecessário, como as aspas simples no início do caminho.

    Exemplo de caminho corrigido:

    mlflow models predict -m 'runs:/25f25af2231d4f5a858d4c23eaa7ae2c/model' -i 'data/processed/precos.csv' -t 'csv' -o 'precos3.csv'
    
  2. Use caminho absoluto: Em vez de um caminho relativo, use um caminho absoluto para o modelo.

    Exemplo de caminho absoluto:

    mlflow models predict -m 'C:\caminho\completo\do\modelo' -i 'data/processed/precos.csv' -t 'csv' -o 'precos3.csv'
    
  3. Verifique a existência do arquivo MLmodel: Confirme se o arquivo MLmodel está presente no caminho especificado. Se não estiver, pode ser necessário revisar como o modelo foi salvo no MLflow.

    Certifique-se de que o modelo foi salvo corretamente usando o comando de treinamento, por exemplo:

    mlflow.sklearn.log_model(model, "model")
    

Verifique esses pontos e ajuste o comando de acordo. Se o problema persistir, pode ser útil revisar como o modelo foi salvo e se há algum problema na estrutura do diretório do MLflow.

Primeiramente muito obrigado pela presteza e didática. Fez muito sentido as soluções propostas, porém ainda não obtive sucesso.

O fato da mensagem de erro inverter as barras me chamou a atenção também. Além de incluir um MLmodel no final do caminho do ID do modelo. Como tentativa inverti as barras mas nada também.

Outra coisa é que consigo rodar a inferência do modelo através do script python: python src/models/predict_model.py

Além disso, eu consigo ver que o modelo existe e está localizado na pasta models; Além disso consigo ver ele pela interface UI e onde está localizado na pasta ML Runs. Porém não consigo fazer o modelo rodar através do MlFlow.

Também tentei rodar utilizando o caminho absoluto, mas também não obtive sucesso.