我正在使用Sagemaker来训练keras模型。训练模型时,我需要实施早期停止方法。
有没有办法传递诸如EarlyStopping,Histories..etc之类的回调。
以传统方式,我们通常将此参数作为参数传递给keras的fit函数:
results = model.fit(train_x_trim, train_y_trim,
validation_data=(test_x, test_y),
epochs=FLAGS.epoch,
verbose=0,
callbacks=[tboard, checkpointer, early_stopping, history])
但是,如果使用SageMaker,我们需要调用SageMaker的fit函数,该函数不支持回调。
from sagemaker.tensorflow import TensorFlow
iris_estimator = TensorFlow(entry_point='training_code.py',
role=role, output_path=model_location,
code_location=custom_code_upload_location,
train_instance_count=1,
train_instance_type='ml.c4.xlarge',
training_steps=1000,
evaluation_steps=100)
任何想法如何在SageMaker中实现回调?
答案 0 :(得分:1)
我为迟到表示歉意。
看起来您上面指定的Keras代码本质上是您的算法代码。这将在您的用户脚本中定义,在您提供的SageMaker Python SDK示例中为“ training_code.py”。
从TensorFlow 1.11开始,SageMaker预定义的TensorFlow容器支持“脚本模式”。您应该可以在用户脚本中指定Keras回调。