Class CustomJobSpec (2.3.0)

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

Represents the spec of a CustomJob. Next Id: 15

Inheritance

Object > CustomJobSpec

Namespace

Google.Cloud.AIPlatform.V1

Assembly

Google.Cloud.AIPlatform.V1.dll

Constructors

CustomJobSpec()

public CustomJobSpec()

CustomJobSpec(CustomJobSpec)

public CustomJobSpec(CustomJobSpec other)
Parameter
NameDescription
otherCustomJobSpec

Properties

BaseOutputDirectory

public GcsDestination BaseOutputDirectory { get; set; }

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][google.cloud.aiplatform.v1.Trial.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/
Property Value
TypeDescription
GcsDestination

EnableWebAccess

public bool EnableWebAccess { get; set; }

Optional. 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][google.cloud.aiplatform.v1.CustomJob.web_access_uris] or [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] (within [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]).

Property Value
TypeDescription
Boolean

Network

public string Network { get; set; }

Optional. 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.

Property Value
TypeDescription
String

NetworkAsNetworkName

public NetworkName NetworkAsNetworkName { get; set; }

NetworkName-typed view over the Network resource name property.

Property Value
TypeDescription
NetworkName

ReservedIpRanges

public RepeatedField<string> ReservedIpRanges { get; }

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'].

Property Value
TypeDescription
RepeatedField<String>

Scheduling

public Scheduling Scheduling { get; set; }

Scheduling options for a CustomJob.

Property Value
TypeDescription
Scheduling

ServiceAccount

public string ServiceAccount { get; set; }

Specifies 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.

Property Value
TypeDescription
String

Tensorboard

public string Tensorboard { get; set; }

Optional. The name of a Vertex AI [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which this CustomJob will upload Tensorboard logs. Format: projects/{project}/locations/{location}/tensorboards/{tensorboard}

Property Value
TypeDescription
String

TensorboardAsTensorboardName

public TensorboardName TensorboardAsTensorboardName { get; set; }

TensorboardName-typed view over the Tensorboard resource name property.

Property Value
TypeDescription
TensorboardName

WorkerPoolSpecs

public RepeatedField<WorkerPoolSpec> WorkerPoolSpecs { get; }

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.

Property Value
TypeDescription
RepeatedField<WorkerPoolSpec>