Pemberitahuan akhir dukungan: Pada 31 Oktober 2025, AWS akan menghentikan dukungan untuk Amazon Lookout for Vision. Setelah 31 Oktober 2025, Anda tidak akan lagi dapat mengakses konsol Lookout for Vision atau sumber daya Lookout for Vision. Untuk informasi lebih lanjut, kunjungi posting blog ini.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menambahkan gambar ke kumpulan data Anda
Setelah membuat kumpulan data, Anda mungkin ingin menambahkan lebih banyak gambar ke kumpulan data. Misalnya, jika evaluasi model menunjukkan model yang buruk, Anda dapat meningkatkan kualitas model Anda dengan menambahkan lebih banyak gambar. Jika Anda telah membuat kumpulan data pengujian, menambahkan lebih banyak gambar dapat meningkatkan akurasi metrik kinerja model Anda.
Latih ulang model Anda setelah memperbarui kumpulan data Anda.
Menambahkan lebih banyak gambar
Anda dapat menambahkan lebih banyak gambar ke kumpulan data Anda dengan mengunggah gambar dari komputer lokal Anda. Untuk menambahkan lebih banyak gambar berlabel dengan SDK, gunakan operasi. UpdateDatasetEntries
Untuk menambahkan lebih banyak gambar ke kumpulan data Anda (konsol)
-
Pilih Tindakan dan pilih kumpulan data yang ingin Anda tambahkan gambar.
-
Pilih gambar yang ingin Anda unggah ke kumpulan data. Anda dapat menyeret gambar atau memilih gambar yang ingin Anda unggah dari komputer lokal Anda. Anda dapat mengunggah hingga 30 gambar sekaligus.
-
Pilih Unggah gambar.
-
Pilih Save changes (Simpan perubahan).
Setelah selesai menambahkan lebih banyak gambar, Anda perlu memberi label sehingga dapat digunakan untuk melatih model. Untuk informasi selengkapnya, lihat Mengklasifikasikan gambar (konsol).
Menambahkan lebih banyak gambar (SDK)
Untuk menambahkan lebih banyak gambar berlabel dengan SDK, gunakan operasi. UpdateDatasetEntries Anda menyediakan file manifes yang berisi gambar yang ingin Anda tambahkan. Anda juga dapat memperbarui gambar yang ada dengan menentukan gambar di source-ref
bidang baris JSON dalam file manifes. Untuk informasi selengkapnya, lihat Membuat file manifes.
Untuk menambahkan lebih banyak gambar ke kumpulan data (SDK)
-
Jika Anda belum melakukannya, instal dan konfigurasikan AWS CLI dan AWS SDK. Untuk informasi selengkapnya, lihat Langkah 4: Mengatur AWS CLI and AWS SDKs.
-
Gunakan kode contoh berikut untuk menambahkan lebih banyak gambar ke kumpulan data.
- CLI
-
Ubah nilai berikut:
-
project-name
dengan nama proyek yang berisi kumpulan data yang ingin Anda perbarui.
-
dataset-type
ke jenis kumpulan data yang ingin Anda perbarui (train
atautest
).
-
changes
ke lokasi file manifes yang berisi pembaruan kumpulan data.
aws lookoutvision update-dataset-entries\
--project-name project
\
--dataset-type train or test
\
--changes fileb://manifest file
\
--profile lookoutvision-access
- Python
-
Kode ini diambil dari GitHub repositori contoh SDK AWS Dokumentasi. Lihat contoh lengkapnya di sini.
@staticmethod
def update_dataset_entries(lookoutvision_client, project_name, dataset_type, updates_file):
"""
Adds dataset entries to an Amazon Lookout for Vision dataset.
:param lookoutvision_client: The Amazon Rekognition Custom Labels Boto3 client.
:param project_name: The project that contains the dataset that you want to update.
:param dataset_type: The type of the dataset that you want to update (train or test).
:param updates_file: The manifest file of JSON Lines that contains the updates.
"""
try:
status = ""
status_message = ""
manifest_file = ""
# Update dataset entries
logger.info(f"""Updating {dataset_type} dataset for project {project_name}
with entries from {updates_file}.""")
with open(updates_file) as f:
manifest_file = f.read()
lookoutvision_client.update_dataset_entries(
ProjectName=project_name,
DatasetType=dataset_type,
Changes=manifest_file,
)
finished = False
while finished == False:
dataset = lookoutvision_client.describe_dataset(ProjectName=project_name,
DatasetType=dataset_type)
status = dataset['DatasetDescription']['Status']
status_message = dataset['DatasetDescription']['StatusMessage']
if status == "UPDATE_IN_PROGRESS":
logger.info(
(f"Updating {dataset_type} dataset for project {project_name}."))
time.sleep(5)
continue
if status == "UPDATE_FAILED_ROLLBACK_IN_PROGRESS":
logger.info(
(f"Update failed, rolling back {dataset_type} dataset for project {project_name}."))
time.sleep(5)
continue
if status == "UPDATE_COMPLETE":
logger.info(
f"Dataset updated: {status} : {status_message} : {dataset_type} dataset for project {project_name}.")
finished = True
continue
if status == "UPDATE_FAILED_ROLLBACK_COMPLETE":
logger.info(
f"Rollback complated after update failure: {status} : {status_message} : {dataset_type} dataset for project {project_name}.")
finished = True
continue
logger.exception(
f"Failed. Unexpected state for dataset update: {status} : {status_message} : {dataset_type} dataset for project {project_name}.")
raise Exception(
f"Failed. Unexpected state for dataset update: {status} : {status_message} :{dataset_type} dataset for project {project_name}.")
logger.info(f"Added entries to dataset.")
return status, status_message
except ClientError as err:
logger.exception(
f"Couldn't update dataset: {err.response['Error']['Message']}")
raise
- Java V2
-
Kode ini diambil dari GitHub repositori contoh SDK AWS Dokumentasi. Lihat contoh lengkapnya di sini.
/**
* Updates an Amazon Lookout for Vision dataset from a manifest file.
* Returns after Lookout for Vision updates the dataset.
*
* @param lfvClient An Amazon Lookout for Vision client.
* @param projectName The name of the project in which you want to update a
* dataset.
* @param datasetType The type of the dataset that you want to update (train or
* test).
* @param manifestFile The name and location of a local manifest file that you want to
* use to update the dataset.
* @return DatasetStatus The status of the updated dataset.
*/
public static DatasetStatus updateDatasetEntries(LookoutVisionClient lfvClient, String projectName,
String datasetType, String updateFile) throws FileNotFoundException, LookoutVisionException,
InterruptedException {
logger.log(Level.INFO, "Updating {0} dataset for project {1}",
new Object[] { datasetType, projectName });
InputStream sourceStream = new FileInputStream(updateFile);
SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
UpdateDatasetEntriesRequest updateDatasetEntriesRequest = UpdateDatasetEntriesRequest.builder()
.projectName(projectName)
.datasetType(datasetType)
.changes(sourceBytes)
.build();
lfvClient.updateDatasetEntries(updateDatasetEntriesRequest);
boolean finished = false;
DatasetStatus status = null;
// Wait until update completes.
do {
DescribeDatasetRequest describeDatasetRequest = DescribeDatasetRequest.builder()
.projectName(projectName)
.datasetType(datasetType)
.build();
DescribeDatasetResponse describeDatasetResponse = lfvClient
.describeDataset(describeDatasetRequest);
DatasetDescription datasetDescription = describeDatasetResponse.datasetDescription();
status = datasetDescription.status();
switch (status) {
case UPDATE_COMPLETE:
logger.log(Level.INFO, "{0} Dataset updated for project {1}.",
new Object[] { datasetType, projectName });
finished = true;
break;
case UPDATE_IN_PROGRESS:
logger.log(Level.INFO, "{0} Dataset update for project {1} in progress.",
new Object[] { datasetType, projectName });
TimeUnit.SECONDS.sleep(5);
break;
case UPDATE_FAILED_ROLLBACK_IN_PROGRESS:
logger.log(Level.SEVERE,
"{0} Dataset update failed for project {1}. Rolling back",
new Object[] { datasetType, projectName });
TimeUnit.SECONDS.sleep(5);
break;
case UPDATE_FAILED_ROLLBACK_COMPLETE:
logger.log(Level.SEVERE,
"{0} Dataset update failed for project {1}. Rollback completed.",
new Object[] { datasetType, projectName });
finished = true;
break;
default:
logger.log(Level.SEVERE,
"{0} Dataset update failed for project {1}. Unexpected error returned.",
new Object[] { datasetType, projectName });
finished = true;
}
} while (!finished);
return status;
}
-
Ulangi langkah sebelumnya dan berikan nilai untuk jenis dataset lainnya.