#[non_exhaustive]pub struct CustomJobSpec {Show 14 fields
pub persistent_resource_id: String,
pub worker_pool_specs: Vec<WorkerPoolSpec>,
pub scheduling: Option<Scheduling>,
pub service_account: String,
pub network: String,
pub reserved_ip_ranges: Vec<String>,
pub base_output_directory: Option<GcsDestination>,
pub protected_artifact_location_id: String,
pub tensorboard: String,
pub enable_web_access: bool,
pub enable_dashboard_access: bool,
pub experiment: String,
pub experiment_run: String,
pub models: Vec<String>,
/* private fields */
}Expand description
Represents the spec of a CustomJob.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.persistent_resource_id: StringOptional. The ID of the PersistentResource in the same Project and Location which to run
If this is specified, the job will be run on existing machines held by the PersistentResource instead of on-demand short-live machines. The network and CMEK configs on the job should be consistent with those on the PersistentResource, otherwise, the job will be rejected.
worker_pool_specs: Vec<WorkerPoolSpec>Required. The spec of the worker pools including machine type and Docker image. All worker pools except the first one are optional and can be skipped by providing an empty value.
scheduling: Option<Scheduling>Scheduling options for a CustomJob.
service_account: StringSpecifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account. If unspecified, the Vertex AI Custom Code Service Agent for the CustomJob’s project is used.
network: StringOptional. The full name of the Compute Engine
network to which the Job
should be peered. For example, projects/12345/global/networks/myVPC.
Format
is of the form projects/{project}/global/networks/{network}.
Where {project} is a project number, as in 12345, and {network} is a
network name.
To specify this field, you must have already configured VPC Network Peering for Vertex AI.
If this field is left unspecified, the job is not peered with any network.
reserved_ip_ranges: Vec<String>Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job.
If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network.
Example: [‘vertex-ai-ip-range’].
base_output_directory: Option<GcsDestination>The Cloud Storage location to store the output of this CustomJob or HyperparameterTuningJob. For HyperparameterTuningJob, the baseOutputDirectory of each child CustomJob backing a Trial is set to a subdirectory of name id under its parent HyperparameterTuningJob’s baseOutputDirectory.
The following Vertex AI environment variables will be passed to containers or python modules when this field is set:
For CustomJob:
- AIP_MODEL_DIR =
<base_output_directory>/model/ - AIP_CHECKPOINT_DIR =
<base_output_directory>/checkpoints/ - AIP_TENSORBOARD_LOG_DIR =
<base_output_directory>/logs/
For CustomJob backing a Trial of HyperparameterTuningJob:
- AIP_MODEL_DIR =
<base_output_directory>/<trial_id>/model/ - AIP_CHECKPOINT_DIR =
<base_output_directory>/<trial_id>/checkpoints/ - AIP_TENSORBOARD_LOG_DIR =
<base_output_directory>/<trial_id>/logs/
protected_artifact_location_id: StringThe ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations
tensorboard: StringOptional. The name of a Vertex AI
Tensorboard resource to which
this CustomJob will upload Tensorboard logs. Format:
projects/{project}/locations/{location}/tensorboards/{tensorboard}
enable_web_access: boolOptional. Whether you want Vertex AI to enable interactive shell access to training containers.
If set to true, you can access interactive shells at the URIs given
by
CustomJob.web_access_uris
or
Trial.web_access_uris
(within
HyperparameterTuningJob.trials).
enable_dashboard_access: boolOptional. Whether you want Vertex AI to enable access to the customized dashboard in training chief container.
If set to true, you can access the dashboard at the URIs given
by
CustomJob.web_access_uris
or
Trial.web_access_uris
(within
HyperparameterTuningJob.trials).
experiment: StringOptional. The Experiment associated with this job.
Format:
projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}
experiment_run: StringOptional. The Experiment Run associated with this job.
Format:
projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}
models: Vec<String>Optional. The name of the Model resources for which to generate a mapping
to artifact URIs. Applicable only to some of the Google-provided custom
jobs. Format: projects/{project}/locations/{location}/models/{model}
In order to retrieve a specific version of the model, also provide
the version ID or version alias.
Example: projects/{project}/locations/{location}/models/{model}@2
or
projects/{project}/locations/{location}/models/{model}@golden
If no version ID or alias is specified, the “default” version will be
returned. The “default” version alias is created for the first version of
the model, and can be moved to other versions later on. There will be
exactly one default version.
Implementations§
Source§impl CustomJobSpec
impl CustomJobSpec
pub fn new() -> Self
Sourcepub fn set_persistent_resource_id<T: Into<String>>(self, v: T) -> Self
pub fn set_persistent_resource_id<T: Into<String>>(self, v: T) -> Self
Sets the value of persistent_resource_id.
Sourcepub fn set_worker_pool_specs<T, V>(self, v: T) -> Self
pub fn set_worker_pool_specs<T, V>(self, v: T) -> Self
Sets the value of worker_pool_specs.
Sourcepub fn set_scheduling<T: Into<Option<Scheduling>>>(self, v: T) -> Self
pub fn set_scheduling<T: Into<Option<Scheduling>>>(self, v: T) -> Self
Sets the value of scheduling.
Sourcepub fn set_service_account<T: Into<String>>(self, v: T) -> Self
pub fn set_service_account<T: Into<String>>(self, v: T) -> Self
Sets the value of service_account.
Sourcepub fn set_network<T: Into<String>>(self, v: T) -> Self
pub fn set_network<T: Into<String>>(self, v: T) -> Self
Sets the value of network.
Sourcepub fn set_reserved_ip_ranges<T, V>(self, v: T) -> Self
pub fn set_reserved_ip_ranges<T, V>(self, v: T) -> Self
Sets the value of reserved_ip_ranges.
Sourcepub fn set_base_output_directory<T: Into<Option<GcsDestination>>>(
self,
v: T,
) -> Self
pub fn set_base_output_directory<T: Into<Option<GcsDestination>>>( self, v: T, ) -> Self
Sets the value of base_output_directory.
Sourcepub fn set_protected_artifact_location_id<T: Into<String>>(self, v: T) -> Self
pub fn set_protected_artifact_location_id<T: Into<String>>(self, v: T) -> Self
Sets the value of protected_artifact_location_id.
Sourcepub fn set_tensorboard<T: Into<String>>(self, v: T) -> Self
pub fn set_tensorboard<T: Into<String>>(self, v: T) -> Self
Sets the value of tensorboard.
Sourcepub fn set_enable_web_access<T: Into<bool>>(self, v: T) -> Self
pub fn set_enable_web_access<T: Into<bool>>(self, v: T) -> Self
Sets the value of enable_web_access.
Sourcepub fn set_enable_dashboard_access<T: Into<bool>>(self, v: T) -> Self
pub fn set_enable_dashboard_access<T: Into<bool>>(self, v: T) -> Self
Sets the value of enable_dashboard_access.
Sourcepub fn set_experiment<T: Into<String>>(self, v: T) -> Self
pub fn set_experiment<T: Into<String>>(self, v: T) -> Self
Sets the value of experiment.
Sourcepub fn set_experiment_run<T: Into<String>>(self, v: T) -> Self
pub fn set_experiment_run<T: Into<String>>(self, v: T) -> Self
Sets the value of experiment_run.
Sourcepub fn set_models<T, V>(self, v: T) -> Self
pub fn set_models<T, V>(self, v: T) -> Self
Sets the value of models.
Trait Implementations§
Source§impl Clone for CustomJobSpec
impl Clone for CustomJobSpec
Source§fn clone(&self) -> CustomJobSpec
fn clone(&self) -> CustomJobSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more