Cloud AI Platform v1 API - Class Model (2.18.0)

public sealed class Model : IMessage<Model>, IEquatable<Model>, IDeepCloneable<Model>, IBufferMessage, IMessage

Reference documentation and code samples for the Cloud AI Platform v1 API class Model.

A trained machine learning Model.

Inheritance

object > Model

Namespace

Google.Cloud.AIPlatform.V1

Assembly

Google.Cloud.AIPlatform.V1.dll

Constructors

Model()

public Model()

Model(Model)

public Model(Model other)
Parameter
NameDescription
otherModel

Properties

ArtifactUri

public string ArtifactUri { get; set; }

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

Property Value
TypeDescription
string

ContainerSpec

public ModelContainerSpec ContainerSpec { get; set; }

Input only. The specification of the container that is to be used when deploying this Model. The specification is ingested upon [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel], and all binaries it contains are copied and stored internally by Vertex AI. Not present for AutoML Models or Large Models.

Property Value
TypeDescription
ModelContainerSpec

CreateTime

public Timestamp CreateTime { get; set; }

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

Property Value
TypeDescription
Timestamp

DeployedModels

public RepeatedField<DeployedModelRef> DeployedModels { get; }

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

Property Value
TypeDescription
RepeatedFieldDeployedModelRef

Description

public string Description { get; set; }

The description of the Model.

Property Value
TypeDescription
string

DisplayName

public string DisplayName { get; set; }

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

Property Value
TypeDescription
string

EncryptionSpec

public EncryptionSpec EncryptionSpec { get; set; }

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.

Property Value
TypeDescription
EncryptionSpec

Etag

public string Etag { get; set; }

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

Property Value
TypeDescription
string

ExplanationSpec

public ExplanationSpec ExplanationSpec { get; set; }

The default explanation specification for this Model.

The Model can be used for [requesting explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if it is populated. The Model can be used for [batch explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation] if it is populated.

All fields of the explanation_spec can be overridden by [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] of [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model], or [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].

If the default explanation specification is not set for this Model, this Model can still be used for [requesting explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by setting [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] of [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model] and for [batch explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation] by setting [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].

Property Value
TypeDescription
ExplanationSpec

Labels

public MapField<string, string> Labels { get; }

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.

Property Value
TypeDescription
MapFieldstringstring

Metadata

public Value Metadata { get; set; }

Immutable. An additional information about the Model; the schema of the metadata can be found in [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri]. Unset if the Model does not have any additional information.

Property Value
TypeDescription
Value

MetadataArtifact

public string MetadataArtifact { get; set; }

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/{metadata_store}/artifacts/{artifact}.

Property Value
TypeDescription
string

MetadataSchemaUri

public string MetadataSchemaUri { get; set; }

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.

Property Value
TypeDescription
string

ModelName

public ModelName ModelName { get; set; }

ModelName-typed view over the Name resource name property.

Property Value
TypeDescription
ModelName

ModelSourceInfo

public ModelSourceInfo ModelSourceInfo { get; set; }

Output only. Source of a model. It can either be automl training pipeline, custom training pipeline, BigQuery ML, or existing Vertex AI Model.

Property Value
TypeDescription
ModelSourceInfo

Name

public string Name { get; set; }

The resource name of the Model.

Property Value
TypeDescription
string

OriginalModelInfo

public Model.Types.OriginalModelInfo OriginalModelInfo { get; set; }

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

Property Value
TypeDescription
ModelTypesOriginalModelInfo

PipelineJob

public string PipelineJob { get; set; }

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

Property Value
TypeDescription
string

PipelineJobAsPipelineJobName

public PipelineJobName PipelineJobAsPipelineJobName { get; set; }

PipelineJobName-typed view over the PipelineJob resource name property.

Property Value
TypeDescription
PipelineJobName

PredictSchemata

public PredictSchemata PredictSchemata { get; set; }

The schemata that describe formats of the Model's predictions and explanations as given and returned via [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] and [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].

Property Value
TypeDescription
PredictSchemata

SupportedDeploymentResourcesTypes

public RepeatedField<Model.Types.DeploymentResourcesType> SupportedDeploymentResourcesTypes { get; }

Output only. When this Model is deployed, its prediction resources are described by the prediction_resources field of the [Endpoint.deployed_models][google.cloud.aiplatform.v1.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][google.cloud.aiplatform.v1.Endpoint] and does not support online predictions ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] or [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]). Such a Model can serve predictions by using a [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it has at least one entry each in [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats] and [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].

Property Value
TypeDescription
RepeatedFieldModelTypesDeploymentResourcesType

SupportedExportFormats

public RepeatedField<Model.Types.ExportFormat> SupportedExportFormats { get; }

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

Property Value
TypeDescription
RepeatedFieldModelTypesExportFormat

SupportedInputStorageFormats

public RepeatedField<string> SupportedInputStorageFormats { get; }

Output only. The formats this Model supports in [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config]. If [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.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][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].

  • 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][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].

  • tf-record The TFRecord format, where each instance is a single record in tfrecord syntax. Uses [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].

  • tf-record-gzip Similar to tf-record, but the file is gzipped. Uses [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].

  • bigquery Each instance is a single row in BigQuery. Uses [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].

  • file-list Each line of the file is the location of an instance to process, uses gcs_source field of the [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig] object.

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

Property Value
TypeDescription
RepeatedFieldstring

SupportedOutputStorageFormats

public RepeatedField<string> SupportedOutputStorageFormats { get; }

Output only. The formats this Model supports in [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]. If both [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] and [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.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][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].

  • 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][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].

  • bigquery Each prediction is a single row in a BigQuery table, uses [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination] .

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

Property Value
TypeDescription
RepeatedFieldstring

TrainingPipeline

public string TrainingPipeline { get; set; }

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

Property Value
TypeDescription
string

TrainingPipelineAsTrainingPipelineName

public TrainingPipelineName TrainingPipelineAsTrainingPipelineName { get; set; }

TrainingPipelineName-typed view over the TrainingPipeline resource name property.

Property Value
TypeDescription
TrainingPipelineName

UpdateTime

public Timestamp UpdateTime { get; set; }

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

Property Value
TypeDescription
Timestamp

VersionAliases

public RepeatedField<string> VersionAliases { get; }

User provided version aliases so that a model version can be referenced via alias (i.e. projects/{project}/locations/{location}/models/{model_id}@{version_alias} instead of auto-generated version id (i.e. projects/{project}/locations/{location}/models/{model_id}@{version_id}). The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from version_id. 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.

Property Value
TypeDescription
RepeatedFieldstring

VersionCreateTime

public Timestamp VersionCreateTime { get; set; }

Output only. Timestamp when this version was created.

Property Value
TypeDescription
Timestamp

VersionDescription

public string VersionDescription { get; set; }

The description of this version.

Property Value
TypeDescription
string

VersionId

public string VersionId { get; set; }

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.

Property Value
TypeDescription
string

VersionUpdateTime

public Timestamp VersionUpdateTime { get; set; }

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

Property Value
TypeDescription
Timestamp