Amazon SageMaker Experiment リソースのクリーンアップ - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker Experiment リソースのクリーンアップ

不要な料金が発生しないようにするには、不要になった Amazon SageMaker Experiment リソースを削除します。 SageMaker マネジメントコンソールまたは Amazon SageMaker Studio Classic UI を使用して Experiment リソースを削除することはできません。このトピックでは、 SageMaker Python SDK、Boto3、および Experiments SDK を使用してこれらのリソースをクリーンアップする方法について説明します。

SageMaker Python SDK を使用してクリーンアップする (推奨)

SageMaker Python SDK を使用してクリーンアップするには

from sagemaker.experiments.experiment import Experiment exp = Experiment.load(experiment_name=experiment_name, sagemaker_session=sm_session) exp._delete_all(action="--force")

Python SDK (boto3) を使ってクリーンアップする

Boto3 を使ってクリーンアップするには

import boto3 sm = boto3.Session().client('sagemaker')

cleanup_boto3 を定義する

def cleanup_boto3(experiment_name): trials = sm.list_trials(ExperimentName=experiment_name)['TrialSummaries'] print('TrialNames:') for trial in trials: trial_name = trial['TrialName'] print(f"\n{trial_name}") components_in_trial = sm.list_trial_components(TrialName=trial_name) print('\tTrialComponentNames:') for component in components_in_trial['TrialComponentSummaries']: component_name = component['TrialComponentName'] print(f"\t{component_name}") sm.disassociate_trial_component(TrialComponentName=component_name, TrialName=trial_name) try: # comment out to keep trial components sm.delete_trial_component(TrialComponentName=component_name) except: # component is associated with another trial continue # to prevent throttling time.sleep(.5) sm.delete_trial(TrialName=trial_name) sm.delete_experiment(ExperimentName=experiment_name) print(f"\nExperiment {experiment_name} deleted")

cleanup_boto3 を呼び出す

# Use experiment name not display name experiment_name = "experiment-name" cleanup_boto3(experiment_name)

Experiments SDK を使ってクリーンアップする

Experiments SDK を使ってクリーンアップするには

import sys !{sys.executable} -m pip install sagemaker-experiments
import time from smexperiments.experiment import Experiment from smexperiments.trial import Trial from smexperiments.trial_component import TrialComponent

cleanup_sme_sdk を定義する

def cleanup_sme_sdk(experiment): for trial_summary in experiment.list_trials(): trial = Trial.load(trial_name=trial_summary.trial_name) for trial_component_summary in trial.list_trial_components(): tc = TrialComponent.load( trial_component_name=trial_component_summary.trial_component_name) trial.remove_trial_component(tc) try: # comment out to keep trial components tc.delete() except: # tc is associated with another trial continue # to prevent throttling time.sleep(.5) trial.delete() experiment_name = experiment.experiment_name experiment.delete() print(f"\nExperiment {experiment_name} deleted")

cleanup_sme_sdk を呼び出す

experiment_to_cleanup = Experiment.load( # Use experiment name not display name experiment_name="experiment-name") cleanup_sme_sdk(experiment_to_cleanup)