Difference between PyTorch, PyTorchModel in sagemaker.pytorc



我正在尝试使用sagemaker中的pytorch创建一个模型。我尝试在sagemaker.pytorch中使用-PyTorch模块[来自sagemaker.pytorch import PyTorch]进行部署。

但是,我想了解 sagemaker.pytorch 中的 PyTorchModel 是什么 [来自 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})

步骤2:我叫适合法

pytorch_model.fit({'train': 's3://training-data/train_data.csv',
'test':'s3://testing-data/test_data.csv'})

步骤3:我调用了部署方法。

predictor = pytorch_model.deploy(instance_type='ml.m4.xlarge', initial_instance_count=1)

我想知道什么时候打电话给create_model()这里。

我在这里得到了一些了解。我们使用[来自sagemaker.pytorch导入PyTorch]进行端到端过程,其中我们使用.fit((训练模型,然后我们可以使用.deploy((部署模型

但是,通过[来自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)

步骤2:

predictor = pytorch_model.deploy(instance_type='ml.c4.xlarge', initial_instance_count=1)

此外,PyTorch 估算器的 .create_model(( 将返回 PyTorchModel 的对象。

如果我在任何地方都错了,请纠正我。

PyTorch 类继承自 Framework 类,而 PyTorchModel 继承自 FrameworkModel 类。

这两者之间的区别在于: 框架用于执行模型的端到端训练和部署 FrameworkModel 用于从预训练模型创建估算器,然后使用 deploy(( 方法使用它来部署端点。这不涉及模型的训练。

在 PyTorch 类中,不能直接调用部署模型。您首先必须调用 fit(( 方法,然后是 deploy(( 方法。

您可以阅读以下博客,了解如何将自己的预训练模型引入 Sagemaker https://aws.amazon.com/blogs/machine-learning/bring-your-own-pre-trained-mxnet-or-tensorflow-models-into-amazon-sagemaker/

关于 create_model(( 方法,如果您想在训练后直接部署端点,则无需在脚本中调用它。 它通常用于需要通过多个模型创建推理管道的场景

相关内容

  • 没有找到相关文章

最新更新