如何在AWS SageMaker中加载训练集来构建模型?

时间:2018-03-08 08:33:41

标签: amazon-web-services amazon-sagemaker

我对SageMaker很新。在我第一次进行交互时,看起来AWS SageMaker要求您从其Notebook开始。我有一套准备就绪的训练套装。有没有办法绕过设置笔记本,只是通过上传训练集开始?或者它应该通过笔记本电脑完成。如果有人知道一些符合我上述需求的例子,那就太棒了。

1 个答案:

答案 0 :(得分:1)

Amazon SageMaker是多种服务的组合,每种服务都独立于其他服务。如果要在熟悉的Jupyter环境中开发模型,可以使用笔记本实例。但是,如果只需要训练模型,您可以在不打开笔记本实例的情况下使用培训作业。

有几种方法可以开展培训工作:

  • 使用Python的高级SDK,类似于在python代码中启动训练步骤的方式

kmeans.fit(kmeans.record_set(train_set[0]))

以下是python库的链接:https://github.com/aws/sagemaker-python-sdk

  • 使用低级API创建 - 培训 - 作业,您可以使用各种SDK(Java,Python,JavaScript,C#...)或CLI来实现。

sagemaker = boto3.client('sagemaker') sagemaker.create_training_job(**create_training_params)

以下是有关这些选项的文档的链接:https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-train-model-create-training-job.html

  • 使用Spark界面使用类似的界面启动它以创建MLLib培训作业

val estimator = new KMeansSageMakerEstimator( sagemakerRole = IAMRole(roleArn), trainingInstanceType = "ml.p2.xlarge", trainingInstanceCount = 1, endpointInstanceType = "ml.c4.xlarge", endpointInitialInstanceCount = 1) .setK(10).setFeatureDim(784)

val model = estimator.fit(trainingData)

以下是spark-sagemaker库的链接:https://github.com/aws/sagemaker-spark

请注意,还有一些选项可用于训练模型,使用内置算法,如K-Means,Linear Learner或XGBoost(请参阅此处获取完整列表:https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html)。但您也可以为预先出炉的Docker图像(如TensorFlow(https://docs.aws.amazon.com/sagemaker/latest/dg/tf.html)或MXNet(https://docs.aws.amazon.com/sagemaker/latest/dg/mxnet.html),您自己的Docker图像(https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html)带来自己的模型。