Model

Struct Model 

Source
#[non_exhaustive]
pub struct Model {
Show 15 fields pub name: String, pub display_name: String, pub training_state: TrainingState, pub serving_state: ServingState, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub type: String, pub optimization_objective: String, pub periodic_tuning_state: PeriodicTuningState, pub last_tune_time: Option<Timestamp>, pub tuning_operation: String, pub data_state: DataState, pub filtering_option: RecommendationsFilteringOption, pub serving_config_lists: Vec<ServingConfigList>, pub model_features_config: Option<ModelFeaturesConfig>, /* private fields */
}
Expand description

Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.

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

Required. The fully qualified resource name of the model.

Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.

§display_name: String

Required. The display name of the model.

Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.

§training_state: TrainingState

Optional. The training state that the model is in (e.g. TRAINING or PAUSED).

Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. The default value for UpdateModel method is to keep the state the same as before.

§serving_state: ServingState

Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.

§create_time: Option<Timestamp>

Output only. Timestamp the Recommendation Model was created at.

§update_time: Option<Timestamp>

Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.

§type: String

Required. The type of model e.g. home-page.

Currently supported values: recommended-for-you, others-you-may-like, frequently-bought-together, page-optimization, similar-items, buy-it-again, on-sale-items, and recently-viewed(readonly value).

This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = frequently-bought-together and optimization_objective = ctr), you receive an error 400 if you try to create/update a recommendation with this set of knobs.

§optimization_objective: String

Optional. The optimization objective e.g. cvr.

Currently supported values: ctr, cvr, revenue-per-order.

If not specified, we choose default based on model type. Default depends on type of recommendation:

recommended-for-you => ctr

others-you-may-like => ctr

frequently-bought-together => revenue_per_order

This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = frequently-bought-together and optimization_objective = ctr), you receive an error 400 if you try to create/update a recommendation with this set of knobs.

§periodic_tuning_state: PeriodicTuningState

Optional. The state of periodic tuning.

The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED.

§last_tune_time: Option<Timestamp>

Output only. The timestamp when the latest successful tune finished.

§tuning_operation: String

Output only. The tune operation associated with the model.

Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.

§data_state: DataState

Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR.

Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.

§filtering_option: RecommendationsFilteringOption

Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model.

§serving_config_lists: Vec<ServingConfigList>

Output only. The list of valid serving configs associated with the PageOptimizationConfig.

§model_features_config: Option<ModelFeaturesConfig>

Optional. Additional model features config.

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.

§Example
let x = Model::new().set_name("example");
Source

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

Sets the value of display_name.

§Example
let x = Model::new().set_display_name("example");
Source

pub fn set_training_state<T: Into<TrainingState>>(self, v: T) -> Self

Sets the value of training_state.

§Example
use google_cloud_retail_v2::model::model::TrainingState;
let x0 = Model::new().set_training_state(TrainingState::Paused);
let x1 = Model::new().set_training_state(TrainingState::Training);
Source

pub fn set_serving_state<T: Into<ServingState>>(self, v: T) -> Self

Sets the value of serving_state.

§Example
use google_cloud_retail_v2::model::model::ServingState;
let x0 = Model::new().set_serving_state(ServingState::Inactive);
let x1 = Model::new().set_serving_state(ServingState::Active);
let x2 = Model::new().set_serving_state(ServingState::Tuned);
Source

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

Sets the value of create_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_create_time(Timestamp::default()/* use setters */);
Source

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

Sets or clears the value of create_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Model::new().set_or_clear_create_time(None::<Timestamp>);
Source

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

Sets the value of update_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_update_time(Timestamp::default()/* use setters */);
Source

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

Sets or clears the value of update_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = Model::new().set_or_clear_update_time(None::<Timestamp>);
Source

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

Sets the value of r#type.

§Example
let x = Model::new().set_type("example");
Source

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

Sets the value of optimization_objective.

§Example
let x = Model::new().set_optimization_objective("example");
Source

pub fn set_periodic_tuning_state<T: Into<PeriodicTuningState>>( self, v: T, ) -> Self

Sets the value of periodic_tuning_state.

§Example
use google_cloud_retail_v2::model::model::PeriodicTuningState;
let x0 = Model::new().set_periodic_tuning_state(PeriodicTuningState::PeriodicTuningDisabled);
let x1 = Model::new().set_periodic_tuning_state(PeriodicTuningState::AllTuningDisabled);
let x2 = Model::new().set_periodic_tuning_state(PeriodicTuningState::PeriodicTuningEnabled);
Source

pub fn set_last_tune_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of last_tune_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_last_tune_time(Timestamp::default()/* use setters */);
Source

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

Sets or clears the value of last_tune_time.

§Example
use wkt::Timestamp;
let x = Model::new().set_or_clear_last_tune_time(Some(Timestamp::default()/* use setters */));
let x = Model::new().set_or_clear_last_tune_time(None::<Timestamp>);
Source

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

Sets the value of tuning_operation.

§Example
let x = Model::new().set_tuning_operation("example");
Source

pub fn set_data_state<T: Into<DataState>>(self, v: T) -> Self

Sets the value of data_state.

§Example
use google_cloud_retail_v2::model::model::DataState;
let x0 = Model::new().set_data_state(DataState::DataOk);
let x1 = Model::new().set_data_state(DataState::DataError);
Source

pub fn set_filtering_option<T: Into<RecommendationsFilteringOption>>( self, v: T, ) -> Self

Sets the value of filtering_option.

§Example
use google_cloud_retail_v2::model::RecommendationsFilteringOption;
let x0 = Model::new().set_filtering_option(RecommendationsFilteringOption::RecommendationsFilteringDisabled);
let x1 = Model::new().set_filtering_option(RecommendationsFilteringOption::RecommendationsFilteringEnabled);
Source

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

Sets the value of serving_config_lists.

§Example
use google_cloud_retail_v2::model::model::ServingConfigList;
let x = Model::new()
    .set_serving_config_lists([
        ServingConfigList::default()/* use setters */,
        ServingConfigList::default()/* use (different) setters */,
    ]);
Source

pub fn set_model_features_config<T>(self, v: T) -> Self

Sets the value of model_features_config.

§Example
use google_cloud_retail_v2::model::model::ModelFeaturesConfig;
let x = Model::new().set_model_features_config(ModelFeaturesConfig::default()/* use setters */);
Source

pub fn set_or_clear_model_features_config<T>(self, v: Option<T>) -> Self

Sets or clears the value of model_features_config.

§Example
use google_cloud_retail_v2::model::model::ModelFeaturesConfig;
let x = Model::new().set_or_clear_model_features_config(Some(ModelFeaturesConfig::default()/* use setters */));
let x = Model::new().set_or_clear_model_features_config(None::<ModelFeaturesConfig>);

Trait Implementations§

Source§

impl Clone for Model

Source§

fn clone(&self) -> Model

Returns a duplicate 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 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 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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>,