Search in sources :

Example 1 with ImageClassificationConfig

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();
    }
}
Also used : DataLabelingServiceClient(com.google.cloud.datalabeling.v1beta1.DataLabelingServiceClient) LabelOperationMetadata(com.google.cloud.datalabeling.v1beta1.LabelOperationMetadata) IOException(java.io.IOException) AnnotatedDataset(com.google.cloud.datalabeling.v1beta1.AnnotatedDataset) HumanAnnotationConfig(com.google.cloud.datalabeling.v1beta1.HumanAnnotationConfig) LabelImageRequest(com.google.cloud.datalabeling.v1beta1.LabelImageRequest) DataLabelingServiceSettings(com.google.cloud.datalabeling.v1beta1.DataLabelingServiceSettings) ExecutionException(java.util.concurrent.ExecutionException) ImageClassificationConfig(com.google.cloud.datalabeling.v1beta1.ImageClassificationConfig)

Aggregations

AnnotatedDataset (com.google.cloud.datalabeling.v1beta1.AnnotatedDataset)1 DataLabelingServiceClient (com.google.cloud.datalabeling.v1beta1.DataLabelingServiceClient)1 DataLabelingServiceSettings (com.google.cloud.datalabeling.v1beta1.DataLabelingServiceSettings)1 HumanAnnotationConfig (com.google.cloud.datalabeling.v1beta1.HumanAnnotationConfig)1 ImageClassificationConfig (com.google.cloud.datalabeling.v1beta1.ImageClassificationConfig)1 LabelImageRequest (com.google.cloud.datalabeling.v1beta1.LabelImageRequest)1 LabelOperationMetadata (com.google.cloud.datalabeling.v1beta1.LabelOperationMetadata)1 IOException (java.io.IOException)1 ExecutionException (java.util.concurrent.ExecutionException)1