Vai*_*ore 2 pytorch amazon-sagemaker
我正在尝试在 sagemaker 中使用 pytorch 创建一个模型。我尝试在 sagemaker.pytorch [from sagemaker.pytorch import PyTorch] 中使用 - PyTorch 模块进行部署。
但是,我想了解 sagemaker.pytorch 中的 PyTorchModel 是什么 [from sagemaker.pytorch import PyTorchModel]。他们都有deploy()
。我按照链接https://sagemaker.readthedocs.io/en/stable/using_pytorch.html创建和部署模型。我在任何地方都没有看到使用“PyTorchModel”。我想知道其中的区别以及何时使用什么。
到目前为止我尝试了以下方法。
第1步:我调用了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})
Run Code Online (Sandbox Code Playgroud)
Step2:我调用了fit方法
pytorch_model.fit({'train': 's3://training-data/train_data.csv',
'test':'s3://testing-data/test_data.csv'})
Run Code Online (Sandbox Code Playgroud)
Step3:我调用了deploy方法。
predictor = pytorch_model.deploy(instance_type='ml.m4.xlarge', initial_instance_count=1)
Run Code Online (Sandbox Code Playgroud)
我想知道什么时候打电话到create_model()
这里。
看到这里我有了一些了解。我们使用 [from sagemaker.pytorch import PyTorch] 进行端到端流程,其中我们使用 .fit() 训练模型,然后我们可以使用 .deploy() 部署模型
但是,通过 [from sagemaker.pytorch import PyTorchModel],我们可以使用已经训练过的模型。
步骤1:
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)
Run Code Online (Sandbox Code Playgroud)
第2步:
predictor = pytorch_model.deploy(instance_type='ml.c4.xlarge', initial_instance_count=1)
Run Code Online (Sandbox Code Playgroud)
此外,PyTorch Estimator 的 .create_model() 将返回 PyTorchModel 的对象。
如果我有任何错误,请纠正我。
PyTorch 类继承自 Framework 类,而 PyTorchModel 继承自 FrameworkModel 类。
两者之间的区别在于: Framework 用于执行模型的端到端训练和部署 FrameworkModel 用于从预训练模型创建 Estimator,然后使用它通过 deploy() 方法部署端点。这不涉及模型的训练。
在PyTorch类中,您不能直接调用部署模型。您首先必须调用 fit() 方法,然后调用 deploy() 方法。
您可以阅读以下博客,了解如何将自己的预训练模型引入 Sagemaker https://aws.amazon.com/blogs/machine-learning/bring-your-own-pre-trained-mxnet-or-tensorflow-models -进入亚马逊-sagemaker/
关于 create_model() 方法,如果您想在训练后直接部署端点,则无需在脚本中调用它。一般用于需要创建管道通过多个模型进行推理的场景
归档时间: |
|
查看次数: |
1304 次 |
最近记录: |