Struct Model

Source
#[non_exhaustive]
pub struct Model {
Show 35 fields pub name: String, pub version_id: String, pub version_aliases: Vec<String>, pub version_create_time: Option<Timestamp>, pub version_update_time: Option<Timestamp>, pub display_name: String, pub description: String, pub version_description: String, pub default_checkpoint_id: String, pub predict_schemata: Option<PredictSchemata>, pub metadata_schema_uri: String, pub metadata: Option<Value>, pub supported_export_formats: Vec<ExportFormat>, pub training_pipeline: String, pub pipeline_job: String, pub container_spec: Option<ModelContainerSpec>, pub artifact_uri: String, pub supported_deployment_resources_types: Vec<DeploymentResourcesType>, pub supported_input_storage_formats: Vec<String>, pub supported_output_storage_formats: Vec<String>, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub deployed_models: Vec<DeployedModelRef>, pub explanation_spec: Option<ExplanationSpec>, pub etag: String, pub labels: HashMap<String, String>, pub data_stats: Option<DataStats>, pub encryption_spec: Option<EncryptionSpec>, pub model_source_info: Option<ModelSourceInfo>, pub original_model_info: Option<OriginalModelInfo>, pub metadata_artifact: String, pub base_model_source: Option<BaseModelSource>, pub satisfies_pzs: bool, pub satisfies_pzi: bool, pub checkpoints: Vec<Checkpoint>, /* private fields */
}
Expand description

A trained machine learning Model.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

The resource name of the Model.

§version_id: 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.

§version_aliases: Vec<String>

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.

§version_create_time: Option<Timestamp>

Output only. Timestamp when this version was created.

§version_update_time: Option<Timestamp>

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

§display_name: 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.

§version_description: String

The description of this version.

§default_checkpoint_id: String

The default checkpoint id of a model version.

§predict_schemata: Option<PredictSchemata>

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

§metadata_schema_uri: 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: Option<Value>

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

§supported_export_formats: Vec<ExportFormat>

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

§training_pipeline: String

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

§pipeline_job: String

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

§container_spec: Option<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.

§artifact_uri: String

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

§supported_deployment_resources_types: Vec<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 supported_input_storage_formats and supported_output_storage_formats.

§supported_input_storage_formats: Vec<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 gcs_source 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 supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.

§supported_output_storage_formats: Vec<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 supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.

§create_time: Option<Timestamp>

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

§update_time: Option<Timestamp>

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

§deployed_models: Vec<DeployedModelRef>

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

§explanation_spec: Option<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 explanation_spec can be overridden by explanation_spec of DeployModelRequest.deployed_model, or explanation_spec of BatchPredictionJob.

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

§etag: String

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

§labels: HashMap<String, 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.

§data_stats: Option<DataStats>

Stats of data used for training or evaluating the Model.

Only populated when the Model is trained by a TrainingPipeline with data_input_config.

§encryption_spec: Option<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.

§model_source_info: Option<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.

§original_model_info: Option<OriginalModelInfo>

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

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

§base_model_source: Option<BaseModelSource>

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

§satisfies_pzs: bool

Output only. Reserved for future use.

§satisfies_pzi: bool

Output only. Reserved for future use.

§checkpoints: Vec<Checkpoint>

Optional. Output only. The checkpoints of the model.

Implementations§

Source§

impl Model

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

Source

pub fn set_version_id<T: Into<String>>(self, v: T) -> Self

Sets the value of version_id.

Source

pub fn set_version_aliases<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of version_aliases.

Source

pub fn set_version_create_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of version_create_time.

Source

pub fn set_version_update_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of version_update_time.

Source

pub fn set_display_name<T: Into<String>>(self, v: T) -> Self

Sets the value of display_name.

Source

pub fn set_description<T: Into<String>>(self, v: T) -> Self

Sets the value of description.

Source

pub fn set_version_description<T: Into<String>>(self, v: T) -> Self

Sets the value of version_description.

Source

pub fn set_default_checkpoint_id<T: Into<String>>(self, v: T) -> Self

Sets the value of default_checkpoint_id.

Source

pub fn set_predict_schemata<T: Into<Option<PredictSchemata>>>( self, v: T, ) -> Self

Sets the value of predict_schemata.

Source

pub fn set_metadata_schema_uri<T: Into<String>>(self, v: T) -> Self

Sets the value of metadata_schema_uri.

Source

pub fn set_metadata<T: Into<Option<Value>>>(self, v: T) -> Self

Sets the value of metadata.

Source

pub fn set_supported_export_formats<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<ExportFormat>,

Sets the value of supported_export_formats.

Source

pub fn set_training_pipeline<T: Into<String>>(self, v: T) -> Self

Sets the value of training_pipeline.

Source

pub fn set_pipeline_job<T: Into<String>>(self, v: T) -> Self

Sets the value of pipeline_job.

Source

pub fn set_container_spec<T: Into<Option<ModelContainerSpec>>>( self, v: T, ) -> Self

Sets the value of container_spec.

Source

pub fn set_artifact_uri<T: Into<String>>(self, v: T) -> Self

Sets the value of artifact_uri.

Source

pub fn set_supported_deployment_resources_types<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<DeploymentResourcesType>,

Source

pub fn set_supported_input_storage_formats<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Source

pub fn set_supported_output_storage_formats<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Source

pub fn set_create_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of create_time.

Source

pub fn set_update_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of update_time.

Source

pub fn set_deployed_models<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<DeployedModelRef>,

Sets the value of deployed_models.

Source

pub fn set_explanation_spec<T: Into<Option<ExplanationSpec>>>( self, v: T, ) -> Self

Sets the value of explanation_spec.

Source

pub fn set_etag<T: Into<String>>(self, v: T) -> Self

Sets the value of etag.

Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

Source

pub fn set_data_stats<T: Into<Option<DataStats>>>(self, v: T) -> Self

Sets the value of data_stats.

Source

pub fn set_encryption_spec<T: Into<Option<EncryptionSpec>>>(self, v: T) -> Self

Sets the value of encryption_spec.

Source

pub fn set_model_source_info<T: Into<Option<ModelSourceInfo>>>( self, v: T, ) -> Self

Sets the value of model_source_info.

Source

pub fn set_original_model_info<T: Into<Option<OriginalModelInfo>>>( self, v: T, ) -> Self

Sets the value of original_model_info.

Source

pub fn set_metadata_artifact<T: Into<String>>(self, v: T) -> Self

Sets the value of metadata_artifact.

Source

pub fn set_base_model_source<T: Into<Option<BaseModelSource>>>( self, v: T, ) -> Self

Sets the value of base_model_source.

Source

pub fn set_satisfies_pzs<T: Into<bool>>(self, v: T) -> Self

Sets the value of satisfies_pzs.

Source

pub fn set_satisfies_pzi<T: Into<bool>>(self, v: T) -> Self

Sets the value of satisfies_pzi.

Source

pub fn set_checkpoints<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Checkpoint>,

Sets the value of checkpoints.

Trait Implementations§

Source§

impl Clone for Model

Source§

fn clone(&self) -> Model

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Model

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Model

Source§

fn default() -> Model

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Model
where Model: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Message for Model

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Model

Source§

fn eq(&self, other: &Model) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Model

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Model

Auto Trait Implementations§

§

impl Freeze for Model

§

impl RefUnwindSafe for Model

§

impl Send for Model

§

impl Sync for Model

§

impl Unpin for Model

§

impl UnwindSafe for Model

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,