Восстановите определенную контрольную точку для развертывания с помощью Sagemaker и TensorFlow - PullRequest
0 голосов
/ 23 октября 2018

Я использую SageMaker для обучения некоторой пользовательской модели TF, которую я понял.Во время тренировки я, естественно, оцениваю модель несколько раз, чтобы понять, когда NN действительно начинает переоснащениеПосле обучения я хотел бы восстановить модель, которая работает лучше всего (т.е. с минимальными потерями при проверке), и развернуть ее на конечной точке.Однако, если я использую классический Tensorflow.attach (), восстанавливаемая модель соответствует модели, сохраненной в output / model.tar.gz, которая, если я правильно понял, будет той, которая соответствует последней итерации обучения (таким образом, это может налагаться).

Есть ли способ указать SageMaker, какую контрольную точку восстанавливать, не обязательно переобучая модель с ранней остановкой?Даже вынудив SM сохранить в model.tar.gz модель, которая представляет минимальные потери при проверке и не последнюю, будет работать для меня, к сожалению, я не нашел немедленного способа сделать это ...

Спасибовы!

1 Ответ

0 голосов
/ 27 октября 2018

Вы можете использовать checkpoint_path для восстановления модели с предыдущей контрольной точки:

previous_checkpoint_path = 's3://location/of/my/previous/generated/checkpoints'

tf_estimator = TensorFlow('tf-train.py', role='SageMakerRole',
                          checkpoint_path=previous_checkpoint_path
                          training_steps=10000, evaluation_steps=100,
                          train_instance_count=1, train_instance_type='ml.p2.xlarge',
                          framework_version='1.10.0')
tf_estimator.fit('s3://bucket/path/to/training/data')

Для получения дополнительной информации:

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

...