Вы можете только установить отслеживание URI программно для клиентов, однако, чтобы регистрировать эксперименты на сервере, запущенном удаленно. Если вы используете для хранения SQLAlchemy-совместимую базу данных, тогда необходимы оба аргумента.
Например, на моем локальном хосте, где я использую sqlite: //mlruns.db, я могу запустить сервер как:
mlflow server --backend-store-uri sqlite:///mlruns.db --default-artifact-root ./mlruns
[2020-03-07 23:06:42 -0800] [3698] [INFO] Starting gunicorn 20.0.4
[2020-03-07 23:06:42 -0800] [3698] [INFO] Listening at: http://127.0.0.1:5000 (3698)
[2020-03-07 23:06:42 -0800] [3698] [INFO] Using worker: sync
[2020-03-07 23:06:42 -0800] [3701] [INFO] Booting worker with pid: 3701
[2020-03-07 23:06:42 -0800] [3702] [INFO] Booting worker with pid: 3702
[2020-03-07 23:06:42 -0800] [3703] [INFO] Booting worker with pid: 3703
[2020-03-07 23:06:42 -0800] [3704] [INFO] Booting worker with pid: 3704
В качестве примечания, если по какой-либо причине вы планируете запустить более одного сервера отслеживания, скажите, если MLflow используется несколькими командами по обработке данных вместе с соответствующим backend-store-uri и default-artifact- root, возможно, используйте оболочку сценария оболочки, в которой вы можете прочитать соответствующие аргументы из файла конфигурации.
my_script -f ds_team1.config
my_script -f ds_team2.config
У team.config будут соответствующие учетные данные, порт, аргументы для mlflow сервер.
Наконец, mlflow.log_artifact () - это то, что вы хотите регистрировать артефакты.
![enter image description here](https://i.stack.imgur.com/kn0MY.png)