还原特定的检查点以通过Sagemaker和TensorFlow进行部署

时间:2018-10-23 11:49:57

标签: python tensorflow amazon-sagemaker

我正在使用SageMaker训练一些我意识到的自定义TF模型。在训练期间,我自然会多次评估模型,以了解NN实际何时开始过度拟合。训练后,我想还原最有效的模型(即验证损失最小的模型)并将其部署在端点上。但是,如果我使用经典的Tensorflow.attach(),则恢复的模型与output / model.tar.gz中存储的模型相对应,如果我正确地将其恢复,则该模型将与上一次训练迭代相对应(因此可能会过度拟合)。

是否有一种方法可以向SageMaker指定恢复哪个检查点,而不必通过提前停止来重新训练模型?甚至强迫SM将model.tar.gz保存在模型中,该模型显示的验证损失最小,而最后一个模型对我却不起作用,但是不幸的是,我没有找到任何立即执行此操作的方法...

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用checkpoint_path从先前的检查点恢复模型:

  Type     Reason                        Age               From                       Message
  ----     ------                        ----              ----                       -------
  Warning  FailedGetExternalMetric       18s (x3 over 1m)  horizontal-pod-autoscaler  unable to get external metric prod/container.googleapis.com|container|accelerator|duty_cycle/nil: no metrics returned from external metrics API
  Warning  FailedComputeMetricsReplicas  18s (x3 over 1m)  horizontal-pod-autoscaler  failed to get container.googleapis.com|container|accelerator|duty_cycle external metric: unable to get external metric prod/container.googleapis.com|container|accelerator|duty_cycle/nil: no metrics returned from external metrics API

有关更多信息:

https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/README.rst#restoring-from-checkpoints

https://sagemaker.readthedocs.io/en/latest/sagemaker.tensorflow.html