Я использую 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)
После этого я хочу создать модель, которая использует скрипт точки входатак что я могу передать его на более поздние пакетные задания. Чтобы передать его этим пакетным заданиям, было бы неплохо, если бы существовало соглашение об именах, которое я мог бы просто использовать вместо того, чтобы хранить где-то уникальные имена моделей.
Итак, я предполагаю два конкретных вопроса:
- Как только оценщик будет установлен, каков наилучший способ сохранить его как модель sagemaker, которая сохраняет ссылку на скрипт entrpoint?
- Как я могу дать модели нестандартное имя, которое недобавьте метку времени
Пока что я могу сделать только 1 или 2, поэтому мне понадобится обходной путь, если нет лучшего подхода (который, как мне кажется, должен). И если мне нужно сделать обходной путьгде где-то хранятся уникальные названия моделей с метками времени, я не уверен, как получить это имя? С помощью transform он просто добавляется к базовому имени, но не уверен, как передать данное имя. Тогда я хотел бы сделать что-то вроде получения списка всех названий моделей и отфильтровать его до того, который мне нужен ... просто кажется, что я все делаю окольным путем.
Спасибо