我正在尝试创建一个模型,使用火把在救世主。我尝试在sagemaker.pytorch中从sagemaker.pytorch导入PyTorch中部署使用-sagemaker.pytorch模块。
但是,我想了解PyTorchModel在sagemaker.pytorch中的sagemaker.pytorch import PyTorchModel是什么。他们都有deploy()。我按照链接pytorch.html创建和部署模型。在这里我看不到在任何地方使用"PyTorchModel“。我想知道不同之处,以及何时使用什么。
到目前为止,我尝试了以下几种方法。
步骤1 : I称为pytorch估计器
pytorch_model = PyTorch(entry_point='entry_v1.py',
train_instance_type='ml.m5.4xlarge',
role = role,
train_instance_count=1,
output_path = "s3://model-output-bucket/test",
framework_version='1.1',
hyperparameters = {'epochs': 10,'learning-rate': 0.01})Step2 : i调用fit方法
pytorch_model.fit({'train': 's3://training-data/train_data.csv',
'test':'s3://testing-data/test_data.csv'})Step3: i调用了deploy方法。
predictor = pytorch_model.deploy(instance_type='ml.m4.xlarge', initial_instance_count=1)我想知道什么时候给create_model()打电话。
--我在这里得到了一些了解。,我们使用sagemaker.pytorch导入PyTorch进行端到端的处理,在这里我们用.fit()训练模型,然后用.deploy()部署模型。
但是,通过使用sagemaker.pytorch导入PyTorchModel,我们可以使用已经经过训练的模型。
Step1:
pytorch_model = PyTorchModel(model_data='s3://model-output-bucket/sagemaker-pytorch-2019-08-20-16-54-32-500/output/model.tar.gz', role=role,entry_point=entry_v1.py,sagemaker_session=sagemaker_session)Step2:
predictor = pytorch_model.deploy(instance_type='ml.c4.xlarge', initial_instance_count=1)此外,.create_model()的PyTorch估计将返回一个对象的PyTorchModel。
如果我哪里都错了,请纠正我。
发布于 2019-08-22 15:08:38
PyTorch类是从框架类继承的,而PyTorchModel类是从FrameworkModel类继承的。
这两者的区别在于:框架用于执行端到端的培训,而模型的部署则使用FrameworkModel从预先训练的模型创建估计器,然后使用它使用部署()方法部署端点。这不涉及对模型的培训。
在PyTorch类中,不能直接调用部署模型。您首先必须调用fit()方法,后面跟着部署()方法。
您可以阅读下面的博客,介绍如何将您自己的预先培训过的模型带到Sagemaker https://aws.amazon.com/blogs/machine-learning/bring-your-own-pre-trained-mxnet-or-tensorflow-models-into-amazon-sagemaker/中
关于create_model()方法,如果您想在培训后直接部署端点,则不需要在脚本中调用它。它通常用于需要创建用于通过多个模型进行推理的管道的场景。
https://stackoverflow.com/questions/57604157
复制相似问题