データセットの削除 - Rekognition

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

データセットの削除

プロジェクトからトレーニングデータセットとテストデータセットを削除できます。

データセットの削除 (コンソール)

次の手順に従って、データセットを削除します。その後、プロジェクトにデータセット (トレーニングまたはテスト) がある場合は、プロジェクトの詳細ページが表示されます。プロジェクトに残っているデータセットがない場合は、[データセットを作成] ページが表示されます。

トレーニングデータセットを削除した場合、モデルをトレーニングする前に、プロジェクト用に新しいトレーニングデータセットを作成する必要があります。詳細については、「イメージ付きのトレーニングデータセットとテストデータセットの作成」を参照してください。

テストデータセットを削除すれば、新しいテストデータセットを作成しなくてもモデルをトレーニングできます。トレーニング中、トレーニングデータセットは分割され、プロジェクト用の新しいテストデータセットが作成されます。トレーニングデータセットを分割すると、トレーニングに使用できるイメージの数が減ります。品質を維持するために、モデルをトレーニングする前に新しいテストデータセットを作成することを推奨します。詳細については、「データセットをプロジェクトに追加する」を参照してください。

データセットを削除するには
  1. Amazon Rekognition コンソールを https://console.aws.amazon.com/rekognition/ で開きます。

  2. 左側のペインで、[カスタムラベルを使用] を選択します。Amazon Rekognition Custom Labels のランディングページが表示されます。

  3. 左側のナビゲーションペインで、[Projects] (プロジェクト) を選択します。プロジェクトビューが表示されます。

  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 SDK をセットアップする」を参照してください。

  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); } } }