데이터 세트 삭제 - Rekognition

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 세트 삭제

프로젝트에서 훈련 및 테스트 데이터 세트를 삭제할 수 있습니다.

데이터 세트 삭제(콘솔)

데이터 세트를 삭제하려면 다음 절차를 따르세요. 이후, 프로젝트에 데이터 세트(훈련 또는 테스트)가 하나 남아 있으면 프로젝트 세부 정보 페이지가 표시됩니다. 프로젝트에 남은 데이터 세트가 없는 경우 데이터 세트 생성 페이지가 표시됩니다.

훈련 데이터 세트를 삭제한 경우 모델을 훈련하기 전에 프로젝트에 사용할 새 훈련 데이터 세트를 만들어야 합니다. 자세한 내용은 이미지를 사용하여 훈련 및 테스트 데이터 세트 생성 섹션을 참조하세요.

테스트 데이터 세트를 삭제하면 새 테스트 데이터 세트를 만들지 않고도 모델을 훈련할 수 있습니다. 훈련 중, 훈련 데이터 세트가 분할되어 프로젝트에 사용할 새 테스트 데이터 세트가 생성됩니다. 훈련 데이터 세트를 분할하면 훈련에 사용할 수 있는 이미지 수가 줄어듭니다. 품질을 유지하려면 모델을 훈련하기 전에 새 테스트 데이터 세트를 만드는 것이 좋습니다. 자세한 내용은 프로젝트에 데이터 세트 추가 섹션을 참조하세요.

데이터 세트를 삭제하려면
  1. https://console.aws.amazon.com/rekognition/에서 Amazon Rekognition 콘솔을 엽니다.

  2. 왼쪽 창에서 사용자 지정 레이블 사용을 선택합니다. Amazon Rekognition Custom Labels 랜딩 페이지가 표시됩니다.

  3. 왼쪽 탐색 창에서 프로젝트를 선택합니다. 프로젝트 보기가 표시됩니다.

  4. 삭제하려는 데이터 세트가 들어 있는 프로젝트를 선택합니다.

  5. 왼쪽 탐색 창의 프로젝트 이름 아래에서 데이터 세트를 선택합니다.

  6. 작업을 선택합니다.

  7. 훈련 데이터 세트를 삭제하려면 훈련 데이터 세트 삭제를 선택합니다.

  8. 테스트 데이터 세트를 삭제하려면 테스트 데이터 세트 삭제를 선택합니다.

  9. 훈련 또는 테스트 데이터 세트 삭제 대화 상자에 삭제를 입력하여 데이터 세트 삭제를 확인합니다.

  10. 훈련 또는 테스트 데이터 세트 삭제를 선택하여 데이터 세트를 삭제합니다.

Amazon Rekognition Custom Labels 데이터 세트 삭제(SDK)

Amazon Rekognition Custom Labels 데이터 세트를 삭제할 때는 DeleteDataset를 호출하고 삭제할 데이터 세트의 Amazon 리소스 이름(ARN)을 제공하여 삭제할 수 있습니다. 프로젝트 내 훈련 및 테스트 데이터 세트의 ARN을 가져오려면 DescribeProjects를 호출하세요. 응답에는 ProjectDescription 객체 배열이 포함됩니다. 데이터 세트 ARN(DatasetArn) 및 데이터 세트 유형(DatasetType)이 Datasets 목록에 있습니다.

훈련 데이터 세트를 삭제한 경우 모델을 훈련하기 전에 프로젝트에 사용할 새 훈련 데이터 세트를 만들어야 합니다. 테스트 데이터 세트를 삭제한 경우 모델을 훈련하기 전에 새 테스트 데이터 세트를 만들어야 합니다. 자세한 내용은 프로젝트에 데이터 세트 추가(SDK) 섹션을 참조하세요.

데이터 세트를 삭제하려면(SDK)
  1. 아직 하지 않았다면 AWS CLI 및 AWS SDK를 설치하고 구성하세요. 자세한 내용은 4단계: 설정 AWS CLI 그리고 AWS SDKs 섹션을 참조하세요.

  2. 다음 코드를 사용하여 데이터 세트를 삭제하세요.

    AWS CLI

    dataset-arn의 값을 삭제하려는 데이터 세트의 ARN으로 변경합니다.

    aws rekognition delete-dataset --dataset-arn dataset-arn \ --profile custom-labels-access
    Python

    다음 코드를 사용합니다. 다음 명령줄 파라미터를 제공하세요.

    • dataset_arn: 삭제하려는 데이터 세트의 ARN입니다.

    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Purpose Shows how to delete an Amazon Rekognition Custom Labels dataset. """ import argparse import logging import time import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def delete_dataset(rek_client, dataset_arn): """ Deletes an Amazon Rekognition Custom Labels dataset. :param rek_client: The Amazon Rekognition Custom Labels Boto3 client. :param dataset_arn: The ARN of the dataset that you want to delete. """ try: # Delete the dataset, logger.info("Deleting dataset: %s", dataset_arn) rek_client.delete_dataset(DatasetArn=dataset_arn) deleted = False logger.info("waiting for dataset deletion %s", dataset_arn) # Dataset might not be deleted yet, so wait. while deleted is False: try: rek_client.describe_dataset(DatasetArn=dataset_arn) time.sleep(5) except ClientError as err: if err.response['Error']['Code'] == 'ResourceNotFoundException': logger.info("dataset deleted: %s", dataset_arn) deleted = True else: raise logger.info("dataset deleted: %s", dataset_arn) return True except ClientError as err: logger.exception("Couldn't delete dataset - %s: %s", dataset_arn, err.response['Error']['Message']) raise def add_arguments(parser): """ Adds command line arguments to the parser. :param parser: The command line parser. """ parser.add_argument( "dataset_arn", help="The ARN of the dataset that you want to delete." ) def main(): logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") try: # Get command line arguments. parser = argparse.ArgumentParser(usage=argparse.SUPPRESS) add_arguments(parser) args = parser.parse_args() print(f"Deleting dataset: {args.dataset_arn}") # Delete the dataset. session = boto3.Session(profile_name='custom-labels-access') rekognition_client = session.client("rekognition") delete_dataset(rekognition_client, args.dataset_arn) print(f"Finished deleting dataset: {args.dataset_arn}") except ClientError as err: error_message = f"Problem deleting dataset: {err}" logger.exception(error_message) print(error_message) if __name__ == "__main__": main()
    Java V2

    다음 코드를 사용합니다. 다음 명령줄 파라미터를 제공하세요.

    • dataset_arn: 삭제하려는 데이터 세트의 ARN입니다.

    /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.example.rekognition; import java.util.logging.Level; import java.util.logging.Logger; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.rekognition.RekognitionClient; import software.amazon.awssdk.services.rekognition.model.DeleteDatasetRequest; import software.amazon.awssdk.services.rekognition.model.DeleteDatasetResponse; import software.amazon.awssdk.services.rekognition.model.DescribeDatasetRequest; import software.amazon.awssdk.services.rekognition.model.RekognitionException; public class DeleteDataset { public static final Logger logger = Logger.getLogger(DeleteDataset.class.getName()); public static void deleteMyDataset(RekognitionClient rekClient, String datasetArn) throws InterruptedException { try { logger.log(Level.INFO, "Deleting dataset: {0}", datasetArn); // Delete the dataset DeleteDatasetRequest deleteDatasetRequest = DeleteDatasetRequest.builder().datasetArn(datasetArn).build(); DeleteDatasetResponse response = rekClient.deleteDataset(deleteDatasetRequest); // Wait until deletion finishes DescribeDatasetRequest describeDatasetRequest = DescribeDatasetRequest.builder().datasetArn(datasetArn) .build(); Boolean deleted = false; do { try { rekClient.describeDataset(describeDatasetRequest); Thread.sleep(5000); } catch (RekognitionException e) { String errorCode = e.awsErrorDetails().errorCode(); if (errorCode.equals("ResourceNotFoundException")) { logger.log(Level.INFO, "Dataset deleted: {0}", datasetArn); deleted = true; } else { logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage()); throw e; } } } while (Boolean.FALSE.equals(deleted)); logger.log(Level.INFO, "Dataset deleted: {0} ", datasetArn); } catch ( RekognitionException e) { logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage()); throw e; } } public static void main(String args[]) { final String USAGE = "\n" + "Usage: " + "<dataset_arn>\n\n" + "Where:\n" + " dataset_arn - The ARN of the dataset that you want to delete.\n\n"; if (args.length != 1) { System.out.println(USAGE); System.exit(1); } String datasetArn = args[0]; try { // Get the Rekognition client. RekognitionClient rekClient = RekognitionClient.builder() .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access")) .region(Region.US_WEST_2) .build(); // Delete the dataset deleteMyDataset(rekClient, datasetArn); System.out.println(String.format("Dataset deleted: %s", datasetArn)); rekClient.close(); } catch (RekognitionException rekError) { logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage()); System.exit(1); } catch (InterruptedException intError) { logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage()); System.exit(1); } } }