Метрики пользовательской модели Sagemaker на этапе конвейера оценки

Я создал конвейер sagemaker с пошаговой моделью регистрации, показанной ниже. model_metrics создается на этапе оценки. Он основан на учебных пособиях sagemaker, но во всех примерах, которые я могу найти, используется оценщик SKLearn, моя модель основана на pytorch (это модель sentence-transformers, оцененная с использованием их оценщика информационного поиска).

У меня возникает проблема, когда я просматриваю зарегистрированную модель в студии sagemaker (последняя версия, а не классическая студия sagemaker). Я ожидаю, что метрики появятся на вкладке «Производительность» в разделе «Показатели модели», но все, что я получаю, это счетчик, а затем «NetworkError при попытке получить ресурс».

Этого не произошло до того, как я добавил model_metrics к model.register, поэтому я предполагаю, что здесь должны появиться метрики? Я проверил, что файл существует по тому URI, в котором он зарегистрирован.

У кого-нибудь это работает? Должен ли файл быть определенного формата? Я попытался загрузить пример evaluation.json файла из руководства и передать ему uri, но получил ту же ошибку.

Есть ли способ получить более подробное сообщение об ошибке?

model_metrics = ModelMetrics(
    model_statistics=MetricsSource(
        s3_uri=Join(
            on = "/",
            values=[
                evaluation_step.properties.ProcessingOutputConfig.Outputs["evaluation"].S3Output.S3Uri,
                "evaluation.json",
            ],
        ),
        content_type = "application/json",
    )
)

register_args = model.register(
    content_types=["application/json"],
    response_types=["application/json"],
    transform_instances=["ml.g4dn.xlarge"],  # g5's not available for batch transform?
    inference_instances=["ml.g4dn.xlarge", "ml.g5.xlarge"],
    model_package_group_name=model_package_group_name,
    approval_status = "PendingManualApproval",
    model_metrics=model_metrics,
)

register_model_step = ModelStep(name = "RegisterModel", step_args=register_args)

Проверили ли вы инструменты разработчика в браузере, чтобы увидеть, есть ли какие-либо сетевые ошибки, и если да, то в чем проблема? Я также предлагаю открыть обращение в службу поддержки.

Marc Karp 06.05.2024 06:40

Хорошая идея использовать инструменты разработки, я так и сделаю. К сожалению, повторное обращение в службу поддержки – мы слишком дешево платим за поддержку...

David Waterworth 06.05.2024 07:53

Ааа, да, между студией sagemaker и https://sagemaker-ap-southeast-2-XXX.s3.ap-southeast-2.amazo‌​naws.com/... возникла ошибка CORS, так что, думаю, мне придется попытаться открыть заявку в службу поддержки.

David Waterworth 06.05.2024 07:56

Вместо этого я поднял проблему в репозитории Sagemaker на GitHub.

David Waterworth 06.05.2024 08:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
130
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что в вашей корзине S3 отсутствует необходимая политика CORS, необходимая для новой SageMaker Studio.

В новом интерфейсе Studio к корзинам S3 должна быть применена конфигурация CORS, поскольку Studio обращается к S3 через браузер, который использует CORS для обработки запросов между источниками. Без правильной политики CORS запросы к S3 не будут успешными.

Если вы перешли со Studio Classic на новую версию, вполне вероятно, что корзина S3 по умолчанию для SageMaker не имеет соответствующей конфигурации CORS.

Подробную инструкцию по добавлению конфигурации CORS можно найти здесь.

Короче говоря, вам необходимо добавить следующую политику CORS в нужные корзины S3:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "POST",
            "PUT",
            "GET",
            "HEAD",
            "DELETE"
        ],
        "AllowedOrigins": [
            "https://*.sagemaker.aws"
        ],
        "ExposeHeaders": [
            "ETag",
            "x-amz-delete-marker",
            "x-amz-id-2",
            "x-amz-request-id",
            "x-amz-server-side-encryption",
            "x-amz-version-id"
        ]
    }
]

На самом деле я не использовал корзину по умолчанию, но, похоже, она тоже не обновлялась автоматически. В любом случае это исправило - спасибо!

David Waterworth 13.05.2024 01:18

Другие вопросы по теме