【发布时间】:2020-04-16 03:23:20
【问题描述】:
我正在使用 Sagemaker 训练模型,特别是 DeepAR 图像,并将训练集和测试集作为 fit 函数的输入。
示例代码:
image_name = sagemaker.amazon.amazon_estimator.get_image_uri(region, "forecasting-deepar", "latest")
estimator = sagemaker.estimator.Estimator(
sagemaker_session=sagemaker_session,
image_name=image_name,
role=role,
train_instance_count=1,
train_instance_type=train_instance_type,
base_job_name=job_name,
output_path=s3_output_path
)
data_channels = {
"train": s3_train_path,
"test": s3_test_path
}
estimator.fit(inputs=data_channels, wait=True, job_name=model_name)
我在训练结果的最后看到了一些测试结果指标,但我希望得到实际预测以进行分析。测试结果指标示例:
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, RMSE): 819.800852342
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, mean_wQuantileLoss): 0.33004057
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.1]): 0.12110487
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.2]): 0.20682412
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.3]): 0.2760827
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.4]): 0.3326178
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.5]): 0.37820518
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.6]): 0.41009128
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.7]): 0.42785496
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.8]): 0.42626995
[12/25/2019 13:02:26 INFO 139821722212160] #test_score (algo-1, wQuantileLoss[0.9]): 0.3913141
我发现最好的办法是根本不上传测试集,而是单独运行batch_transform 作业来获取测试预测。
Docs 对估算器 output_path 的说法含糊不清:
用于保存训练结果(模型工件和输出文件)的 S3 位置
不确定其中包括什么。 有没有办法获得测试集的预测? 提前致谢!
【问题讨论】:
标签: python amazon-s3 amazon-sagemaker