Произошла ошибка (ModelError) при вызове операции InvokeEndpoint: получена ошибка сервера (500) от первичного сервера с сообщением — а затем, как правило, что-то бесполезно усечено. В этой ошибке важно то, что это не Sag...
Произошла ошибка (ModelError) при вызове операции InvokeEndpoint: получена ошибка сервера (500) от первичного сервера с сообщением — а затем, как правило, что-то бесполезно усечено. В этой ошибке важно то, что это не ошибка SageMaker. Это ошибка вашего контейнера, завернутая.
Что означает ModelError
Ссылка на API InvokeEndpoint определяет это в одном предложении: «Модель (принадлежащая клиенту в контейнере) вернула код ошибки 4xx или 5xx». HTTP-статус самого ответа ModelError — 424 — Failed Dependency, что является именно правильным кодом и точно указывает, где искать. SageMaker успешно перенаправил ваш запрос, контейнер получил его, и контейнер ответил с ошибкой.
Так что никакие обычные проверки конечных точек не помогают. Конечная точка — InService, разрешения IAM в порядке, экземпляр исправен. Что не удалось, так это код внутри контейнера, и все, что ниже, посвящено получению собственного сообщения этого кода.
Три поля в исключении
AWS документирует ModelError как содержащую три поля, и большинство людей никогда не видят два из них, потому что строковое представление исключения по умолчанию не отображает их:
OriginalStatusCode — статус вашего контейнера