Код: Выделить всё
from sagemaker.sklearn import SKLearnModel
role = sagemaker.get_execution_role()
model = SKLearnModel(
model_data= f"s3://{default_bucket}/{prefix}/model.tar.gz",
role=role,
entry_point="inference.py",
framework_version="1.2-1",
py_version="py3",
)
predictor = model.deploy(
instance_type="ml.c5.large",
initial_instance_count=1,
container_startup_health_check_timeout=180
)
Код: Выделить всё
s3://{default_bucket}/{prefix}/model.tar.gz
Код: Выделить всё
Contents of the tarball:
?rw-r--r-- sagemaker-user/users 4349839 2024-11-29 19:22:21 model.pkl
?rw-r--r-- sagemaker-user/users 24 2024-12-02 14:43:26 inference.py
?rw-r--r-- sagemaker-user/users 44212 2024-11-29 19:23:17 explainer
?rw-r--r-- sagemaker-user/users 24 2024-12-02 14:43:26 requirements.txt
Код: Выделить всё
requirements.txt
Код: Выделить всё
dill
pandas
joblib
Когда я пытаюсь развернуть, я получаю сообщение об ошибке из-за вывода. В первой строке py есть import dill, в котором говорится, что модуль не найден, и в Cloudwatch я вижу, что установлен только вывод 1.0.0 (который, как я полагаю, является моим скриптом).
Я знаю, что, вероятно, мог бы создать подпроцесс в inference.py и вызвать pip, но я хочу сделать это правильно.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -installed