PredictionServiceClient

PredictionServiceClient

AutoML Prediction API.

On any input that is documented to expect a string parameter in snake_case or kebab-case, either of those cases is accepted.

Constructor

new PredictionServiceClient(optionsopt)

Construct an instance of PredictionServiceClient.

Parameters:
Name Type Attributes Description
options object <optional>

The configuration object. See the subsequent parameters for more details.

Properties
Name Type Attributes Description
credentials object <optional>

Credentials object.

Properties
Name Type Attributes Description
client_email string <optional>
private_key string <optional>
email string <optional>

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename string <optional>

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port number <optional>

The port on which to connect to the remote host.

projectId string <optional>

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise function <optional>

Custom promise module to use instead of native Promises.

apiEndpoint string <optional>

The domain name of the API remote host.

Source:

Members

(static) apiEndpoint

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

Source:

(static) port

The port for this API service.

Source:

(static) scopes

The scopes needed to make gRPC calls for every method defined in this service.

Source:

(static) servicePath

The DNS address for this API service.

Source:

Methods

batchPredict(request, optionsopt, callbackopt) → {Promise}

Perform a batch prediction. Unlike the online Predict, batch prediction result won't be immediately available in the response. Instead, a long running operation object is returned. User can poll the operation result via GetOperation method. Once the operation is done, BatchPredictResult is returned in the response field. Available for following ML problems:

  • Image Classification
  • Image Object Detection
  • Video Classification
  • Video Object Tracking * Text Extraction
  • Tables
Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
name string

Name of the model requested to serve the batch prediction.

inputConfig Object

Required. The input configuration for batch prediction.

This object should have the same structure as BatchPredictInputConfig

outputConfig Object

Required. The Configuration specifying where output predictions should be written.

This object should have the same structure as BatchPredictOutputConfig

params Object.<string, string> <optional>

Additional domain-specific parameters for the predictions, any string must be up to 25000 characters long.

  • For Text Classification:

    score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for a text snippet, it will only produce results that have at least this confidence score. The default is 0.5.

  • For Image Classification:

    score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for an image, it will only produce results that have at least this confidence score. The default is 0.5.

  • For Image Object Detection:

    score_threshold - (float) When Model detects objects on the image, it will only produce bounding boxes which have at least this confidence score. Value in 0 to 1 range, default is 0.5. max_bounding_box_count - (int64) No more than this number of bounding boxes will be produced per image. Default is 100, the requested value may be limited by server.

  • For Video Classification : score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for a video, it will only produce results that have at least this confidence score. The default is 0.5. segment_classification - (boolean) Set to true to request segment-level classification. AutoML Video Intelligence returns labels and their confidence scores for the entire segment of the video that user specified in the request configuration. The default is "true". shot_classification - (boolean) Set to true to request shot-level classification. AutoML Video Intelligence determines the boundaries for each camera shot in the entire segment of the video that user specified in the request configuration. AutoML Video Intelligence then returns labels and their confidence scores for each detected shot, along with the start and end time of the shot. WARNING: Model evaluation is not done for this classification type, the quality of it depends on training data, but there are no metrics provided to describe that quality. The default is "false". 1s_interval_classification - (boolean) Set to true to request classification for a video at one-second intervals. AutoML Video Intelligence returns labels and their confidence scores for each second of the entire segment of the video that user specified in the request configuration. WARNING: Model evaluation is not done for this classification type, the quality of it depends on training data, but there are no metrics provided to describe that quality. The default is "false".

  • For Video Object Tracking: score_threshold - (float) When Model detects objects on video frames, it will only produce bounding boxes which have at least this confidence score. Value in 0 to 1 range, default is 0.5. max_bounding_box_count - (int64) No more than this number of bounding boxes will be returned per frame. Default is 100, the requested value may be limited by server. min_bounding_box_size - (float) Only bounding boxes with shortest edge at least that long as a relative value of video frame size will be returned. Value in 0 to 1 range. Default is 0.

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Source:
Example
const automl = require('@google-cloud/automl');

const client = new automl.v1beta1.PredictionServiceClient({
  // optional auth parameters.
});

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the promise pattern.
client.batchPredict(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the event emitter pattern.
client.batchPredict(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const inputConfig = {};
const outputConfig = {};
const request = {
  name: formattedName,
  inputConfig: inputConfig,
  outputConfig: outputConfig,
};

// Handle the operation using the await pattern.
const [operation] = await client.batchPredict(request);

const [response] = await operation.promise();

getProjectId(callback)

Return the project ID used by this class.

Parameters:
Name Type Description
callback function

the callback to be called with the current project Id.

Source:

matchLocationFromModelName(modelName) → {String}

Parse the modelName from a model resource.

Parameters:
Name Type Description
modelName String

A fully-qualified path representing a model resources.

Source:

matchModelFromModelName(modelName) → {String}

Parse the modelName from a model resource.

Parameters:
Name Type Description
modelName String

A fully-qualified path representing a model resources.

Source:

matchProjectFromModelName(modelName) → {String}

Parse the modelName from a model resource.

Parameters:
Name Type Description
modelName String

A fully-qualified path representing a model resources.

Source:

modelPath(project, location, model) → {String}

Return a fully-qualified model resource name string.

Parameters:
Name Type Description
project String
location String
model String
Source:

predict(request, optionsopt, callbackopt) → {Promise}

Perform an online prediction. The prediction result will be directly returned in the response. Available for following ML problems, and their expected request payloads:

  • Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB.
  • Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB.
  • Text Classification - TextSnippet, content up to 60,000 characters, UTF-8 encoded.
  • Text Extraction - TextSnippet, content up to 30,000 characters, UTF-8 NFC encoded.
  • Translation - TextSnippet, content up to 25,000 characters, UTF-8 encoded.
  • Tables - Row, with column values matching the columns of the model, up to 5MB. Not available for FORECASTING

prediction_type.

  • Text Sentiment - TextSnippet, content up 500 characters, UTF-8 encoded.
Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
name string

Name of the model requested to serve the prediction.

payload Object

Required. Payload to perform a prediction on. The payload must match the problem type that the model was trained to solve.

This object should have the same structure as ExamplePayload

params Object.<string, string> <optional>

Additional domain-specific parameters, any string must be up to 25000 characters long.

  • For Image Classification:

    score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for an image, it will only produce results that have at least this confidence score. The default is 0.5.

  • For Image Object Detection: score_threshold - (float) When Model detects objects on the image, it will only produce bounding boxes which have at least this confidence score. Value in 0 to 1 range, default is 0.5. max_bounding_box_count - (int64) No more than this number of bounding boxes will be returned in the response. Default is 100, the requested value may be limited by server.

  • For Tables: feature_importance - (boolean) Whether

[feature_importance][[google.cloud.automl.v1beta1.TablesModelColumnInfo.feature_importance] should be populated in the returned

[TablesAnnotation(-s)][[google.cloud.automl.v1beta1.TablesAnnotation]. The default is false.

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing PredictResponse.

Source:
Example
const automl = require('@google-cloud/automl');

const client = new automl.v1beta1.PredictionServiceClient({
  // optional auth parameters.
});

const formattedName = client.modelPath('[PROJECT]', '[LOCATION]', '[MODEL]');
const payload = {};
const request = {
  name: formattedName,
  payload: payload,
};
client.predict(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });