Как настроить хранилище артефактов в mlflow? ⇐ Linux
-
Anonymous
Как настроить хранилище артефактов в mlflow?
Как правильно настроить хранение артефактов на S3 в mlflow? Я запускаю тестовый запуск на удаленном компьютере, но выдает ошибку
$python3 mlflow_model.py
Traceback (самый последний вызов — последний): Файл «/home/user/mlflow_client/mlflow_model.py», строка 22, в log_artifacts("выходы") Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/fluent.py», строка 908, в log_artifacts MlflowClient().log_artifacts(run_id, local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/client.py», строка 1138, в log_artifacts self._tracking_client.log_artifacts(run_id, local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/_tracking_service/client.py», строка 463, в log_artifacts self._get_artifact_repo(run_id).log_artifacts(local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/store/artifact/local_artifact_repo.py», строка 59, в log_artifacts mkdir(каталог_артефакта) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/utils/file_utils.py», строка 192, в mkdir поднять е Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/utils/file_utils.py», строка 189, в mkdir os.madeirs (цель) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) [Предыдущая строка повторена ещё 3 раза] Файл "/usr/lib/python3.10/os.py", строка 225, в makedirs mkdir(имя, режим) PermissionError: [Errno 13] Разрешение отклонено: '/"s3:' Я развернул с помощью docker-compose:
Приложение
: перезапуск: всегда сборка: ./mlflow изображение: mlflow_server имя_контейнера: mlflow_server разоблачать: - 5001 среда: - BACKEND=postgresql://${DB_USER:-postgres}@${DB_SERVER:-db}:${DB_PORT:-5432}/${DB_NAME:-mlflow} #- ARTIFACTS=/storage/mlruns # путь в контейнере к хранилищу файлов в filesys # Для хранилища артефактов в AWS S3 (используется boto, установленный в контейнере): # Закомментируйте строку ARTIFACTS выше и вместо этого используйте: - ARTIFACTS="s3://bucket-test/" - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-XXXXXXXXXX} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-XXXXXXXXXXXXXXX} - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-XXXXXXXXXX} объемы: #- ${FILESTORE:-/storage/mlruns}:/storage/mlruns # можно закомментировать эту строку, если используете S3 - ${PGPASS:-~/.pgpass}:/root/.pgpass # предоставляет пароль для BACKEND базы данных. - condaenv_vol:/opt/conda # обеспечивает непрерывность/скорость при выполнении цикла с одним и тем же контейнером команда: - sh # (sh позволяет заменять var BACKEND и ARTIFACTS) - -с - сервер млфлоу --порт 5001 --хост 0.0.0.0 --backend-store-uri $${BACKEND} --default-artifact-root $${ARTIFACTS} --app-name базовая аутентификация Пожалуйста, помогите мне разобраться
Заранее спасибо.
Как правильно настроить хранение артефактов на S3 в mlflow? Я запускаю тестовый запуск на удаленном компьютере, но выдает ошибку
$python3 mlflow_model.py
Traceback (самый последний вызов — последний): Файл «/home/user/mlflow_client/mlflow_model.py», строка 22, в log_artifacts("выходы") Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/fluent.py», строка 908, в log_artifacts MlflowClient().log_artifacts(run_id, local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/client.py», строка 1138, в log_artifacts self._tracking_client.log_artifacts(run_id, local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/tracking/_tracking_service/client.py», строка 463, в log_artifacts self._get_artifact_repo(run_id).log_artifacts(local_dir, Artifact_path) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/store/artifact/local_artifact_repo.py», строка 59, в log_artifacts mkdir(каталог_артефакта) Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/utils/file_utils.py», строка 192, в mkdir поднять е Файл «/home/user/.local/lib/python3.10/site-packages/mlflow/utils/file_utils.py», строка 189, в mkdir os.madeirs (цель) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) Файл «/usr/lib/python3.10/os.py», строка 215, в makedirs makedirs(head,exist_ok=exist_ok) [Предыдущая строка повторена ещё 3 раза] Файл "/usr/lib/python3.10/os.py", строка 225, в makedirs mkdir(имя, режим) PermissionError: [Errno 13] Разрешение отклонено: '/"s3:' Я развернул с помощью docker-compose:
Приложение
: перезапуск: всегда сборка: ./mlflow изображение: mlflow_server имя_контейнера: mlflow_server разоблачать: - 5001 среда: - BACKEND=postgresql://${DB_USER:-postgres}@${DB_SERVER:-db}:${DB_PORT:-5432}/${DB_NAME:-mlflow} #- ARTIFACTS=/storage/mlruns # путь в контейнере к хранилищу файлов в filesys # Для хранилища артефактов в AWS S3 (используется boto, установленный в контейнере): # Закомментируйте строку ARTIFACTS выше и вместо этого используйте: - ARTIFACTS="s3://bucket-test/" - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-XXXXXXXXXX} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-XXXXXXXXXXXXXXX} - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-XXXXXXXXXX} объемы: #- ${FILESTORE:-/storage/mlruns}:/storage/mlruns # можно закомментировать эту строку, если используете S3 - ${PGPASS:-~/.pgpass}:/root/.pgpass # предоставляет пароль для BACKEND базы данных. - condaenv_vol:/opt/conda # обеспечивает непрерывность/скорость при выполнении цикла с одним и тем же контейнером команда: - sh # (sh позволяет заменять var BACKEND и ARTIFACTS) - -с - сервер млфлоу --порт 5001 --хост 0.0.0.0 --backend-store-uri $${BACKEND} --default-artifact-root $${ARTIFACTS} --app-name базовая аутентификация Пожалуйста, помогите мне разобраться
Заранее спасибо.
Мобильная версия