我正在尝试按照教程here来实现用于特征预处理的自定义推理管道。它使用python sklearn sdk从脚本引入自定义预处理管道。例如:
from sagemaker.sklearn.estimator import SKLearn
script_path = 'preprocessing.py'
sklearn_preprocessor = SKLearn(
entry_point=script_path,
role=role,
train_instance_type="ml.c4.xlarge",
sagemaker_session=sagemaker_session)
但是我找不到发送多个文件的方法。我需要多个文件的原因是因为我有一个sklearn管道中使用的自定义类,需要从自定义模块中导入。如果不导入,则由于泡菜的工作方式(至少我认为它与泡菜有关),在同一preprocessing.py文件中包含自定义类时,会引发错误AttributeError: module '__main__' has no attribute 'CustomClassName'
。
有人知道甚至可以发送多个文件吗?
Sagemaker的新手,谢谢!
答案 0 :(得分:0)
有一个source_dir参数可以将文件目录“提升”到容器中,并将其放在导入路径中。
您应该将入口点脚本放在该位置并从该位置引用。