Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hinzufügen eines Datensatzes zu einem Projekt
Sie können einem vorhandenen Projekt einen Trainingsdatensatz oder einen Testdatensatz hinzufügen. Wenn Sie einen vorhandenen Datensatz ersetzen möchten, löschen Sie zuerst den vorhandenen Datensatz. Weitere Informationen finden Sie unter Löschen eines Dataset. Fügen Sie dann den neuen Datensatz hinzu.
Hinzufügen eines Datensatzes zu einem Projekt (Konsole)
Sie können einem Projekt einen Trainings- oder Testdatensatz hinzufügen, indem Sie die Amazon Rekognition Custom Labels-Konsole verwenden.
Einen Datensatz zu einem Projekt ein Dataset hinzufügen
Öffnen Sie die Amazon Rekognition Rekognition-Konsole unter https://console.aws.amazon.com/rekognition/.
-
Wählen Sie im linken Bereich die Option „Benutzerdefinierte Bezeichnungen“ aus. Die Amazon Rekognition Custom Labels Landingpage wird angezeigt.
-
Wählen Sie im linken Navigationsbereich die Option Projekte aus. Die Projektansicht wird angezeigt.
-
Wählen Sie das Projekt aus, dem Sie ein Dataset hinzufügen möchten.
-
Wählen Sie im linken Navigationsbereich unter dem Projektnamen die Option Dataset aus.
-
Wenn das Projekt keinen vorhandenen Datensatz hat, wird die Seite Datensatz erstellen angezeigt. Gehen Sie wie folgt vor:
-
Geben Sie auf der Seite Datensatz erstellen die Bildquelleninformationen ein. Weitere Informationen finden Sie unter Erstellen von Trainings- und Testdatensätzen mit Bildern.
-
Wählen Sie Datensatz erstellen, um den Datensatz zu erstellen.
-
Wenn das Projekt über einen vorhandenen Datensatz (Training oder Test) verfügt, wird die Seite mit den Projektdetails angezeigt. Gehen Sie wie folgt vor:
-
Wählen Sie auf der Seite mit den Projektdetails die Option Aktionen aus.
-
Wenn Sie einen Trainingsdatensatz hinzufügen möchten, wählen Sie Trainingsdatensatz erstellen.
-
Wenn Sie einen Testdatensatz hinzufügen möchten, wählen Sie Testdatensatz erstellen.
-
Geben Sie auf der Seite Datensatz erstellen die Bildquelleninformationen ein. Weitere Informationen finden Sie unter Erstellen von Trainings- und Testdatensätzen mit Bildern.
-
Wählen Sie Datensatz erstellen, um den Datensatz zu erstellen.
-
Fügen Sie Ihrem Datensatz Bilder hinzu. Weitere Informationen finden Sie unter Weitere Bilder hinzufügen (Konsole).
-
Fügen Sie Ihrem Datensatz Labels hinzu. Weitere Informationen finden Sie unter Neue Labels hinzufügen (Konsole).
-
Füge Labels zu deinen Bildern hinzu. Informationen zum Hinzufügen von Bezeichnungen auf Bildebene finden Sie unterEinem Bild Labels auf Bildebene zuweisen. Informationen zum Hinzufügen von Begrenzungsrahmen finden Sie unterObjekte mit Begrenzungsrahmen mit Labels versehen. Weitere Informationen finden Sie unter Datensätzen einen Zweck geben.
Hinzufügen eines Datensatzes zu einem Projekt (SDK)
Sie können ein Zug- oder TestDataset zu einem bestehenden Projekt auf folgende Weise hinzufügen:
So fügen Sie einem Projekt einen Datensatz hinzu (SDK)
-
Falls noch nicht erfolgt, installieren und konfigurieren Sie dieAWS CLI und dieAWS SDKs. Weitere Informationen finden Sie unter Schritt 4: Richten Sie das ein AWS CLI and AWS SDKs.
-
Verwenden Sie die folgenden Beispiele, um JSON-Zeilen zu einem Datensatz hinzuzufügen.
- CLI
-
project_arn
Ersetzen Sie das Dataset, dem Sie den Datensatz hinzufügen möchten. Ersetzen Siedataset_type
durch,TRAIN
um einen Trainingsdatensatz oder einen TestdatensatzTEST
zu erstellen.
aws rekognition create-dataset --project-arn project_arn
\
--dataset-type dataset_type
\
--profile custom-labels-access
- Python
-
Verwenden Sie folgenden Code, um ein Dataset zu erstellen. Geben Sie die folgenden Befehlszeilenoptionen an:
-
project_arn
— den ARN des Projekts, dem Sie den Testdataset hinzufügen möchten.
-
type
— die Art des Datensatzes, den Sie erstellen möchten (trainieren oder testen)
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import argparse
import logging
import time
import boto3
from botocore.exceptions import ClientError
logger = logging.getLogger(__name__)
def create_empty_dataset(rek_client, project_arn, dataset_type):
"""
Creates an empty Amazon Rekognition Custom Labels dataset.
:param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
:param project_arn: The ARN of the project in which you want to create a dataset.
:param dataset_type: The type of the dataset that you want to create (train or test).
"""
try:
#Create the dataset.
logger.info("Creating empty %s dataset for project %s",
dataset_type, project_arn)
dataset_type=dataset_type.upper()
response = rek_client.create_dataset(
ProjectArn=project_arn, DatasetType=dataset_type
)
dataset_arn=response['DatasetArn']
logger.info("dataset ARN: %s", dataset_arn)
finished=False
while finished is False:
dataset=rek_client.describe_dataset(DatasetArn=dataset_arn)
status=dataset['DatasetDescription']['Status']
if status == "CREATE_IN_PROGRESS":
logger.info(("Creating dataset: %s ", dataset_arn))
time.sleep(5)
continue
if status == "CREATE_COMPLETE":
logger.info("Dataset created: %s", dataset_arn)
finished=True
continue
if status == "CREATE_FAILED":
error_message = f"Dataset creation failed: {status} : {dataset_arn}"
logger.exception(error_message)
raise Exception(error_message)
error_message = f"Failed. Unexpected state for dataset creation: {status} : {dataset_arn}"
logger.exception(error_message)
raise Exception(error_message)
return dataset_arn
except ClientError as err:
logger.exception("Couldn't create dataset: %s", 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(
"project_arn", help="The ARN of the project in which you want to create the empty dataset."
)
parser.add_argument(
"dataset_type", help="The type of the empty dataset that you want to create (train or test)."
)
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"Creating empty {args.dataset_type} dataset for project {args.project_arn}")
# Create the empty dataset.
session = boto3.Session(profile_name='custom-labels-access')
rekognition_client = session.client("rekognition")
dataset_arn=create_empty_dataset(rekognition_client,
args.project_arn,
args.dataset_type.lower())
print(f"Finished creating empty dataset: {dataset_arn}")
except ClientError as err:
logger.exception("Problem creating empty dataset: %s", err)
print(f"Problem creating empty dataset: {err}")
except Exception as err:
logger.exception("Problem creating empty dataset: %s", err)
print(f"Problem creating empty dataset: {err}")
if __name__ == "__main__":
main()
- Java V2
-
Verwenden Sie folgenden Code, um ein Dataset zu erstellen. Geben Sie die folgenden Befehlszeilenoptionen an:
-
project_arn
— den ARN des Projekts, dem Sie den Testdataset hinzufügen möchten.
-
type
— die Art des Datensatzes, den Sie erstellen möchten (trainieren oder testen)
/*
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package com.example.rekognition;
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.CreateDatasetRequest;
import software.amazon.awssdk.services.rekognition.model.CreateDatasetResponse;
import software.amazon.awssdk.services.rekognition.model.DatasetDescription;
import software.amazon.awssdk.services.rekognition.model.DatasetStatus;
import software.amazon.awssdk.services.rekognition.model.DatasetType;
import software.amazon.awssdk.services.rekognition.model.DescribeDatasetRequest;
import software.amazon.awssdk.services.rekognition.model.DescribeDatasetResponse;
import software.amazon.awssdk.services.rekognition.model.RekognitionException;
import java.net.URI;
import java.util.logging.Level;
import java.util.logging.Logger;
public class CreateEmptyDataset {
public static final Logger logger = Logger.getLogger(CreateEmptyDataset.class.getName());
public static String createMyEmptyDataset(RekognitionClient rekClient, String projectArn, String datasetType)
throws Exception, RekognitionException {
try {
logger.log(Level.INFO, "Creating empty {0} dataset for project : {1}",
new Object[] { datasetType.toString(), projectArn });
DatasetType requestDatasetType = null;
switch (datasetType) {
case "train":
requestDatasetType = DatasetType.TRAIN;
break;
case "test":
requestDatasetType = DatasetType.TEST;
break;
default:
logger.log(Level.SEVERE, "Unrecognized dataset type: {0}", datasetType);
throw new Exception("Unrecognized dataset type: " + datasetType);
}
CreateDatasetRequest createDatasetRequest = CreateDatasetRequest.builder().projectArn(projectArn)
.datasetType(requestDatasetType).build();
CreateDatasetResponse response = rekClient.createDataset(createDatasetRequest);
boolean created = false;
//Wait until updates finishes
do {
DescribeDatasetRequest describeDatasetRequest = DescribeDatasetRequest.builder()
.datasetArn(response.datasetArn()).build();
DescribeDatasetResponse describeDatasetResponse = rekClient.describeDataset(describeDatasetRequest);
DatasetDescription datasetDescription = describeDatasetResponse.datasetDescription();
DatasetStatus status = datasetDescription.status();
logger.log(Level.INFO, "Creating dataset ARN: {0} ", response.datasetArn());
switch (status) {
case CREATE_COMPLETE:
logger.log(Level.INFO, "Dataset created");
created = true;
break;
case CREATE_IN_PROGRESS:
Thread.sleep(5000);
break;
case CREATE_FAILED:
String error = "Dataset creation failed: " + datasetDescription.statusAsString() + " "
+ datasetDescription.statusMessage() + " " + response.datasetArn();
logger.log(Level.SEVERE, error);
throw new Exception(error);
default:
String unexpectedError = "Unexpected creation state: " + datasetDescription.statusAsString() + " "
+ datasetDescription.statusMessage() + " " + response.datasetArn();
logger.log(Level.SEVERE, unexpectedError);
throw new Exception(unexpectedError);
}
} while (created == false);
return response.datasetArn();
} catch (RekognitionException e) {
logger.log(Level.SEVERE, "Could not create dataset: {0}", e.getMessage());
throw e;
}
}
public static void main(String args[]) {
String datasetType = null;
String datasetArn = null;
String projectArn = null;
final String USAGE = "\n" + "Usage: " + "<project_arn> <dataset_type>\n\n" + "Where:\n"
+ " project_arn - the ARN of the project that you want to add copy the datast to.\n\n"
+ " dataset_type - the type of the empty dataset that you want to create (train or test).\n\n";
if (args.length != 2) {
System.out.println(USAGE);
System.exit(1);
}
projectArn = args[0];
datasetType = args[1];
try {
// Get the Rekognition client
RekognitionClient rekClient = RekognitionClient.builder()
.credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
.region(Region.US_WEST_2)
.build();
// Create the dataset
datasetArn = createMyEmptyDataset(rekClient, projectArn, datasetType);
System.out.println(String.format("Created dataset: %s", datasetArn));
rekClient.close();
} catch (RekognitionException rekError) {
logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
System.exit(1);
} catch (Exception rekError) {
logger.log(Level.SEVERE, "Error: {0}", rekError.getMessage());
System.exit(1);
}
}
}
-
Fügen Sie Bilder zum Dataset ein. Weitere Informationen finden Sie unter Weitere Bilder hinzufügen (SDK).