私MLフローUbuntuのシステムサービス用のリモート追跡サーバー(ここ私が従ったチュートリアル)。つまり、Pythonでプログラムを実行し、sftpを介していくつかのメトリックとファイルをリモートサーバーに送信します。
etc/systemd/system
ファイルで私はmlflow-tracking.service
次のように定義しました。
[Unit]
Description=MLflow server
After=network.target
[Service]
Restart=on-failure
RestartSec=20
ExecStart=/bin/bash -c 'PATH=_mypath_/anaconda3/envs/mlflow_server/bin/:$PATH exec mlflow server --backend-store-uri postgresql://mlflow:mlflow@localhost/mlflow --default-artifact-root file:_mypath_/MLFLOW_SERVER/mlruns -h 0.0.0.0 -p 8000'
[Install]
WantedBy=multi-user.target
私のコンピュータからリモートサーバーにファイルを転送するたびに、すべてがうまくいくようです。すべてのファイルが予想される場所にあります。ただし、MLFlow UIでは、次のエラーメッセージが表示されます。
sftp://192.XXXに保存された成果物を一覧表示できません。自分だけの方法現在/MLFLOW_SERVER/mlruns/bc899e79336b461d9ca86d7dbcc37abf/artifactsを実行しています。トレースサーバー管理者に連絡して、このエラーを通知してください。このエラーは、トレースサーバーが現在実行されているルートアーティファクトディレクトリの下にアーティファクトを一覧表示する権限がない場合に発生する可能性があります。
192.XXX
サービスを実行しているリモートコンピュータのIPアドレスはどこにあり、bc899e79336b461d9ca86d7dbcc37abf/artifacts
ファイルを書き込むフォルダの1つです。
サービスにローカルフォルダのファイルを一覧表示する権限がない理由はありますか?すべてのフォルダの権限はですdrwxrwxr-x
。
答え1
SFTP接続[email protected]
-user
ディレクトリとファイル権限を持つリモートユーザー。
リモートSFTPシステムにSSHとしてログインします。
走ったりwhoami
、より良いまだ実行id
ユーザー名/グループは所有者+権限と一致する必要があります。ls -l /mypath