Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menambahkan dataset ke proyek
Anda dapat menambahkan kumpulan data pelatihan atau kumpulan data pengujian ke proyek yang sudah ada. Jika Anda ingin mengganti kumpulan data yang ada, hapus dulu kumpulan data yang ada. Untuk informasi selengkapnya, lihat Menghapus set data. Kemudian, tambahkan dataset baru.
Menambahkan dataset ke proyek (Console)
Anda dapat menambahkan set data pelatihan atau pengujian ke proyek dengan menggunakan konsol Label Kustom Amazon Rekognition.
Untuk menambahkan dataset ke proyek
Buka konsol Amazon Rekognition di https://console.aws.amazon.com/rekognition/.
-
Di panel sebelah kiri, pilih Gunakan Label Kustom. Halaman arahan Amazon Rekognition Custom Labels ditampilkan.
-
Di panel navigasi kiri, pilih Proyek. Tampilan Proyek ditampilkan.
-
Pilih proyek yang ingin Anda tambahkan set data.
-
Di panel navigasi kiri kiri kiri kiri kiri kiri kiri kiri kiri, pilih Set data.
-
Jika proyek tidak memiliki dataset yang ada, halaman Create dataset akan ditampilkan. Lakukan hal berikut:
-
Pada halaman Buat set data, masukkan informasi sumber gambar. Untuk informasi selengkapnya, lihat Membuat kumpulan data pelatihan dan uji dengan gambar.
-
Pilih Buat set data untuk membuat kumpulan data.
-
Jika proyek memiliki dataset yang ada (pelatihan atau pengujian), halaman detail proyek akan ditampilkan. Lakukan hal berikut:
-
Pada halaman detail proyek, pilih Tindakan.
-
Jika Anda ingin menambahkan kumpulan data pelatihan, pilih Buat set data pelatihan.
-
Jika Anda ingin menambahkan kumpulan data pengujian, pilih Buat set data pengujian.
-
Pada halaman Buat set data, masukkan informasi sumber gambar. Untuk informasi selengkapnya, lihat Membuat kumpulan data pelatihan dan uji dengan gambar.
-
Pilih Buat set data untuk membuat kumpulan data.
-
Tambahkan gambar ke set data Anda. Untuk informasi selengkapnya, lihat Menambahkan lebih banyak gambar (konsol).
-
Tambahkan label ke set data Anda. Untuk informasi selengkapnya, lihat Tambahkan label baru (Konsol).
-
Tambahkan label ke gambar Anda. Jika Anda menambahkan label tingkat gambar, lihatMenetapkan label tingkat gambar ke gambar. Jika Anda menambahkan kotak pembatas, lihatMelabeli objek dengan kotak pembatas. Untuk informasi selengkapnya, lihat Mengarahkan kumpulan data.
Menambahkan dataset ke proyek (SDK)
Anda dapat menambahkan set data train atau test menjadi proyek yang ada dengan cara berikut:
Untuk menambahkan set data ke proyek (SDK)
-
Jika Anda belum melakukannya, instal dan konfigurasikanAWS CLI danAWS SDK. Untuk informasi selengkapnya, lihat Langkah 4: Siapkan AWS CLI dan AWS SDK.
-
Gunakan contoh berikut untuk menambahkan baris JSON ke dataset.
- CLI
-
Gantiproject_arn
dengan proyek yang ingin Anda tambahkan set data. Gantidataset_type
denganTRAIN
untuk membuat kumpulan data pelatihan, atauTEST
untuk membuat kumpulan data pengujian.
aws rekognition create-dataset --project-arn project_arn
\
--dataset-type dataset_type
\
--profile custom-labels-access
- Python
-
Gunakan kode berikut untuk membuat set data. Menyediakan opsi baris perintah berikut:
# 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
-
Gunakan kode berikut untuk membuat set data. Menyediakan opsi baris perintah berikut:
/*
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);
}
}
}
-
Menambahkan gambar ke set data. Untuk informasi selengkapnya, lihat Menambahkan lebih banyak gambar (SDK).