Search in sources :

Example 26 with AutoMlClient

use of com.google.cloud.automl.v1.AutoMlClient in project java-automl by googleapis.

the class TranslateCreateModel method createModel.

// Create a model
static void createModel(String projectId, String datasetId, String displayName) throws IOException, ExecutionException, InterruptedException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
        // A resource that represents Google Cloud Platform location.
        LocationName projectLocation = LocationName.of(projectId, "us-central1");
        TranslationModelMetadata translationModelMetadata = TranslationModelMetadata.newBuilder().build();
        Model model = Model.newBuilder().setDisplayName(displayName).setDatasetId(datasetId).setTranslationModelMetadata(translationModelMetadata).build();
        // Create a model with the model metadata in the region.
        OperationFuture<Model, OperationMetadata> future = client.createModelAsync(projectLocation, model);
        // OperationFuture.get() will block until the model is created, which may take several hours.
        // You can use OperationFuture.getInitialFuture to get a future representing the initial
        // response to the request, which contains information while the operation is in progress.
        System.out.format("Training operation name: %s\n", future.getInitialFuture().get().getName());
        System.out.println("Training started...");
    }
}
Also used : Model(com.google.cloud.automl.v1.Model) TranslationModelMetadata(com.google.cloud.automl.v1.TranslationModelMetadata) OperationMetadata(com.google.cloud.automl.v1.OperationMetadata) AutoMlClient(com.google.cloud.automl.v1.AutoMlClient) LocationName(com.google.cloud.automl.v1.LocationName)

Example 27 with AutoMlClient

use of com.google.cloud.automl.v1.AutoMlClient in project java-automl by googleapis.

the class GetOperationStatusTest method setUp.

@Before
public void setUp() throws IOException {
    // Use list operations to get a single operation id for the get call.
    try (AutoMlClient client = AutoMlClient.create()) {
        LocationName projectLocation = LocationName.of(PROJECT_ID, "us-central1");
        ListOperationsRequest request = ListOperationsRequest.newBuilder().setName(projectLocation.toString()).build();
        Operation operation = client.getOperationsClient().listOperations(request).iterateAll().iterator().next();
        operationId = operation.getName();
    }
    bout = new ByteArrayOutputStream();
    out = new PrintStream(bout);
    originalPrintStream = System.out;
    System.setOut(out);
}
Also used : PrintStream(java.io.PrintStream) ListOperationsRequest(com.google.longrunning.ListOperationsRequest) Operation(com.google.longrunning.Operation) ByteArrayOutputStream(java.io.ByteArrayOutputStream) AutoMlClient(com.google.cloud.automl.v1beta1.AutoMlClient) LocationName(com.google.cloud.automl.v1beta1.LocationName) Before(org.junit.Before)

Example 28 with AutoMlClient

use of com.google.cloud.automl.v1.AutoMlClient in project java-automl by googleapis.

the class TablesPredictTest method setUp.

@Before
public void setUp() throws IOException, ExecutionException, InterruptedException {
    // Verify that the model is deployed for prediction
    try (AutoMlClient client = AutoMlClient.create()) {
        ModelName modelFullId = ModelName.of(PROJECT_ID, "us-central1", MODEL_ID);
        Model model = client.getModel(modelFullId);
        if (model.getDeploymentState() == Model.DeploymentState.UNDEPLOYED) {
            // Deploy the model if not deployed
            DeployModelRequest request = DeployModelRequest.newBuilder().setName(modelFullId.toString()).build();
            client.deployModelAsync(request).get();
        }
    }
    bout = new ByteArrayOutputStream();
    out = new PrintStream(bout);
    originalPrintStream = System.out;
    System.setOut(out);
}
Also used : DeployModelRequest(com.google.cloud.automl.v1.DeployModelRequest) PrintStream(java.io.PrintStream) ModelName(com.google.cloud.automl.v1.ModelName) Model(com.google.cloud.automl.v1.Model) ByteArrayOutputStream(java.io.ByteArrayOutputStream) AutoMlClient(com.google.cloud.automl.v1.AutoMlClient) Before(org.junit.Before)

Example 29 with AutoMlClient

use of com.google.cloud.automl.v1.AutoMlClient in project java-automl by googleapis.

the class LanguageSentimentAnalysisPredictTest method setUp.

@Before
public void setUp() throws IOException, ExecutionException, InterruptedException {
    // Verify that the model is deployed for prediction
    try (AutoMlClient client = AutoMlClient.create()) {
        ModelName modelFullId = ModelName.of(PROJECT_ID, "us-central1", MODEL_ID);
        Model model = client.getModel(modelFullId);
        if (model.getDeploymentState() == Model.DeploymentState.UNDEPLOYED) {
            // Deploy the model if not deployed
            DeployModelRequest request = DeployModelRequest.newBuilder().setName(modelFullId.toString()).build();
            client.deployModelAsync(request).get();
        }
    }
    bout = new ByteArrayOutputStream();
    out = new PrintStream(bout);
    originalPrintStream = System.out;
    System.setOut(out);
}
Also used : DeployModelRequest(com.google.cloud.automl.v1.DeployModelRequest) PrintStream(java.io.PrintStream) ModelName(com.google.cloud.automl.v1.ModelName) Model(com.google.cloud.automl.v1.Model) ByteArrayOutputStream(java.io.ByteArrayOutputStream) AutoMlClient(com.google.cloud.automl.v1.AutoMlClient) Before(org.junit.Before)

Example 30 with AutoMlClient

use of com.google.cloud.automl.v1.AutoMlClient in project java-automl by googleapis.

the class ListOperationStatusTest method setUp.

@Before
public void setUp() throws IOException, InterruptedException {
    bout = new ByteArrayOutputStream();
    out = new PrintStream(bout);
    originalPrintStream = System.out;
    System.setOut(out);
    // if the LRO status count more than 300, delete half of operations.
    try (AutoMlClient client = AutoMlClient.create()) {
        OperationsClient operationsClient = client.getOperationsClient();
        LocationName projectLocation = LocationName.of(PROJECT_ID, "us-central1");
        ListOperationsRequest listRequest = ListOperationsRequest.newBuilder().setName(projectLocation.toString()).build();
        List<String> operationFullPathsToBeDeleted = new ArrayList<>();
        for (Operation operation : operationsClient.listOperations(listRequest).iterateAll()) {
            // Filter: deleting already done operations.
            if (operation.getDone() && !operation.hasError()) {
                operationFullPathsToBeDeleted.add(operation.getName());
            }
        }
        if (operationFullPathsToBeDeleted.size() > 300) {
            System.out.println("Cleaning up...");
            for (String operationFullPath : operationFullPathsToBeDeleted.subList(0, operationFullPathsToBeDeleted.size() / 2)) {
                // retry_interval * (random value in range [1 - rand_factor, 1 + rand_factor])
                ExponentialBackOff exponentialBackOff = new ExponentialBackOff.Builder().setInitialIntervalMillis(60000).setMaxElapsedTimeMillis(300000).setRandomizationFactor(0.5).setMultiplier(1.1).setMaxIntervalMillis(80000).build();
                // delete unused operations.
                try {
                    operationsClient.deleteOperation(operationFullPath);
                } catch (ResourceExhaustedException ex) {
                    // exponential back off and retry.
                    long backOffInMillis = exponentialBackOff.nextBackOffMillis();
                    System.out.printf("Backing off for %d milliseconds " + "due to Resource exhaustion.\n", backOffInMillis);
                    if (backOffInMillis < 0) {
                        break;
                    }
                    System.out.println("Backing off" + backOffInMillis);
                    TimeUnit.MILLISECONDS.sleep(backOffInMillis);
                } catch (Exception ex) {
                    throw ex;
                }
            }
        } else {
            // Clear the list since we wont anything with the list.
            operationFullPathsToBeDeleted.clear();
        }
    }
}
Also used : PrintStream(java.io.PrintStream) ArrayList(java.util.ArrayList) OperationsClient(com.google.longrunning.OperationsClient) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Operation(com.google.longrunning.Operation) ExponentialBackOff(com.google.api.client.util.ExponentialBackOff) IOException(java.io.IOException) ResourceExhaustedException(com.google.api.gax.rpc.ResourceExhaustedException) LocationName(com.google.cloud.automl.v1.LocationName) ResourceExhaustedException(com.google.api.gax.rpc.ResourceExhaustedException) ListOperationsRequest(com.google.longrunning.ListOperationsRequest) AutoMlClient(com.google.cloud.automl.v1.AutoMlClient) Before(org.junit.Before)

Aggregations

AutoMlClient (com.google.cloud.automl.v1.AutoMlClient)41 AutoMlClient (com.google.cloud.automl.v1beta1.AutoMlClient)31 Empty (com.google.protobuf.Empty)20 OperationMetadata (com.google.cloud.automl.v1.OperationMetadata)18 LocationName (com.google.cloud.automl.v1.LocationName)17 Model (com.google.cloud.automl.v1.Model)16 ModelName (com.google.cloud.automl.v1.ModelName)16 LocationName (com.google.cloud.automl.v1beta1.LocationName)12 ByteArrayOutputStream (java.io.ByteArrayOutputStream)12 PrintStream (java.io.PrintStream)12 Before (org.junit.Before)12 ModelName (com.google.cloud.automl.v1beta1.ModelName)11 OperationMetadata (com.google.cloud.automl.v1beta1.OperationMetadata)11 DeployModelRequest (com.google.cloud.automl.v1.DeployModelRequest)10 Dataset (com.google.cloud.automl.v1.Dataset)8 Model (com.google.cloud.automl.v1beta1.Model)8 Dataset (com.google.cloud.automl.v1beta1.Dataset)6 Operation (com.google.longrunning.Operation)6 DatasetName (com.google.cloud.automl.v1.DatasetName)5 DatasetName (com.google.cloud.automl.v1beta1.DatasetName)5