如何保存在 Amazon SageMaker 中本地训练的模型?

How to save models trained locally in Amazon SageMaker?

我正在尝试在 SageMaker 中使用本地训练作业。

按照这个 AWS notebook (https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/mxnet_gluon_mnist/mxnet_mnist_with_gluon_local_mode.ipynb),我能够在本地进行训练和预测。

有什么方法可以在本地训练并将训练好的模型保存在Amazon SageMaker Training Job部分? 否则,如何正确保存使用本地模式训练的训练模型?

无法让您的本地模式训练作业出现在 AWS 控制台中。本地模式的目的是在使用 SageMaker 训练您的模型之前允许更快 iteration/debugging。

您可以从本地模型构件创建 SageMaker 模型。将您的模型工件压缩到 .tar.gz 文件中,将该文件上传到 S3,然后创建模型(使用 SDK 或在控制台中)。

文档:

正如@lauren 所说,只需压缩它并创建您的模型。在本地对其进行训练后,您不必将其保存为训练作业,因为您已经拥有模型的工件。

训练作业是 input_location、output_location、所选算法和超参数的组合。这就是在训练工作中保存的内容,而不是在训练模型中保存的内容。训练作业完成后,它实际上会压缩工件并将您的模型保存在 Amazon S3 中,以便您可以从中创建模型。

因此,由于您是在本地训练的(而不是解耦训练步骤),因此使用压缩工件创建模型,然后创建端点并进行一些推理。