但是,您只能以编程方式为客户端设置跟踪 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,则可能使用 shell 脚本包装器,您可以在其中从配置文件中读取相应的参数。
my_script -f ds_team1.config
my_script -f ds_team2.config
team.config 将具有相应的凭据、端口、mlflow 服务器的参数。
最后,mlflow.log_artifact()是您要记录工件的内容。