如何使用 pytorch 在 sagemaker 中创建管道



我正在处理sagemaker中文本数据的分类问题。其中,我首先拟合并将其转换为结构化格式(例如在 sklearn 中使用 TFIDF(,然后将结果保存在 S3 存储桶中,并用它来训练我的 pytorch 模型,我已经在我的入口点编写了代码。

如果我们注意到,在上述过程结束时,我有两个模型

  1. SKLEARN TFIDF模型
  2. 实际的 PyTorch 模型

因此,每次我需要预测新的文本数据时,我都需要使用我在训练期间创建的 TFIDF 模型单独处理(转换(文本数据。

如何使用 sklearn 的 TFIDF 和 pytorch 模型在 sagemaker 中创建管道。

如果我在入口点的主方法中使用 TFIDF 拟合和转换文本数据,那么如果我在主方法中训练我的 PyTorch 模型,我只能返回一个将在 model_fn(( 中使用的模型

显然,我们需要使用推理管道。

推理管道是一个 Amazon SageMaker 模型,由两到五个容器组成的线性序列组成,用于处理数据推理请求。您可以使用推理管道来定义和部署预训练的 Amazon SageMaker 内置算法和打包在 Docker 容器中的您自己的自定义算法的任意组合。您可以使用推理管道来组合预处理、预测和后处理数据科学任务。推理管道是完全托管的。

可以在这里阅读文档 -

https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipelines.html

例-

https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/scikit_learn_inference_pipeline/Inference%20Pipeline%20with%20Scikit-learn%20and%20Linear%20Learner.ipynb

首先,查看此处的 mnist 示例:

https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/pytorch_mnist/pytorch_mnist.ipynb

在脚本模式下,您可以使用以下估算器运行代码(mnist.py(。

from sagemaker.pytorch import PyTorch
estimator = PyTorch(entry_point='mnist.py',
role=role,
framework_version='1.1.0',
train_instance_count=2,
train_instance_type='ml.c4.xlarge',
hyperparameters={
'epochs': 6,
'backend': 'gloo'
})

只需按照 tfidf 管道更新 mnist.py 脚本即可。希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新