REST Resource: projects.locations.models

Resource: Model

A trained machine learning Model.

JSON representation
{
  "name": string,
  "versionId": string,
  "versionAliases": [
    string
  ],
  "versionCreateTime": string,
  "versionUpdateTime": string,
  "displayName": string,
  "description": string,
  "versionDescription": string,
  "predictSchemata": {
    object (PredictSchemata)
  },
  "metadataSchemaUri": string,
  "metadata": value,
  "supportedExportFormats": [
    {
      object (ExportFormat)
    }
  ],
  "trainingPipeline": string,
  "pipelineJob": string,
  "containerSpec": {
    object (ModelContainerSpec)
  },
  "artifactUri": string,
  "supportedDeploymentResourcesTypes": [
    enum (DeploymentResourcesType)
  ],
  "supportedInputStorageFormats": [
    string
  ],
  "supportedOutputStorageFormats": [
    string
  ],
  "createTime": string,
  "updateTime": string,
  "deployedModels": [
    {
      object (DeployedModelRef)
    }
  ],
  "explanationSpec": {
    object (ExplanationSpec)
  },
  "etag": string,
  "labels": {
    string: string,
    ...
  },
  "encryptionSpec": {
    object (EncryptionSpec)
  },
  "modelSourceInfo": {
    object (ModelSourceInfo)
  },
  "originalModelInfo": {
    object (OriginalModelInfo)
  },
  "metadataArtifact": string,
  "baseModelSource": {
    object (BaseModelSource)
  }
}
Fields
name

string

The resource name of the Model.

versionId

string

Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation.

versionAliases[]

string

user provided version aliases so that a model version can be referenced via alias (i.e. projects/{project}/locations/{location}/models/{modelId}@{version_alias} instead of auto-generated version id (i.e. projects/{project}/locations/{location}/models/{modelId}@{versionId}). The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from versionId. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model.

versionCreateTime

string (Timestamp format)

Output only. timestamp when this version was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

versionUpdateTime

string (Timestamp format)

Output only. timestamp when this version was most recently updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

displayName

string

Required. The display name of the Model. The name can be up to 128 characters long and can consist of any UTF-8 characters.

description

string

The description of the Model.

versionDescription

string

The description of this version.

predictSchemata

object (PredictSchemata)

The schemata that describe formats of the Model's predictions and explanations as given and returned via PredictionService.Predict and PredictionService.Explain.

metadataSchemaUri

string

Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.

metadata

value (Value format)

Immutable. An additional information about the Model; the schema of the metadata can be found in metadataSchema. Unset if the Model does not have any additional information.

supportedExportFormats[]

object (ExportFormat)

Output only. The formats in which this Model may be exported. If empty, this Model is not available for export.

trainingPipeline

string

Output only. The resource name of the TrainingPipeline that uploaded this Model, if any.

pipelineJob

string

Optional. This field is populated if the model is produced by a pipeline job.

containerSpec

object (ModelContainerSpec)

Input only. The specification of the container that is to be used when deploying this Model. The specification is ingested upon ModelService.UploadModel, and all binaries it contains are copied and stored internally by Vertex AI. Not required for AutoML Models.

artifactUri

string

Immutable. The path to the directory containing the Model artifact and any of its supporting files. Not required for AutoML Models.

supportedDeploymentResourcesTypes[]

enum (DeploymentResourcesType)

Output only. When this Model is deployed, its prediction resources are described by the prediction_resources field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supportedInputStorageFormats and supportedOutputStorageFormats.

supportedInputStorageFormats[]

string

Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema.

The possible formats are:

  • jsonl The JSON Lines format, where each instance is a single line. uses GcsSource.

  • csv The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. uses GcsSource.

  • tf-record The TFRecord format, where each instance is a single record in tfrecord syntax. uses GcsSource.

  • tf-record-gzip Similar to tf-record, but the file is gzipped. uses GcsSource.

  • bigquery Each instance is a single row in BigQuery. uses BigQuerySource.

  • file-list Each line of the file is the location of an instance to process, uses gcsSource field of the InputConfig object.

If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supportedDeploymentResourcesTypes, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.

supportedOutputStorageFormats[]

string

Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema).

The possible formats are:

  • jsonl The JSON Lines format, where each prediction is a single line. uses GcsDestination.

  • csv The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. uses GcsDestination.

  • bigquery Each prediction is a single row in a BigQuery table, uses BigQueryDestination .

If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supportedDeploymentResourcesTypes, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.

createTime

string (Timestamp format)

Output only. timestamp when this Model was uploaded into Vertex AI.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. timestamp when this Model was most recently updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

deployedModels[]

object (DeployedModelRef)

Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.

explanationSpec

object (ExplanationSpec)

The default explanation specification for this Model.

The Model can be used for requesting explanation after being deployed if it is populated. The Model can be used for batch explanation if it is populated.

All fields of the explanationSpec can be overridden by explanationSpec of DeployModelRequest.deployed_model, or explanationSpec of BatchPredictionJob.

If the default explanation specification is not set for this Model, this Model can still be used for requesting explanation by setting explanationSpec of DeployModelRequest.deployed_model and for batch explanation by setting explanationSpec of BatchPredictionJob.

etag

string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels

map (key: string, value: string)

The labels with user-defined metadata to organize your Models.

label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed.

See https://goo.gl/xmQnxf for more information and examples of labels.

encryptionSpec

object (EncryptionSpec)

Customer-managed encryption key spec for a Model. If set, this Model and all sub-resources of this Model will be secured by this key.

modelSourceInfo

object (ModelSourceInfo)

Output only. Source of a model. It can either be automl training pipeline, custom training pipeline, BigQuery ML, or saved and tuned from Genie or Model Garden.

originalModelInfo

object (OriginalModelInfo)

Output only. If this Model is a copy of another Model, this contains info about the original.

metadataArtifact

string

Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is projects/{project}/locations/{location}/metadataStores/{metadataStore}/artifacts/{artifact}.

baseModelSource

object (BaseModelSource)

Optional. user input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.

ExportFormat

Represents export format supported by the Model. All formats export to Google Cloud Storage.

JSON representation
{
  "id": string,
  "exportableContents": [
    enum (ExportableContent)
  ]
}
Fields
id

string

Output only. The ID of the export format. The possible format IDs are:

  • tflite Used for Android mobile devices.

  • edgetpu-tflite Used for Edge TPU devices.

  • tf-saved-model A tensorflow model in SavedModel format.

  • tf-js A TensorFlow.js model that can be used in the browser and in Node.js using JavaScript.

  • core-ml Used for iOS mobile devices.

  • custom-trained A Model that was uploaded or trained by custom code.

exportableContents[]

enum (ExportableContent)

Output only. The content of this Model that may be exported.

ExportableContent

The Model content that can be exported.

Enums
EXPORTABLE_CONTENT_UNSPECIFIED Should not be used.
ARTIFACT Model artifact and any of its supported files. Will be exported to the location specified by the artifactDestination field of the ExportModelRequest.output_config object.
IMAGE The container image that is to be used when deploying this Model. Will be exported to the location specified by the imageDestination field of the ExportModelRequest.output_config object.

DeploymentResourcesType

Identifies a type of Model's prediction resources.

Enums
DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED Should not be used.
DEDICATED_RESOURCES Resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.
AUTOMATIC_RESOURCES Resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.
SHARED_RESOURCES Resources that can be shared by multiple DeployedModels. A pre-configured DeploymentResourcePool is required.

DeployedModelRef

Points to a DeployedModel.

JSON representation
{
  "endpoint": string,
  "deployedModelId": string
}
Fields
endpoint

string

Immutable. A resource name of an Endpoint.

deployedModelId

string

Immutable. An ID of a DeployedModel in the above Endpoint.

ModelSourceInfo

Detail description of the source information of the model.

JSON representation
{
  "sourceType": enum (ModelSourceType)
}
Fields
sourceType

enum (ModelSourceType)

type of the model source.

ModelSourceType

Source of the model. Different from objective field, this ModelSourceType enum indicates the source from which the model was accessed or obtained, whereas the objective indicates the overall aim or function of this model.

Enums
MODEL_SOURCE_TYPE_UNSPECIFIED Should not be used.
AUTOML The Model is uploaded by automl training pipeline.
CUSTOM The Model is uploaded by user or custom training pipeline.
BQML The Model is registered and sync'ed from BigQuery ML.
CUSTOM_TEXT_EMBEDDING The Model is uploaded by text embedding finetuning pipeline.
MARKETPLACE The Model is saved or tuned from Marketplace.

OriginalModelInfo

Contains information about the original Model if this Model is a copy.

JSON representation
{
  "model": string
}
Fields
model

string

Output only. The resource name of the Model this Model is a copy of, including the revision. Format: projects/{project}/locations/{location}/models/{modelId}@{versionId}

BaseModelSource

user input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.

JSON representation
{

  // Union field source can be only one of the following:
  "modelGardenSource": {
    object (ModelGardenSource)
  },
  "genieSource": {
    object (GenieSource)
  }
  // End of list of possible types for union field source.
}
Fields

Union field source.

source can be only one of the following:

modelGardenSource

object (ModelGardenSource)

Source information of Model Garden models.

genieSource

object (GenieSource)

Information about the base model of Genie models.

ModelGardenSource

Contains information about the source of the models generated from Model Garden.

JSON representation
{
  "publicModelName": string
}
Fields
publicModelName

string

Required. The model garden source model resource name.

GenieSource

Contains information about the source of the models generated from Generative AI Studio.

JSON representation
{
  "baseModelUri": string
}
Fields
baseModelUri

string

Required. The public base model URI.

Methods

copy

Copies an already existing Vertex AI Model into the specified Location.

delete

Deletes a Model.

deleteVersion

Deletes a Model version.

export

Exports a trained, exportable Model to a location specified by the user.

get

Gets a Model.

getIamPolicy

Gets the access control policy for a resource.

list

Lists Models in a Location.

listVersions

Lists versions of the specified model.

mergeVersionAliases

Merges a set of aliases for a Model version.

patch

Updates a Model.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.

updateExplanationDataset

Incrementally update the dataset used for an examples model.

upload

Uploads a Model artifact into Vertex AI.