我已经使用SageMaker训练了Pytorch模型,该模型现在存储在S3存储桶中。 我正在尝试检索该模型并进行部署。
这是我正在使用的代码:
estimator = sagemaker.model.FrameworkModel(
model_data= #link to model location in s3
image= # image
role=role,
entry_point='train.py',
source_dir='pytorch_source',
sagemaker_session = sagemaker_session
)
predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.p2.xlarge")
但是在部署过程(似乎运行顺利)之后,预测变量只是一个NoneType。 我没有在日志中找到任何奇怪的消息...
我还尝试了以下代码:
estimator = PyTorchModel(model_data= #link to model location in s3
role=role,
image= #image
entry_point='pytorch_source/train.py',
predictor_cls = 'pytorch_source/train.py',
framework_version = '1.1.0')
predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.p2.xlarge")
但是它甚至还没有完成部署。
任何人都可以帮忙吗?
答案 0 :(得分:0)
我实际上使用PyTorchModel进行了以下设置:
estimator = PyTorchModel(model_data='#path to model,
role=role,
source_dir='pytorch_source',
entry_point='deploy.py',
predictor_cls = ImgPredictor,
framework_version = '1.1.0')
ImgPredictor在哪里
from sagemaker.predictor import RealTimePredictor, json_deserializer
class ImgPredictor(RealTimePredictor):
def __init__(self, endpoint_name, sagemaker_session):
super(ImgPredictor, self).__init__(endpoint_name, sagemaker_session, content_type='application/x-image',
deserializer = json_deserializer ,accept='application/json')
和deploy.py包含必需的函数input_fn,output_fn,model_fn和predict_fn。 另外,源目录中缺少requirements.txt文件。