实验常见问题解答 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

实验常见问题解答

有关 SageMaker Experiments 的常见问题解答,请参阅以下常见问题解答项。

答:实验是运行的集合,旨在找到解决问题的最佳模型。要在实验中初始化运行,可使用 SageMaker Python SDK Run 类。有关更多示例,请参阅创建 Amazon SageMaker 实验

是。可以使用 SageMaker 脚本模式创建实验。在用于定义评估程序的 Jupyter 笔记本或 Python 文件中,使用 Run 类初始化运行。在运行中,使用自定义入口点脚本启动评估程序。在该入口点脚本中,使用 load_run 方法初始化在入口点脚本中定义的运行,并记录指标。有关深入的示例,请参阅使用脚本模式跟踪 SageMaker 训练作业的实验

SageMaker 超参数优化 (HPO) 作业(也称为调优作业)会自动创建实验,以跟踪在超参数搜索期间启动的所有训练作业。除非从实验中启动,否则所有其他 SageMaker 作业都会创建未分配的运行。

您可以使用 SageMaker 实验来跟踪训练作业、处理作业和转换作业的指标。

默认情况下,由 SageMaker 作业和容器自动创建的实验运行在 Studio“实验”用户界面中是可见的。要隐藏 SageMaker 作业为给定实验创建的运行,可选择设置图标 ( 
            The settings icon for Studio.
          ) 并切换显示作业

是,SageMaker Experiments SDK 仍然受到支持。不过,从 v2.123.0 开始,SageMaker Experiments 已与 SageMaker Python SDK 完全集成。我们建议使用 SageMaker Python SDK 创建实验和运行。有关更多信息,请参阅创建 Amazon SageMaker 实验

答:是。但是,分布式训练的指标只能以周期级别记录。请确保仅记录由领导节点生成的指标,如下例所示:

... if rank == 0: test_loss, correct, target, pred = test(model, test_loader, device, tracker) logger.info( "Test Average loss: {:.4f}, Test Accuracy: {:.0f}%;\n".format( test_loss, test_accuracy) ) ) run.log_metric(name = "train_loss", value = loss.item(), step = epoch) run.log_metric(name = "test_loss", value = test_loss, step = epoch) run.log_metric(name = "test_accuracy", value = test_accuracy, step = epoch) ...

有关更多信息,请参阅使用 Pytorch 分布式数据并行功能运行 SageMaker 实验 – MNIST 手写数字分类示例笔记本。

答:SageMaker 中的所有作业(训练作业、处理作业、转换作业)都对应于运行。启动这些作业时,默认情况下会创建 TrialComponentsTrialComponents 直接映射到运行。如果这些作业在启动时未与实验或运行明确关联,则将作为未分配的运行创建。

答:是。您需要将运行上下文以及 SageMaker 会话信息加载到训练脚本中。

from sagemaker.session import Session from sagemaker.experiments.run import load_run session = Session(boto3.session.Session(region_name=args.region)) with load_run(sagemaker_session=session) as run: run.log_parameters( {"num_train_samples": len(train_set.data), "num_test_samples": len(test_set.data)} )

答:如果您已经为实验创建了比较并希望添加新的运行进行分析,那么可选择先前分析中的所有运行以及新的运行,然后选择分析。如果您在生成的分析页面中看不到新的运行,可刷新 Studio 浏览器。请注意,刷新 Studio 浏览器可能会影响其他打开的选项卡。