如何创建与pytorch sagemaker管道(How to create a pipeline

2019-10-31 10:32发布

我处理的分类问题,在sagemaker文本数据。 其中,我先适应和(在sklearn使用TFIDF说)其转换成结构化的格式,然后我不停的结果S3水桶,我用它来训练,我已经在我的切入点编写的代码我pytorch模型。

如果我们注意到,通过上述过程结束,我有两个型号

  1. sklearn TFIDF模型
  2. 实际PyTorch模型

所以,当我每次需要预测一个新的文本数据,我需要单独处理(变换)与TFIDF模型,我在我的训练过程中创建的文本数据。

我怎样才能创建sagemaker管道与sklearn的TFIDF和pytorch模型。

如果我配合并在入口点变换使用TFIDF文本数据在我的主要方法然后如果我在主要方法训练我pytorch模型,我可以返回其将在model_fn仅使用一个模型()

Answer 1:

首先,这里检出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脚本。 希望这可以帮助。



Answer 2:

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

推断管道是由四点五十八容器,其处理用于对数据推论的请求的线性序列的亚马逊SageMaker模型。 您可以使用一个推理管道定义和部署包装在Docker容器的预训练亚马逊SageMaker内置算法任意组合自己的自定义算法。 您可以使用一个推理管道预处理,预测和后处理数据的科学任务结合起来。 推理管道完全管理。

一个可以在这里阅读文档 -

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



文章来源: How to create a pipeline in sagemaker with pytorch