use of com.google.cloud.datalabeling.v1beta1.ImageClassificationConfig in project java-datalabeling by googleapis.
the class LabelImage method labelImage.
// Start an Image Labeling Task
static void labelImage(String formattedInstructionName, String formattedAnnotationSpecSetName, String formattedDatasetName) throws IOException {
// String formattedInstructionName = DataLabelingServiceClient.formatInstructionName(
// "YOUR_PROJECT_ID", "YOUR_INSTRUCTION_UUID");
// String formattedAnnotationSpecSetName =
// DataLabelingServiceClient.formatAnnotationSpecSetName(
// "YOUR_PROJECT_ID", "YOUR_ANNOTATION_SPEC_SET_UUID");
// String formattedDatasetName = DataLabelingServiceClient.formatDatasetName(
// "YOUR_PROJECT_ID", "YOUR_DATASET_UUID");
// [END datalabeling_label_image_beta]
String endpoint = System.getenv("DATALABELING_ENDPOINT");
if (endpoint == null) {
endpoint = DataLabelingServiceSettings.getDefaultEndpoint();
}
// [START datalabeling_label_image_beta]
DataLabelingServiceSettings settings = DataLabelingServiceSettings.newBuilder().setEndpoint(endpoint).build();
try (DataLabelingServiceClient dataLabelingServiceClient = DataLabelingServiceClient.create(settings)) {
HumanAnnotationConfig humanAnnotationConfig = HumanAnnotationConfig.newBuilder().setAnnotatedDatasetDisplayName("annotated_displayname").setAnnotatedDatasetDescription("annotated_description").setInstruction(formattedInstructionName).build();
ImageClassificationConfig imageClassificationConfig = ImageClassificationConfig.newBuilder().setAllowMultiLabel(true).setAnswerAggregationType(StringAggregationType.MAJORITY_VOTE).setAnnotationSpecSet(formattedAnnotationSpecSetName).build();
LabelImageRequest labelImageRequest = LabelImageRequest.newBuilder().setParent(formattedDatasetName).setBasicConfig(humanAnnotationConfig).setImageClassificationConfig(imageClassificationConfig).setFeature(Feature.CLASSIFICATION).build();
OperationFuture<AnnotatedDataset, LabelOperationMetadata> operation = dataLabelingServiceClient.labelImageAsync(labelImageRequest);
// You'll want to save this for later to retrieve your completed operation.
System.out.format("Operation Name: %s\n", operation.getName());
// Cancel the operation to avoid charges when testing.
dataLabelingServiceClient.getOperationsClient().cancelOperation(operation.getName());
} catch (IOException | InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
Aggregations