我对 SageMaker 很陌生。在我第一次互动时,AWS SageMaker 似乎要求您从其笔记本开始。我有一个准备好的训练集。有没有办法绕过设置 Notebook 而只是从上传训练集开始?或者应该通过笔记本来完成。如果有人知道一些适合我上面需要的例子,那就太好了。
1 回答
Amazon SageMaker 是多项服务的组合,每项服务都独立于其他服务。如果您想在熟悉的 Jupyter 环境中开发模型,可以使用笔记本实例。但是如果只是需要训练一个模型,你可以在不打开笔记本实例的情况下使用训练作业。
有几种方法可以启动培训工作:
- 使用类似于您在 Python 代码中开始训练步骤的方式的用于 Python 的高级 SDK
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
- 使用向导在 Amazon SageMaker 控制台中创建训练作业:https ://console.aws.amazon.com/sagemaker/home?region=us-east-1#/jobs
请注意,还有一些训练模型的选项,可以使用内置算法,例如 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)。