AWS Sagemaker - создать пользовательскую именованную модель со сценарием точки входа (XGBoost) без создания конечной точки? - PullRequest
0 голосов
/ 02 ноября 2019

Я использую sagemaker с пользовательским скриптом точки входа, где я передаю модифицированную функцию прогнозирования. Я хочу сохранить серию моделей для последующего использования для пакетного вывода, а когда это произойдет, я хочу использовать сценарий entrypoiint. У меня проблема в том, что обычная createmodel игнорирует скрипт точки входа.

Я нашел несколько способов создать модель, которая сохраняет сценарий точки входа. Один из них - через endpoint.transformer, но он добавляет временную метку к имени модели, чтобы сделать ее уникальной, что затрудняет последующую ссылку. Я мог бы просто сохранить список этих уникальных имен для последующего использования, но это выглядит немного запутанным.

Использование deploy позволяет мне точно определить имя, но также создает ненужную конечную точку, которую я затем должен удалитьчто опять-таки кажется неправильным способом сделать что-либо.

Итак, после того, как я подстроил свою оценку следующим образом

estimator = XGBoost(entry_point = 'scripts/myscript.py', 

                        role = role,
                        train_instance_count = 1, 
                        train_instance_type = 'ml.c5.2xlarge', 
                        framework_version = '0.90-1', 
                        py_version = 'py3',
                        base_job_name = job_base

                       )

    estimator.fit(s3_data)

После этого я хочу создать модель, которая использует скрипт точки входатак что я могу передать его на более поздние пакетные задания. Чтобы передать его этим пакетным заданиям, было бы неплохо, если бы существовало соглашение об именах, которое я мог бы просто использовать вместо того, чтобы хранить где-то уникальные имена моделей.

Итак, я предполагаю два конкретных вопроса:

  1. Как только оценщик будет установлен, каков наилучший способ сохранить его как модель sagemaker, которая сохраняет ссылку на скрипт entrpoint?
  2. Как я могу дать модели нестандартное имя, которое недобавьте метку времени

Пока что я могу сделать только 1 или 2, поэтому мне понадобится обходной путь, если нет лучшего подхода (который, как мне кажется, должен). И если мне нужно сделать обходной путьгде где-то хранятся уникальные названия моделей с метками времени, я не уверен, как получить это имя? С помощью transform он просто добавляется к базовому имени, но не уверен, как передать данное имя. Тогда я хотел бы сделать что-то вроде получения списка всех названий моделей и отфильтровать его до того, который мне нужен ... просто кажется, что я все делаю окольным путем.

Спасибо

...