如何按名称从SageMaker功能存储中删除功能组



使用SageMaker Python SDK删除功能组的方法如下:

my_feature_group.delete()

但这只会删除您当前正在处理的功能组。如何从以前的会话中删除功能组?我尝试直接从S3存储桶中删除它们,但它们仍然出现在FeatureStoreUI中。

如果可以通过UI删除功能组,那就太好了。但如果没有,有没有办法用功能组的全名删除它;使用创建的

my-feature-group-" + strftime("%d-%H-%M-%S", gmtime())

您可以创建FeatureGroup对象并调用delete,或者通过cli或SageMakerFeatureStoreRuntime客户端

来源:aws

您可以在list_feature_groups上循环,如下所示:

def extract_feature_groups(feature_groups):
list_feature_groups = []
list_feature_groups.extend([x['FeatureGroupName'] for x in feature_groups['FeatureGroupSummaries']])
next_token = '' if not ('NextToken' in feature_groups.keys()) else feature_groups['NextToken']
while not (next_token==''):
page_feature_groups = boto_client.list_feature_groups(NextToken=next_token)
list_feature_groups.extend([x['FeatureGroupName'] for x in page_feature_groups['FeatureGroupSummaries']])
next_token = '' if not ('NextToken' in page_feature_groups.keys()) else page_feature_groups['NextToken']
return list_feature_groups
region_name = <your_region_name>
boto_client = boto3.client('sagemaker', region_name=region_name)
boto_session = boto3.session.Session(region_name=region_name)
fs_sagemaker_session = sagemaker.Session(boto_session=boto_session)
feature_groups = boto_client.list_feature_groups()
list_features_groups = extract_feature_groups(feature_groups)
for fg in list_features_groups:
<make sure to include appropriate name filter and/or confirmation requests>
feature_group = FeatureGroup(name = feature, sagemaker_session = fs_sagemaker_session)
feature_group.delete()

功能组需要时间才能完成删除;您可能需要添加一个功能来检查删除是否已成功结束。

最新更新