Google Cloud Aiplatform SDK

class google.cloud.aiplatform.AutoMLForecastingTrainingJob(display_name: str, optimization_objective: Optional[str] = None, column_transformations: Optional[Union[Dict, List[Dict]]] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.training_jobs._TrainingJob

Constructs a AutoML Forecasting Training Job.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • optimization_objective (str) – Optional. Objective function the model is to be optimized towards. The training process creates a Model that optimizes the value of the objective function over the validation set. The supported optimization objectives: “minimize-rmse” (default) - Minimize root-mean-squared error (RMSE). “minimize-mae” - Minimize mean-absolute error (MAE). “minimize-rmsle” - Minimize root-mean-squared log error (RMSLE). “minimize-rmspe” - Minimize root-mean-squared percentage error (RMSPE). “minimize-wape-mae” - Minimize the combination of weighted absolute percentage error (WAPE)

      and mean-absolute-error (MAE).

      ”minimize-quantile-loss” - Minimize the quantile loss at the defined quantiles.

      (Set this objective to build quantile forecasts.)

    • column_transformations (Optional[Union[Dict, **List[Dict]]]) – Optional. Transformations to apply to the input columns (i.e. columns other than the targetColumn). Each transformation may produce multiple result values from the column’s value, and all are used for training. When creating transformation for BigQuery Struct column, the column should be flattened using “.” as the delimiter. If an input column has no transformations on it, such a column is ignored by the training, except for the targetColumn, which should have no transformations defined on.

    • project (str) – Optional. Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Optional. Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

run(dataset: google.cloud.aiplatform.datasets.time_series_dataset.TimeSeriesDataset, target_column: str, time_column: str, time_series_identifier_column: str, unavailable_at_forecast_columns: List[str], available_at_forecast_columns: List[str], forecast_horizon: int, data_granularity_unit: str, data_granularity_count: int, predefined_split_column_name: Optional[str] = None, weight_column: Optional[str] = None, time_series_attribute_columns: Optional[List[str]] = None, context_window: Optional[int] = None, export_evaluated_data_items: bool = False, export_evaluated_data_items_bigquery_destination_uri: Optional[str] = None, export_evaluated_data_items_override_destination: bool = False, quantiles: Optional[List[float]] = None, validation_options: Optional[str] = None, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, sync: bool = True)

Runs the training job and returns a model.

The training data splits are set by default: Roughly 80% will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (datasets.Dataset) – Required. The dataset within the same Project from which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline’s [training_task_definition] [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For time series Datasets, all their data is exported to training, to pick and choose from.

    • target_column (str) – Required. Name of the column that the Model is to predict values for.

    • time_column (str) – Required. Name of the column that identifies time order in the time series.

    • time_series_identifier_column (str) – Required. Name of the column that identifies the time series.

    • unavailable_at_forecast_columns (List[str]) – Required. Column names of columns that are unavailable at forecast. Each column contains information for the given entity (identified by the [time_series_identifier_column]) that is unknown before the forecast (e.g. population of a city in a given year, or weather on a given day).

    • available_at_forecast_columns (List[str]) – Required. Column names of columns that are available at forecast. Each column contains information for the given entity (identified by the [time_series_identifier_column]) that is known at forecast.

    • forecast_horizon – (int): Required. The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the [data_granularity_unit] and [data_granularity_count] field. Inclusive.

    • data_granularity_unit (str) – Required. The data granularity unit. Accepted values are minute, hour, day, week, month, year.

    • data_granularity_count (int) – Required. The number of data granularity units between data points in the training data. If [data_granularity_unit] is minute, can be 1, 5, 10, 15, or 30. For all other values of [data_granularity_unit], must be 1.

    • predefined_split_column_name (str) – Optional. The key is a name of one of the Dataset’s data columns. The value of the key (either the label’s value or value in the column) must be one of {TRAIN, VALIDATE, TEST}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.

      Supported only for tabular and time series Datasets.

    • weight_column (str) – Optional. Name of the column that should be used as the weight column. Higher values in this column give more importance to the row during Model training. The column must have numeric values between 0 and 10000 inclusively, and 0 value means that the row is ignored. If the weight column field is not set, then all rows are assumed to have equal weight of 1.

    • time_series_attribute_columns (List[str]) – Optional. Column names that should be used as attribute columns. Each column is constant within a time series.

    • context_window (int) – Optional. The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the [data_granularity_unit] and [data_granularity_count] fields. When not provided uses the default value of 0 which means the model sets each series context window to be 0 (also known as “cold start”). Inclusive.

    • export_evaluated_data_items (bool) – Whether to export the test set predictions to a BigQuery table. If False, then the export is not performed.

    • export_evaluated_data_items_bigquery_destination_uri (string) – Optional. URI of desired destination BigQuery table for exported test set predictions.

      Expected format: bq://<project_id>:<dataset_id>:<table>

      If not specified, then results are exported to the following auto-created BigQuery table: <project_id>:export_evaluated_examples_<model_name>_<yyyy_MM_dd'T'HH_mm_ss_SSS'Z'>.evaluated_examples

      Applies only if [export_evaluated_data_items] is True.

    • export_evaluated_data_items_override_destination (bool) – Whether to override the contents of [export_evaluated_data_items_bigquery_destination_uri], if the table exists, for exported test set predictions. If False, and the table exists, then the training job will fail.

      Applies only if [export_evaluated_data_items] is True and [export_evaluated_data_items_bigquery_destination_uri] is specified.

    • quantiles (List[float]) – Quantiles to use for the minizmize-quantile-loss [AutoMLForecastingTrainingJob.optimization_objective]. This argument is required in this case.

      Accepts up to 5 quantiles in the form of a double from 0 to 1, exclusive. Each quantile must be unique.

    • validation_options (str) – Validation options for the data validation component. The available options are: “fail-pipeline” - (default), will validate against the validation and fail the pipeline

      if it fails.

      ”ignore-validation” - ignore the results of the validation and continue the pipeline

    • budget_milli_node_hours (int) – Optional. The train budget of creating this Model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend’s discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a Model for the given training set, the training won’t be attempted and will error. The minimum value is 1000 and the maximum is 72000.

    • model_display_name (str) – Optional. If the script produces a managed AI Platform Model. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

  • Raises

    RuntimeError if Training job has already been run** or ***is waiting to run.* –

class google.cloud.aiplatform.AutoMLImageTrainingJob(display_name: str, prediction_type: str = 'classification', multi_label: bool = False, model_type: str = 'CLOUD', base_model: Optional[google.cloud.aiplatform.models.Model] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._TrainingJob

Constructs a AutoML Image Training Job.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • prediction_type (str) – The type of prediction the Model is to produce, one of:

      ”classification” - Predict one out of multiple target values is

        picked for each row.
      

      ”object_detection” - Predict a value based on its relation to other values.

        This type is available only to columns that contain
        semantically numeric values, i.e. integers or floating
        point number, even if stored as e.g. strings.
      
    • multi_label – bool = False Required. Default is False. If false, a single-label (multi-class) Model will be trained (i.e. assuming that for each image just up to one annotation may be applicable). If true, a multi-label Model will be trained (i.e. assuming that for each image multiple annotations may be applicable).

      This is only applicable for the “classification” prediction_type and will be ignored otherwise.

    • model_type – str = “CLOUD” Required. One of the following:

      ”CLOUD” - Default for Image Classification.

      A Model best tailored to be used within Google Cloud, and
      which cannot be exported.
      

      ”CLOUD_HIGH_ACCURACY_1” - Default for Image Object Detection.

      A model best tailored to be used within Google Cloud, and
      which cannot be exported. Expected to have a higher latency,
      but should also have a higher prediction quality than other
      cloud models.
      

      ”CLOUD_LOW_LATENCY_1” - A model best tailored to be used within

      Google Cloud, and which cannot be exported. Expected to have a
      low latency, but may have lower prediction quality than other
      cloud models.
      

      ”MOBILE_TF_LOW_LATENCY_1” - A model that, in addition to being

      available within Google Cloud, can also be exported as TensorFlow
      or Core ML model and used on a mobile or edge device afterwards.
      Expected to have low latency, but may have lower prediction
      quality than other mobile models.
      

      ”MOBILE_TF_VERSATILE_1” - A model that, in addition to being

      available within Google Cloud, can also be exported as TensorFlow
      or Core ML model and used on a mobile or edge device with afterwards.
      

      ”MOBILE_TF_HIGH_ACCURACY_1” - A model that, in addition to being

      available within Google Cloud, can also be exported as TensorFlow
      or Core ML model and used on a mobile or edge device afterwards.
      Expected to have a higher latency, but should also have a higher
      prediction quality than other mobile models.
      
    • base_model – Optional[models.Model] = None Optional. Only permitted for Image Classification models. If it is specified, the new model will be trained based on the base model. Otherwise, the new model will be trained from scratch. The base model must be in the same Project and Location as the new Model to train, and have the same model_type.

    • project (str) – Optional. Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Optional. Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

  • Raises

    ValueError – When an invalid prediction_type or model_type is provided.

run(dataset: google.cloud.aiplatform.datasets.image_dataset.ImageDataset, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, disable_early_stopping: bool = False, sync: bool = True)

Runs the AutoML Image training job and returns a model.

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform. If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (datasets.ImageDataset) – Required. The dataset within the same Project from which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline’s [training_task_definition] [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For tabular Datasets, all their data is exported to training, to pick and choose from.

    • training_fraction_split – float = 0.8 Required. The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split – float = 0.1 Required. The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split – float = 0.1 Required. The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • budget_milli_node_hours – int = 1000 Optional. The train budget of creating this Model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend’s discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a Model for the given training set, the training won’t be attempted and will error. The minimum value is 1000 and the maximum is 72000.

    • model_display_name (str) – Optional. The display name of the managed AI Platform Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters. If not provided upon creation, the job’s display_name is used.

    • disable_early_stopping – bool = False Required. If true, the entire budget is used. This disables the early stopping feature. By default, the early stopping feature is enabled, which means that training might stop before the entire training budget has been used, if further training does no longer brings significant improvement to the model.

    • sync – bool = True Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

  • Raises

    RuntimeError – If Training job has already been run or is waiting to run.

class google.cloud.aiplatform.AutoMLTabularTrainingJob(display_name: str, optimization_prediction_type: str, optimization_objective: Optional[str] = None, column_transformations: Optional[Union[Dict, List[Dict]]] = None, optimization_objective_recall_value: Optional[float] = None, optimization_objective_precision_value: Optional[float] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._TrainingJob

Constructs a AutoML Tabular Training Job.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • optimization_prediction_type (str) – The type of prediction the Model is to produce. “classification” - Predict one out of multiple target values is picked for each row. “regression” - Predict a value based on its relation to other values. This type is available only to columns that contain semantically numeric values, i.e. integers or floating point number, even if stored as e.g. strings.

    • optimization_objective (str) – Optional. Objective function the Model is to be optimized towards. The training task creates a Model that maximizes/minimizes the value of the objective function over the validation set.

      The supported optimization objectives depend on the prediction type, and in the case of classification also the number of distinct values in the target column (two distint values -> binary, 3 or more distinct values -> multi class). If the field is not set, the default objective function is used.

      Classification (binary): “maximize-au-roc” (default) - Maximize the area under the receiver

      operating characteristic (ROC) curve.

      ”minimize-log-loss” - Minimize log loss. “maximize-au-prc” - Maximize the area under the precision-recall curve. “maximize-precision-at-recall” - Maximize precision for a specified

      recall value.

      ”maximize-recall-at-precision” - Maximize recall for a specified

      precision value.

      Classification (multi class): “minimize-log-loss” (default) - Minimize log loss.

      Regression: “minimize-rmse” (default) - Minimize root-mean-squared error (RMSE). “minimize-mae” - Minimize mean-absolute error (MAE). “minimize-rmsle” - Minimize root-mean-squared log error (RMSLE).

    • column_transformations (Optional[Union[Dict, **List[Dict]]]) – Optional. Transformations to apply to the input columns (i.e. columns other than the targetColumn). Each transformation may produce multiple result values from the column’s value, and all are used for training. When creating transformation for BigQuery Struct column, the column should be flattened using “.” as the delimiter. If an input column has no transformations on it, such a column is ignored by the training, except for the targetColumn, which should have no transformations defined on.

    • optimization_objective_recall_value (float) – Optional. Required when maximize-precision-at-recall optimizationObjective was picked, represents the recall value at which the optimization is done.

      The minimum value is 0 and the maximum is 1.0.

    • optimization_objective_precision_value (float) – Optional. Required when maximize-recall-at-precision optimizationObjective was picked, represents the precision value at which the optimization is done.

      The minimum value is 0 and the maximum is 1.0.

    • project (str) – Optional. Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Optional. Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

run(dataset: google.cloud.aiplatform.datasets.tabular_dataset.TabularDataset, target_column: str, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, predefined_split_column_name: Optional[str] = None, weight_column: Optional[str] = None, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, disable_early_stopping: bool = False, sync: bool = True)

Runs the training job and returns a model.

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform. If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (datasets.TabularDataset) – Required. The dataset within the same Project from which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline’s [training_task_definition] [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For tabular Datasets, all their data is exported to training, to pick and choose from.

    • training_fraction_split (float) – Required. The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split (float) – Required. The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split (float) – Required. The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • predefined_split_column_name (str) – Optional. The key is a name of one of the Dataset’s data columns. The value of the key (either the label’s value or value in the column) must be one of {training, validation, test}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.

      Supported only for tabular and time series Datasets.

    • weight_column (str) – Optional. Name of the column that should be used as the weight column. Higher values in this column give more importance to the row during Model training. The column must have numeric values between 0 and 10000 inclusively, and 0 value means that the row is ignored. If the weight column field is not set, then all rows are assumed to have equal weight of 1.

    • budget_milli_node_hours (int) – Optional. The train budget of creating this Model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend’s discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a Model for the given training set, the training won’t be attempted and will error. The minimum value is 1000 and the maximum is 72000.

    • model_display_name (str) – Optional. If the script produces a managed AI Platform Model. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • disable_early_stopping (bool) – Required. If true, the entire budget is used. This disables the early stopping feature. By default, the early stopping feature is enabled, which means that training might stop before the entire training budget has been used, if further training does no longer brings significant improvement to the model.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

  • Raises

    RuntimeError – If Training job has already been run or is waiting to run.

class google.cloud.aiplatform.AutoMLTextTrainingJob(display_name: str, prediction_type: str, multi_label: bool = False, sentiment_max: int = 10, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._TrainingJob

Constructs a AutoML Text Training Job.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • prediction_type (str) – The type of prediction the Model is to produce, one of:

      ”classification” - A classification model analyzes text data and

        returns a list of categories that apply to the text found in the data.
        AI Platform offers both single-label and multi-label text classification models.
      

      ”extraction” - An entity extraction model inspects text data

        for known entities referenced in the data and
        labels those entities in the text.
      

      ”sentiment” - A sentiment analysis model inspects text data and identifies the

        prevailing emotional opinion within it, especially to determine a writer’s attitude
        as positive, negative, or neutral.
      
    • multi_label (bool) – Required and only applicable for text classification task. If false, a single-label (multi-class) Model will be trained (i.e. assuming that for each text snippet just up to one annotation may be applicable). If true, a multi-label Model will be trained (i.e. assuming that for each text snippet multiple annotations may be applicable).

    • sentiment_max (int) – Required and only applicable for sentiment task. A sentiment is expressed as an integer ordinal, where higher value means a more positive sentiment. The range of sentiments that will be used is between 0 and sentimentMax (inclusive on both ends), and all the values in the range must be represented in the dataset before a model can be created. Only the Annotations with this sentimentMax will be used for training. sentimentMax value must be between 1 and 10 (inclusive).

    • project (str) – Optional. Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Optional. Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

run(dataset: google.cloud.aiplatform.datasets.text_dataset.TextDataset, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, model_display_name: Optional[str] = None, sync: bool = True)

Runs the training job and returns a model.

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform. If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (datasets.TextDataset) – Required. The dataset within the same Project from which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline’s [training_task_definition] [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition].

    • training_fraction_split – float = 0.8 Required. The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split – float = 0.1 Required. The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split – float = 0.1 Required. The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • model_display_name (str) – Optional. The display name of the managed AI Platform Model. The name can be up to 128 characters long and can consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource.

  • Return type

    model

  • Raises

    RuntimeError – If Training job has already been run or is waiting to run.

class google.cloud.aiplatform.AutoMLVideoTrainingJob(display_name: str, prediction_type: str = 'classification', model_type: str = 'CLOUD', project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._TrainingJob

Constructs a AutoML Video Training Job.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • prediction_type (str) – The type of prediction the Model is to produce, one of:

      ”classification” - A video classification model classifies shots

        and segments in your videos according to your own defined labels.
      

      ”object_tracking” - A video object tracking model detects and tracks

        multiple objects in shots and segments. You can use these
        models to track objects in your videos according to your
        own pre-defined, custom labels.
      

      ”action_recognition” - A video action reconition model pinpoints

        the location of actions with short temporal durations (~1 second).
      
    • model_type – str = “CLOUD” Required. One of the following:

      ”CLOUD” - available for “classification”, “object_tracking” and “action_recognition”

      A Model best tailored to be used within Google Cloud,
      and which cannot be exported.
      

      ”MOBILE_VERSATILE_1” - available for “classification”, “object_tracking” and “action_recognition”

      A model that, in addition to being available within Google
      Cloud, can also be exported (see ModelService.ExportModel)
      as a TensorFlow or TensorFlow Lite model and used on a
      mobile or edge device with afterwards.
      

      ”MOBILE_CORAL_VERSATILE_1” - available only for “object_tracking”

      A versatile model that is meant to be exported (see
      ModelService.ExportModel) and used on a Google Coral device.
      

      ”MOBILE_CORAL_LOW_LATENCY_1” - available only for “object_tracking”

      A model that trades off quality for low latency, to be
      exported (see ModelService.ExportModel) and used on a
      Google Coral device.
      

      ”MOBILE_JETSON_VERSATILE_1” - available only for “object_tracking”

      A versatile model that is meant to be exported (see
      ModelService.ExportModel) and used on an NVIDIA Jetson device.
      

      ”MOBILE_JETSON_LOW_LATENCY_1” - available only for “object_tracking”

      A model that trades off quality for low latency, to be
      exported (see ModelService.ExportModel) and used on an
      NVIDIA Jetson device.
      
    • project (str) – Optional. Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Optional. Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

  • Raises

    ValueError – When an invalid prediction_type and/or model_type is provided.

run(dataset: google.cloud.aiplatform.datasets.video_dataset.VideoDataset, training_fraction_split: float = 0.8, test_fraction_split: float = 0.2, model_display_name: Optional[str] = None, sync: bool = True)

Runs the AutoML Image training job and returns a model.

Data fraction splits: training_fraction_split, and test_fraction_split may optionally be provided, they must sum to up to 1. If none of the fractions are set, by default roughly 80% of data will be used for training, and 20% for test.

  • Parameters

    • dataset (datasets.VideoDataset) – Required. The dataset within the same Project from which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline’s [training_task_definition] [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For tabular Datasets, all their data is exported to training, to pick and choose from.

    • training_fraction_split – float = 0.8 Required. The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • test_fraction_split – float = 0.2 Required. The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • model_display_name (str) – Optional. The display name of the managed AI Platform Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters. If not provided upon creation, the job’s display_name is used.

    • sync – bool = True Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

  • Raises

    RuntimeError – If Training job has already been run or is waiting to run.

class google.cloud.aiplatform.BatchPredictionJob(batch_prediction_job_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.jobs._Job

Retrieves a BatchPredictionJob resource and instantiates its representation.

  • Parameters

    • batch_prediction_job_name (str) – Required. A fully-qualified BatchPredictionJob resource name or ID. Example: “projects/…/locations/…/batchPredictionJobs/456” or “456” when project and location are initialized or passed.

    • project – Optional[str] = None, Optional project to retrieve BatchPredictionJob from. If not set, project set in aiplatform.init will be used.

    • location – Optional[str] = None, Optional location to retrieve BatchPredictionJob from. If not set, location set in aiplatform.init will be used.

    • credentials – Optional[auth_credentials.Credentials] = None, Custom credentials to use. If not set, credentials set in aiplatform.init will be used.

classmethod create(job_display_name: str, model_name: str, instances_format: str = 'jsonl', predictions_format: str = 'jsonl', gcs_source: Optional[Union[str, Sequence[str]]] = None, bigquery_source: Optional[str] = None, gcs_destination_prefix: Optional[str] = None, bigquery_destination_prefix: Optional[str] = None, model_parameters: Optional[Dict] = None, machine_type: Optional[str] = None, accelerator_type: Optional[str] = None, accelerator_count: Optional[int] = None, starting_replica_count: Optional[int] = None, max_replica_count: Optional[int] = None, generate_explanation: Optional[bool] = False, explanation_metadata: Optional[google.cloud.aiplatform_v1beta1.types.explanation_metadata.ExplanationMetadata] = None, explanation_parameters: Optional[google.cloud.aiplatform_v1beta1.types.explanation.ExplanationParameters] = None, labels: Optional[dict] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Create a batch prediction job.

  • Parameters

    • job_display_name (str) – Required. The user-defined name of the BatchPredictionJob. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • model_name (str) – Required. A fully-qualified model resource name or model ID. Example: “projects/123/locations/us-central1/models/456” or “456” when project and location are initialized or passed.

    • instances_format (str) – Required. The format in which instances are given, must be one of “jsonl”, “csv”, “bigquery”, “tf-record”, “tf-record-gzip”, or “file-list”. Default is “jsonl” when using gcs_source. If a bigquery_source is provided, this is overriden to “bigquery”.

    • predictions_format (str) – Required. The format in which AI Platform gives the predictions, must be one of “jsonl”, “csv”, or “bigquery”. Default is “jsonl” when using gcs_destination_prefix. If a bigquery_destination_prefix is provided, this is overriden to “bigquery”.

    • gcs_source (Optional[Sequence[str]]) – Google Cloud Storage URI(-s) to your instances to run batch prediction on. They must match instances_format. May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.

    • bigquery_source (Optional[str]) – BigQuery URI to a table, up to 2000 characters long. For example: projectId.bqDatasetId.bqTableId

    • gcs_destination_prefix (Optional[str]) – The Google Cloud Storage location of the directory where the output is to be written to. In the given directory a new directory is created. Its name is prediction-<model-display-name>-<job-create-time>, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files predictions_0001.<extension>, predictions_0002.<extension>, …, predictions_N.<extension> are created where <extension> depends on chosen predictions_format, and N may equal 0001 and depends on the total number of successfully predicted instances. If the Model has both instance and prediction schemata defined then each such file contains predictions as per the predictions_format. If prediction for any instance failed (partially or completely), then an additional errors_0001.<extension>, errors_0002.<extension>,…, errors_N.<extension> files are created (N depends on total number of failed predictions). These files contain the failed instances, as per their schema, followed by an additional error field which as value has \google.rpc.Status<Status>\__ containing only code and message fields.

    • bigquery_destination_prefix (Optional[str]) – The BigQuery project location where the output is to be written to. In the given project a new dataset is created with name prediction_<model-display-name>_<job-create-time> where is made BigQuery-dataset-name compatible (for example, most special characters become underscores), and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ “based on ISO-8601” format. In the dataset two tables will be created, predictions, and errors. If the Model has both instance and prediction schemata defined then the tables have columns as follows: The predictions table contains instances for which the prediction succeeded, it has columns as per a concatenation of the Model’s instance and prediction schemata. The errors table contains rows for which the prediction has failed, it has instance columns, as per the instance schema, followed by a single “errors” column, which as values has \google.rpc.Status<Status>\__ represented as a STRUCT, and containing only code and message.

    • model_parameters (Optional[Dict]) – The parameters that govern the predictions. The schema of the parameters may be specified via the Model’s parameters_schema_uri.

    • machine_type (Optional[str]) – The type of machine for running batch prediction on dedicated resources. Not specifying machine type will result in batch prediction job being run with automatic resources.

    • accelerator_type (Optional[str]) – The type of accelerator(s) that may be attached to the machine as per accelerator_count. Only used if machine_type is set.

    • accelerator_count (Optional[int]) – The number of accelerators to attach to the machine_type. Only used if machine_type is set.

    • starting_replica_count (Optional[int]) – The number of machine replicas used at the start of the batch operation. If not set, AI Platform decides starting number, not greater than max_replica_count. Only used if machine_type is set.

    • max_replica_count (Optional[int]) – The maximum number of machine replicas the batch operation may be scaled to. Only used if machine_type is set. Default is 10.

    • generate_explanation (bool) – Optional. Generate explanation along with the batch prediction results. This will cause the batch prediction output to include explanations based on the prediction_format:

      * bigquery: output includes a column named explanation. The value
      
      is a struct that conforms to the [aiplatform.gapic.Explanation] object.
      
>     * jsonl: The JSON objects on each line include an additional entry

>     keyed explanation. The value of the entry is a JSON object that
>     conforms to the [aiplatform.gapic.Explanation] object.


>     * csv: Generating explanations for CSV format is not supported.



* **explanation_metadata** (*aiplatform.explain.ExplanationMetadata*) – Optional. Explanation metadata configuration for this BatchPredictionJob.
Can be specified only if generate_explanation is set to True.

This value overrides the value of Model.explanation_metadata.
All fields of explanation_metadata are optional in the request. If
a field of the explanation_metadata object is not populated, the
corresponding field of the Model.explanation_metadata object is inherited.
For more details, see Ref docs <http://tinyurl.com/1igh60kt>



* **explanation_parameters** (*aiplatform.explain.ExplanationParameters*) – Optional. Parameters to configure explaining for Model’s predictions.
Can be specified only if generate_explanation is set to True.

This value overrides the value of Model.explanation_parameters.
All fields of explanation_parameters are optional in the request. If
a field of the explanation_parameters object is not populated, the
corresponding field of the Model.explanation_parameters object is inherited.
For more details, see Ref docs <http://tinyurl.com/1an4zake>



* **labels** (*Optional**[*[*dict*](https://python.readthedocs.io/en/latest/library/stdtypes.html#dict)*]*) – The labels with user-defined metadata to organize your
BatchPredictionJobs. 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](https://goo.gl/xmQnxf)
for more information and examples of labels.


* **credentials** (*Optional**[**auth_credentials.Credentials**]*) – Custom credentials to use to create this batch prediction
job. Overrides credentials set in aiplatform.init.


* **encryption_spec_key_name** (*Optional**[*[*str*](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)*]*) – Optional. The Cloud KMS resource identifier of the customer
managed encryption key used to protect the job. Has the
form:
`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
The key needs to be in the same region as where the compute
resource is created.

If this is set, then all
resources created by the BatchPredictionJob will
be encrypted with the provided encryption key.

Overrides encryption_spec_key_name set in aiplatform.init.



* **sync** ([*bool*](https://python.readthedocs.io/en/latest/library/functions.html#bool)) – Whether to execute this method synchronously. If False, this method
will be executed in concurrent Future and any downstream object will
be immediately returned and synced when the Future has completed.
  • Returns

    Instantiated representation of the created batch prediction job.

  • Return type

    (jobs.BatchPredictionJob)

iter_outputs(bq_max_results: Optional[int] = 100)

Returns an Iterable object to traverse the output files, either a list of GCS Blobs or a BigQuery RowIterator depending on the output config set when the BatchPredictionJob was created.

  • Parameters

    bq_max_results – Optional[int] = 100 Limit on rows to retrieve from prediction table in BigQuery dataset. Only used when retrieving predictions from a bigquery_destination_prefix. Default is 100.

  • Returns

    Either a list of GCS Blob objects within the prediction output directory or an iterable BigQuery RowIterator with predictions.

  • Return type

    Union[Iterable[storage.Blob], Iterable[bigquery.table.RowIterator]]

  • Raises

    • RuntimeError – If BatchPredictionJob is in a JobState other than SUCCEEDED, since outputs cannot be retrieved until the Job has finished.

    • NotImplementedError – If BatchPredictionJob succeeded and output_info does not have a GCS or BQ output provided.

class google.cloud.aiplatform.CustomContainerTrainingJob(display_name: str, container_uri: str, command: Optional[Sequence[str]] = None, model_serving_container_image_uri: Optional[str] = None, model_serving_container_predict_route: Optional[str] = None, model_serving_container_health_route: Optional[str] = None, model_serving_container_command: Optional[Sequence[str]] = None, model_serving_container_args: Optional[Sequence[str]] = None, model_serving_container_environment_variables: Optional[Dict[str, str]] = None, model_serving_container_ports: Optional[Sequence[int]] = None, model_description: Optional[str] = None, model_instance_schema_uri: Optional[str] = None, model_parameters_schema_uri: Optional[str] = None, model_prediction_schema_uri: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None, staging_bucket: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._CustomTrainingJob

Class to launch a Custom Training Job in AI Platform using a Container.

Constructs a Custom Container Training Job.

job = aiplatform.CustomTrainingJob(

display_name=’test-train’,
container_uri=’gcr.io/cloud-aiplatform/training/tf-cpu.2-2:latest’,
command=[‘python3’, ‘run_script.py’]
model_serving_container_image_uri=’gcr.io/my-trainer/serving:1’,
model_serving_container_predict_route=’predict’,
model_serving_container_health_route=’metadata)

Usage with Dataset:

ds = aiplatform.TabularDataset(

‘projects/my-project/locations/us-central1/datasets/12345’)

job.run(ds, replica_count=1, model_display_name=’my-trained-model’)

Usage without Dataset:

job.run(replica_count=1, model_display_name=’my-trained-model)

TODO(b/169782082) add documentation about traning utilities To ensure your model gets saved in AI Platform, write your saved model to os.environ[“AIP_MODEL_DIR”] in your provided training script.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • container_uri (str) – Required: Uri of the training container image in the GCR.

    • command (Sequence[str]) – The command to be invoked when the container is started. It overrides the entrypoint instruction in Dockerfile when provided

    • model_serving_container_image_uri (str) – If the training produces a managed AI Platform Model, the URI of the Model serving container suitable for serving the model produced by the training script.

    • model_serving_container_predict_route (str) – If the training produces a managed AI Platform Model, An HTTP path to send prediction requests to the container, and which must be supported by it. If not specified a default HTTP path will be used by AI Platform.

    • model_serving_container_health_route (str) – If the training produces a managed AI Platform Model, an HTTP path to send health check requests to the container, and which must be supported by it. If not specified a standard HTTP path will be used by AI Platform.

    • model_serving_container_command (Sequence[str]) – The command with which the container is run. Not executed within a shell. The Docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_args (Sequence[str]) – The arguments to the command. The Docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – The environment variables that are to be present in the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names.

    • model_serving_container_ports (Sequence[int]) – Declaration of ports that are exposed by the container. This field is primarily informational, it gives AI Platform information about the network connections the container uses. Listing or not a port here has no impact on whether the port is actually exposed, any port listening on the default “0.0.0.0” address inside a container will be accessible from the network.

    • model_description (str) – The description of the Model.

    • model_instance_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • model_parameters_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform, if no parameters are supported it 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.

    • model_prediction_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • project (str) – Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • staging_bucket (str) – Bucket used to stage source and training artifacts. Overrides staging_bucket set in aiplatform.init.

run(dataset: Optional[Union[google.cloud.aiplatform.datasets.image_dataset.ImageDataset, google.cloud.aiplatform.datasets.tabular_dataset.TabularDataset, google.cloud.aiplatform.datasets.text_dataset.TextDataset, google.cloud.aiplatform.datasets.video_dataset.VideoDataset]] = None, annotation_schema_uri: Optional[str] = None, model_display_name: Optional[str] = None, base_output_dir: Optional[str] = None, service_account: Optional[str] = None, network: Optional[str] = None, bigquery_destination: Optional[str] = None, args: Optional[List[Union[str, float, int]]] = None, environment_variables: Optional[Dict[str, str]] = None, replica_count: int = 0, machine_type: str = 'n1-standard-4', accelerator_type: str = 'ACCELERATOR_TYPE_UNSPECIFIED', accelerator_count: int = 0, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, predefined_split_column_name: Optional[str] = None, sync=True)

Runs the custom training job.

Distributed Training Support: If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool. ie: replica_count = 10 will result in 1 chief and 9 workers All replicas have same machine_type, accelerator_type, and accelerator_count

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform. If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (Union[datasets.ImageDataset,datasets.TabularDataset,datasets.TextDataset,datasets.VideoDataset]) – AI Platform to fit this training against. Custom training script should retrieve datasets through passed in environment variables uris:

      os.environ[“AIP_TRAINING_DATA_URI”] os.environ[“AIP_VALIDATION_DATA_URI”] os.environ[“AIP_TEST_DATA_URI”]

      Additionally the dataset format is passed in as:

      os.environ[“AIP_DATA_FORMAT”]

    • annotation_schema_uri (str) – Google Cloud Storage URI points to a YAML file describing annotation schema. The schema is defined as an OpenAPI 3.0.2 Schema Object The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id.

      Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on.

      When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.

    • model_display_name (str) – If the script produces a managed AI Platform Model. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • base_output_dir (str) – GCS output directory of job. If not provided a timestamped directory in the staging directory will be used.

      AI Platform sets the following environment variables when it runs your training code:

      • AIP_MODEL_DIR: a Cloud Storage URI of a directory intended for saving model artifacts, i.e. <base_output_dir>/model/

      • AIP_CHECKPOINT_DIR: a Cloud Storage URI of a directory intended for saving checkpoints, i.e. <base_output_dir>/checkpoints/

      • AIP_TENSORBOARD_LOG_DIR: a Cloud Storage URI of a directory intended for saving TensorBoard logs, i.e. <base_output_dir>/logs/

    • service_account (str) – Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account.

    • network (str) – The full name of the Compute Engine network to which the job should be peered. For example, projects/12345/global/networks/myVPC. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.

    • bigquery_destination (str) – Provide this field if dataset is a BiqQuery dataset. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name dataset_<dataset-id>_<annotation-type>_<timestamp-of-training-call> where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data will be written into that dataset. In the dataset three tables will be created, training, validation and test.

      • AIP_DATA_FORMAT = “bigquery”.

      • AIP_TRAINING_DATA_URI =”bigquery_destination.dataset_*.training”

      • AIP_VALIDATION_DATA_URI = “bigquery_destination.dataset_*.validation”

      • AIP_TEST_DATA_URI = “bigquery_destination.dataset_*.test”

    • args (List[Unions[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int), [float](https://python.readthedocs.io/en/latest/library/functions.html#float)]*]) – Command line arguments to be passed to the Python script.

    • environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – Environment variables to be passed to the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names. At most 10 environment variables can be specified. The Name of the environment variable must be unique.

      environment_variables = {

      ‘MY_KEY’: ‘MY_VALUE’

      }

    • replica_count (int) – The number of worker replicas. If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool.

    • machine_type (str) – The type of machine to use for training.

    • accelerator_type (str) – Hardware accelerator type. One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4

    • accelerator_count (int) – The number of accelerators to attach to a worker replica.

    • training_fraction_split (float) – The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split (float) – The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split (float) – The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • predefined_split_column_name (str) – Optional. The key is a name of one of the Dataset’s data columns. The value of the key (either the label’s value or value in the column) must be one of {training, validation, test}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.

      Supported only for tabular and time series Datasets.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

  • Raises

    RuntimeError – If Training job has already been run, staging_bucket has not been set, or model_display_name was provided but required arguments were not provided in constructor.

class google.cloud.aiplatform.CustomPythonPackageTrainingJob(display_name: str, python_package_gcs_uri: str, python_module_name: str, container_uri: str, model_serving_container_image_uri: Optional[str] = None, model_serving_container_predict_route: Optional[str] = None, model_serving_container_health_route: Optional[str] = None, model_serving_container_command: Optional[Sequence[str]] = None, model_serving_container_args: Optional[Sequence[str]] = None, model_serving_container_environment_variables: Optional[Dict[str, str]] = None, model_serving_container_ports: Optional[Sequence[int]] = None, model_description: Optional[str] = None, model_instance_schema_uri: Optional[str] = None, model_parameters_schema_uri: Optional[str] = None, model_prediction_schema_uri: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None, staging_bucket: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._CustomTrainingJob

Class to launch a Custom Training Job in AI Platform using a Python Package.

Takes a training implementation as a python package and executes that package in Cloud AI Platform Training.

Constructs a Custom Training Job from a Python Package.

job = aiplatform.CustomPythonPackageTrainingJob(

display_name=’test-train’,
python_package_gcs_uri=’gs://my-bucket/my-python-package.tar.gz’,
python_module_name=’my-training-python-package.task’,
container_uri=’gcr.io/cloud-aiplatform/training/tf-cpu.2-2:latest’,
model_serving_container_image_uri=’gcr.io/my-trainer/serving:1’,
model_serving_container_predict_route=’predict’,
model_serving_container_health_route=’metadata

)

Usage with Dataset:

ds = aiplatform.TabularDataset(

‘projects/my-project/locations/us-central1/datasets/12345’

)

job.run(

ds,
replica_count=1,
model_display_name=’my-trained-model’

)

Usage without Dataset:

job.run(

replica_count=1,
model_display_name=’my-trained-model’

)

To ensure your model gets saved in AI Platform, write your saved model to os.environ[“AIP_MODEL_DIR”] in your provided training script.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • python_package_gcs_uri (str) – Required: GCS location of the training python package.

    • python_module_name (str) – Required: The module name of the training python package.

    • container_uri (str) – Required: Uri of the training container image in the GCR.

    • model_serving_container_image_uri (str) – If the training produces a managed AI Platform Model, the URI of the Model serving container suitable for serving the model produced by the training script.

    • model_serving_container_predict_route (str) – If the training produces a managed AI Platform Model, An HTTP path to send prediction requests to the container, and which must be supported by it. If not specified a default HTTP path will be used by AI Platform.

    • model_serving_container_health_route (str) – If the training produces a managed AI Platform Model, an HTTP path to send health check requests to the container, and which must be supported by it. If not specified a standard HTTP path will be used by AI Platform.

    • model_serving_container_command (Sequence[str]) – The command with which the container is run. Not executed within a shell. The Docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_args (Sequence[str]) – The arguments to the command. The Docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – The environment variables that are to be present in the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names.

    • model_serving_container_ports (Sequence[int]) – Declaration of ports that are exposed by the container. This field is primarily informational, it gives AI Platform information about the network connections the container uses. Listing or not a port here has no impact on whether the port is actually exposed, any port listening on the default “0.0.0.0” address inside a container will be accessible from the network.

    • model_description (str) – The description of the Model.

    • model_instance_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • model_parameters_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform, if no parameters are supported it 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.

    • model_prediction_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • project (str) – Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • staging_bucket (str) – Bucket used to stage source and training artifacts. Overrides staging_bucket set in aiplatform.init.

run(dataset: Optional[Union[google.cloud.aiplatform.datasets.image_dataset.ImageDataset, google.cloud.aiplatform.datasets.tabular_dataset.TabularDataset, google.cloud.aiplatform.datasets.text_dataset.TextDataset, google.cloud.aiplatform.datasets.video_dataset.VideoDataset]] = None, annotation_schema_uri: Optional[str] = None, model_display_name: Optional[str] = None, base_output_dir: Optional[str] = None, service_account: Optional[str] = None, network: Optional[str] = None, bigquery_destination: Optional[str] = None, args: Optional[List[Union[str, float, int]]] = None, environment_variables: Optional[Dict[str, str]] = None, replica_count: int = 0, machine_type: str = 'n1-standard-4', accelerator_type: str = 'ACCELERATOR_TYPE_UNSPECIFIED', accelerator_count: int = 0, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, predefined_split_column_name: Optional[str] = None, sync=True)

Runs the custom training job.

Distributed Training Support: If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool. ie: replica_count = 10 will result in 1 chief and 9 workers All replicas have same machine_type, accelerator_type, and accelerator_count

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform.If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • dataset (Union[datasets.ImageDataset,datasets.TabularDataset,datasets.TextDataset,datasets.VideoDataset,]) – AI Platform to fit this training against. Custom training script should retrieve datasets through passed in environment variables uris:

      os.environ[“AIP_TRAINING_DATA_URI”] os.environ[“AIP_VALIDATION_DATA_URI”] os.environ[“AIP_TEST_DATA_URI”]

      Additionally the dataset format is passed in as:

      os.environ[“AIP_DATA_FORMAT”]

    • annotation_schema_uri (str) – Google Cloud Storage URI points to a YAML file describing annotation schema. The schema is defined as an OpenAPI 3.0.2 Schema Object The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id.

      Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on.

      When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.

    • model_display_name (str) – If the script produces a managed AI Platform Model. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • base_output_dir (str) – GCS output directory of job. If not provided a timestamped directory in the staging directory will be used.

      AI Platform sets the following environment variables when it runs your training code:

      • AIP_MODEL_DIR: a Cloud Storage URI of a directory intended for saving model artifacts, i.e. <base_output_dir>/model/

      • AIP_CHECKPOINT_DIR: a Cloud Storage URI of a directory intended for saving checkpoints, i.e. <base_output_dir>/checkpoints/

      • AIP_TENSORBOARD_LOG_DIR: a Cloud Storage URI of a directory intended for saving TensorBoard logs, i.e. <base_output_dir>/logs/

    • service_account (str) – Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account.

    • network (str) – The full name of the Compute Engine network to which the job should be peered. For example, projects/12345/global/networks/myVPC. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.

    • bigquery_destination (str) – Provide this field if dataset is a BiqQuery dataset. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name dataset_<dataset-id>_<annotation-type>_<timestamp-of-training-call> where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data will be written into that dataset. In the dataset three tables will be created, training, validation and test.

      • AIP_DATA_FORMAT = “bigquery”.

      • AIP_TRAINING_DATA_URI =”bigquery_destination.dataset_*.training”

      • AIP_VALIDATION_DATA_URI = “bigquery_destination.dataset_*.validation”

      • AIP_TEST_DATA_URI = “bigquery_destination.dataset_*.test”

    • args (List[Unions[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int), [float](https://python.readthedocs.io/en/latest/library/functions.html#float)]*]) – Command line arguments to be passed to the Python script.

    • environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – Environment variables to be passed to the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names. At most 10 environment variables can be specified. The Name of the environment variable must be unique.

      environment_variables = {

      ‘MY_KEY’: ‘MY_VALUE’

      }

    • replica_count (int) – The number of worker replicas. If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool.

    • machine_type (str) – The type of machine to use for training.

    • accelerator_type (str) – Hardware accelerator type. One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4

    • accelerator_count (int) – The number of accelerators to attach to a worker replica.

    • training_fraction_split (float) – The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split (float) – The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split (float) – The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • predefined_split_column_name (str) – Optional. The key is a name of one of the Dataset’s data columns. The value of the key (either the label’s value or value in the column) must be one of {training, validation, test}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.

      Supported only for tabular and time series Datasets.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

class google.cloud.aiplatform.CustomTrainingJob(display_name: str, script_path: str, container_uri: str, requirements: Optional[Sequence[str]] = None, model_serving_container_image_uri: Optional[str] = None, model_serving_container_predict_route: Optional[str] = None, model_serving_container_health_route: Optional[str] = None, model_serving_container_command: Optional[Sequence[str]] = None, model_serving_container_args: Optional[Sequence[str]] = None, model_serving_container_environment_variables: Optional[Dict[str, str]] = None, model_serving_container_ports: Optional[Sequence[int]] = None, model_description: Optional[str] = None, model_instance_schema_uri: Optional[str] = None, model_parameters_schema_uri: Optional[str] = None, model_prediction_schema_uri: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, training_encryption_spec_key_name: Optional[str] = None, model_encryption_spec_key_name: Optional[str] = None, staging_bucket: Optional[str] = None)

Bases: google.cloud.aiplatform.training_jobs._CustomTrainingJob

Class to launch a Custom Training Job in AI Platform using a script.

Takes a training implementation as a python script and executes that script in Cloud AI Platform Training.

Constructs a Custom Training Job from a Python script.

job = aiplatform.CustomTrainingJob(

display_name=’test-train’,
script_path=’test_script.py’,
requirements=[‘pandas’, ‘numpy’],
container_uri=’gcr.io/cloud-aiplatform/training/tf-cpu.2-2:latest’,
model_serving_container_image_uri=’gcr.io/my-trainer/serving:1’,
model_serving_container_predict_route=’predict’,
model_serving_container_health_route=’metadata)

Usage with Dataset:

ds = aiplatform.TabularDataset(

‘projects/my-project/locations/us-central1/datasets/12345’)

job.run(ds, replica_count=1, model_display_name=’my-trained-model’)

Usage without Dataset:

job.run(replica_count=1, model_display_name=’my-trained-model)

TODO(b/169782082) add documentation about traning utilities To ensure your model gets saved in AI Platform, write your saved model to os.environ[“AIP_MODEL_DIR”] in your provided training script.

  • Parameters

    • display_name (str) – Required. The user-defined name of this TrainingPipeline.

    • script_path (str) – Required. Local path to training script.

    • container_uri (str) – Required: Uri of the training container image in the GCR.

    • requirements (Sequence[str]) – List of python packages dependencies of script.

    • model_serving_container_image_uri (str) – If the training produces a managed AI Platform Model, the URI of the Model serving container suitable for serving the model produced by the training script.

    • model_serving_container_predict_route (str) – If the training produces a managed AI Platform Model, An HTTP path to send prediction requests to the container, and which must be supported by it. If not specified a default HTTP path will be used by AI Platform.

    • model_serving_container_health_route (str) – If the training produces a managed AI Platform Model, an HTTP path to send health check requests to the container, and which must be supported by it. If not specified a standard HTTP path will be used by AI Platform.

    • model_serving_container_command (Sequence[str]) – The command with which the container is run. Not executed within a shell. The Docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_args (Sequence[str]) – The arguments to the command. The Docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • model_serving_container_environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – The environment variables that are to be present in the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names.

    • model_serving_container_ports (Sequence[int]) – Declaration of ports that are exposed by the container. This field is primarily informational, it gives AI Platform information about the network connections the container uses. Listing or not a port here has no impact on whether the port is actually exposed, any port listening on the default “0.0.0.0” address inside a container will be accessible from the network.

    • model_description (str) – The description of the Model.

    • model_instance_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • model_parameters_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform, if no parameters are supported it 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.

    • model_prediction_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • project (str) – Project to run training in. Overrides project set in aiplatform.init.

    • location (str) – Location to run training in. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to run call training service. Overrides credentials set in aiplatform.init.

    • training_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the training pipeline. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this TrainingPipeline will be secured by this key.

      Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • model_encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, the trained Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • staging_bucket (str) – Bucket used to stage source and training artifacts. Overrides staging_bucket set in aiplatform.init.

run(dataset: Optional[Union[google.cloud.aiplatform.datasets.image_dataset.ImageDataset, google.cloud.aiplatform.datasets.tabular_dataset.TabularDataset, google.cloud.aiplatform.datasets.text_dataset.TextDataset, google.cloud.aiplatform.datasets.video_dataset.VideoDataset]] = None, annotation_schema_uri: Optional[str] = None, model_display_name: Optional[str] = None, base_output_dir: Optional[str] = None, service_account: Optional[str] = None, network: Optional[str] = None, bigquery_destination: Optional[str] = None, args: Optional[List[Union[str, float, int]]] = None, environment_variables: Optional[Dict[str, str]] = None, replica_count: int = 0, machine_type: str = 'n1-standard-4', accelerator_type: str = 'ACCELERATOR_TYPE_UNSPECIFIED', accelerator_count: int = 0, training_fraction_split: float = 0.8, validation_fraction_split: float = 0.1, test_fraction_split: float = 0.1, predefined_split_column_name: Optional[str] = None, sync=True)

Runs the custom training job.

Distributed Training Support: If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool. ie: replica_count = 10 will result in 1 chief and 9 workers All replicas have same machine_type, accelerator_type, and accelerator_count

Data fraction splits: Any of training_fraction_split, validation_fraction_split and test_fraction_split may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by AI Platform.If none of the fractions are set, by default roughly 80% of data will be used for training, 10% for validation, and 10% for test.

  • Parameters

    • ( (dataset) – Union[

      datasets.ImageDataset, datasets.TabularDataset, datasets.TextDataset, datasets.VideoDataset,

      ]

    • ) – AI Platform to fit this training against. Custom training script should retrieve datasets through passed in environment variables uris:

      os.environ[“AIP_TRAINING_DATA_URI”] os.environ[“AIP_VALIDATION_DATA_URI”] os.environ[“AIP_TEST_DATA_URI”]

      Additionally the dataset format is passed in as:

      os.environ[“AIP_DATA_FORMAT”]

    • annotation_schema_uri (str) – Google Cloud Storage URI points to a YAML file describing annotation schema. The schema is defined as an OpenAPI 3.0.2 Schema Object The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id.

      Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on.

      When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.

    • model_display_name (str) – If the script produces a managed AI Platform Model. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

      If not provided upon creation, the job’s display_name is used.

    • base_output_dir (str) – GCS output directory of job. If not provided a timestamped directory in the staging directory will be used.

      AI Platform sets the following environment variables when it runs your training code:

      • AIP_MODEL_DIR: a Cloud Storage URI of a directory intended for saving model artifacts, i.e. <base_output_dir>/model/

      • AIP_CHECKPOINT_DIR: a Cloud Storage URI of a directory intended for saving checkpoints, i.e. <base_output_dir>/checkpoints/

      • AIP_TENSORBOARD_LOG_DIR: a Cloud Storage URI of a directory intended for saving TensorBoard logs, i.e. <base_output_dir>/logs/

    • service_account (str) – Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account.

    • network (str) – The full name of the Compute Engine network to which the job should be peered. For example, projects/12345/global/networks/myVPC. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.

    • bigquery_destination (str) – Provide this field if dataset is a BiqQuery dataset. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name dataset_<dataset-id>_<annotation-type>_<timestamp-of-training-call> where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data will be written into that dataset. In the dataset three tables will be created, training, validation and test.

      • AIP_DATA_FORMAT = “bigquery”.

      • AIP_TRAINING_DATA_URI =”bigquery_destination.dataset_*.training”

      • AIP_VALIDATION_DATA_URI = “bigquery_destination.dataset_*.validation”

      • AIP_TEST_DATA_URI = “bigquery_destination.dataset_*.test”

    • args (List[Unions[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int), [float](https://python.readthedocs.io/en/latest/library/functions.html#float)]*]) – Command line arguments to be passed to the Python script.

    • environment_variables (Dict[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*) – Environment variables to be passed to the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names. At most 10 environment variables can be specified. The Name of the environment variable must be unique.

      environment_variables = {

      ‘MY_KEY’: ‘MY_VALUE’

      }

    • replica_count (int) – The number of worker replicas. If replica count = 1 then one chief replica will be provisioned. If replica_count > 1 the remainder will be provisioned as a worker replica pool.

    • machine_type (str) – The type of machine to use for training.

    • accelerator_type (str) – Hardware accelerator type. One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4

    • accelerator_count (int) – The number of accelerators to attach to a worker replica.

    • training_fraction_split (float) – The fraction of the input data that is to be used to train the Model. This is ignored if Dataset is not provided.

    • validation_fraction_split (float) – The fraction of the input data that is to be used to validate the Model. This is ignored if Dataset is not provided.

    • test_fraction_split (float) – The fraction of the input data that is to be used to evaluate the Model. This is ignored if Dataset is not provided.

    • predefined_split_column_name (str) – Optional. The key is a name of one of the Dataset’s data columns. The value of the key (either the label’s value or value in the column) must be one of {training, validation, test}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.

      Supported only for tabular and time series Datasets.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    The trained AI Platform Model resource or None if training did not

      produce an AI Platform Model.
    
  • Return type

    model

class google.cloud.aiplatform.Endpoint(endpoint_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.base.AiPlatformResourceNounWithFutureManager

Retrieves an endpoint resource.

  • Parameters

    • endpoint_name (str) – Required. A fully-qualified endpoint resource name or endpoint ID. Example: “projects/123/locations/us-central1/endpoints/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional. Project to retrieve endpoint from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional. Location to retrieve endpoint from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

classmethod create(display_name: str, description: Optional[str] = None, labels: Optional[Dict] = None, metadata: Optional[Sequence[Tuple[str, str]]] = (), project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, encryption_spec_key_name: Optional[str] = None, sync=True)

Creates a new endpoint.

  • Parameters

    • display_name (str) – Required. The user-defined name of the Endpoint. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • project (str) – Required. Project to retrieve endpoint from. If not set, project set in aiplatform.init will be used.

    • location (str) – Required. Location to retrieve endpoint from. If not set, location set in aiplatform.init will be used.

    • description (str) – Optional. The description of the Endpoint.

    • labels (Dict) – Optional. The labels with user-defined metadata to organize your Endpoints. 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.

    • metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Optional. Strings which should be sent along with the request as metadata.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Created endpoint.

  • Return type

    endpoint (endpoint.Endpoint)

delete(force: bool = False, sync: bool = True)

Deletes this AI Platform Endpoint resource. If force is set to True, all models on this Endpoint will be undeployed prior to deletion.

  • Parameters

    • force (bool) – Required. If force is set to True, all deployed models on this Endpoint will be undeployed first. Default is False.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Raises

    FailedPrecondition – If models are deployed on this Endpoint and force = False.

deploy(model: google.cloud.aiplatform.models.Model, deployed_model_display_name: Optional[str] = None, traffic_percentage: int = 0, traffic_split: Optional[Dict[str, int]] = None, machine_type: Optional[str] = None, min_replica_count: int = 1, max_replica_count: int = 1, accelerator_type: Optional[str] = None, accelerator_count: Optional[int] = None, service_account: Optional[str] = None, explanation_metadata: Optional[google.cloud.aiplatform_v1beta1.types.explanation_metadata.ExplanationMetadata] = None, explanation_parameters: Optional[google.cloud.aiplatform_v1beta1.types.explanation.ExplanationParameters] = None, metadata: Optional[Sequence[Tuple[str, str]]] = (), sync=True)

Deploys a Model to the Endpoint.

  • Parameters

    • model (aiplatform.Model) – Required. Model to be deployed.

    • deployed_model_display_name (str) – Optional. The display name of the DeployedModel. If not provided upon creation, the Model’s display_name is used.

    • traffic_percentage (int) – Optional. Desired traffic to newly deployed model. Defaults to 0 if there are pre-existing deployed models. Defaults to 100 if there are no pre-existing deployed models. Negative values should not be provided. Traffic of previously deployed models at the endpoint will be scaled down to accommodate new deployed model’s traffic. Should not be provided if traffic_split is provided.

    • traffic_split (Dict[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int)]*) – Optional. A map from a DeployedModel’s ID to the percentage of this Endpoint’s traffic that should be forwarded to that DeployedModel. If a DeployedModel’s ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at the moment. Key for model being deployed is “0”. Should not be provided if traffic_percentage is provided.

    • machine_type (str) – Optional. The type of machine. Not specifying machine type will result in model to be deployed with automatic resources.

    • min_replica_count (int) – Optional. The minimum number of machine replicas this deployed model will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.

    • max_replica_count (int) – Optional. The maximum number of replicas this deployed model may be deployed on when the traffic against it increases. If requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the deployed model increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, the larger value of min_replica_count or 1 will be used. If value provided is smaller than min_replica_count, it will automatically be increased to be min_replica_count.

    • accelerator_type (str) – Optional. Hardware accelerator type. Must also set accelerator_count if used. One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4

    • accelerator_count (int) – Optional. The number of accelerators to attach to a worker replica.

    • service_account (str) – The service account that the DeployedModel’s container runs as. Specify the email address of the service account. If this service account is not specified, the container runs as a service account that doesn’t have access to the resource project. Users deploying the Model must have the iam.serviceAccounts.actAs permission on this service account.

    • explanation_metadata (explain.ExplanationMetadata) – Optional. Metadata describing the Model’s input and output for explanation. Both explanation_metadata and explanation_parameters must be passed together when used. For more details, see Ref docs http://tinyurl.com/1igh60kt

    • explanation_parameters (explain.ExplanationParameters) – Optional. Parameters to configure explaining for Model’s predictions. For more details, see Ref docs http://tinyurl.com/1an4zake

    • metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Optional. Strings which should be sent along with the request as metadata.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

explain(instances: List[Dict], parameters: Optional[Dict] = None, deployed_model_id: Optional[str] = None)

Make a prediction with explanations against this Endpoint.

Example usage:

response = my_endpoint.explain(instances=[…])
my_explanations = response.explanations
  • Parameters

    • instances (List) – Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint’s DeployedModels’ [Model’s][google.cloud.aiplatform.v1beta1.DeployedModel.model] [PredictSchemata’s][google.cloud.aiplatform.v1beta1.Model.predict_schemata] instance_schema_uri.

    • parameters (Dict) – The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint’s DeployedModels’ [Model’s ][google.cloud.aiplatform.v1beta1.DeployedModel.model] [PredictSchemata’s][google.cloud.aiplatform.v1beta1.Model.predict_schemata] parameters_schema_uri.

    • deployed_model_id (str) – Optional. If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding this Endpoint’s traffic split.

  • Returns

    Prediction with returned predictions, explanations and Model Id.

  • Return type

    prediction

classmethod list(filter: Optional[str] = None, order_by: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

List all Endpoint resource instances.

Example Usage:

aiplatform.Endpoint.list(

filter=’labels.my_label=”my_label_value” OR display_name=!”old_endpoint”’,

)

  • Parameters

    • filter (str) – Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported.

    • order_by (str) – Optional. A comma-separated list of fields to order by, sorted in ascending order. Use “desc” after a field name for descending. Supported fields: display_name, create_time, update_time

    • project (str) – Optional. Project to retrieve list from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional. Location to retrieve list from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to retrieve list. Overrides credentials set in aiplatform.init.

  • Returns

    List[models.Endpoint] - A list of Endpoint resource objects

list_models()

Returns a list of the models deployed to this Endpoint.

  • Returns

    A list of the models deployed in this Endpoint.

  • Return type

    deployed_models (Sequence[aiplatform.gapic.DeployedModel])

predict(instances: List, parameters: Optional[Dict] = None)

Make a prediction against this Endpoint.

  • Parameters

    • instances (List) – Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint’s DeployedModels’ [Model’s][google.cloud.aiplatform.v1beta1.DeployedModel.model] [PredictSchemata’s][google.cloud.aiplatform.v1beta1.Model.predict_schemata] instance_schema_uri.

    • parameters (Dict) – The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint’s DeployedModels’ [Model’s ][google.cloud.aiplatform.v1beta1.DeployedModel.model] [PredictSchemata’s][google.cloud.aiplatform.v1beta1.Model.predict_schemata] parameters_schema_uri.

  • Returns

    Prediction with returned predictions and Model Id.

  • Return type

    prediction

undeploy(deployed_model_id: str, traffic_split: Optional[Dict[str, int]] = None, metadata: Optional[Sequence[Tuple[str, str]]] = (), sync=True)

Undeploys a deployed model.

Proportionally adjusts the traffic_split among the remaining deployed models of the endpoint.

  • Parameters

    • deployed_model_id (str) – Required. The ID of the DeployedModel to be undeployed from the Endpoint.

    • traffic_split (Dict[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int)]*) – Optional. A map from a DeployedModel’s ID to the percentage of this Endpoint’s traffic that should be forwarded to that DeployedModel. If a DeployedModel’s ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at the moment. Key for model being deployed is “0”. Should not be provided if traffic_percentage is provided.

    • metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Optional. Strings which should be sent along with the request as metadata.

undeploy_all(sync: bool = True)

Undeploys every model deployed to this Endpoint.

  • Parameters

    sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

class google.cloud.aiplatform.ImageDataset(dataset_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.datasets.dataset._Dataset

Managed image dataset resource for AI Platform.

Retrieves an existing managed dataset given a dataset name or ID.

  • Parameters

    • dataset_name (str) – Required. A fully-qualified dataset resource name or dataset ID. Example: “projects/123/locations/us-central1/datasets/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve dataset from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve dataset from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

classmethod create(display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, import_schema_uri: Optional[str] = None, data_item_labels: Optional[Dict] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, request_metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a new image dataset and optionally imports data into dataset when source and import_schema_uri are passed.

  • Parameters

    • display_name (str) – Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source (Union[str, **Sequence[str]]) – Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • import_schema_uri (str) – Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an OpenAPI 3.0.2 Schema Object.

    • data_item_labels (Dict) – Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file refenced by import_schema_uri, e.g. jsonl file.

    • project (str) – Project to upload this model to. Overrides project set in aiplatform.init.

    • location (str) – Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • request_metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the dataset. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Dataset and all sub-resources of this Dataset will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed image dataset resource.

  • Return type

    image_dataset (ImageDataset)

class google.cloud.aiplatform.Model(model_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.base.AiPlatformResourceNounWithFutureManager

Retrieves the model resource and instantiates its representation.

  • Parameters

    • model_name (str) – Required. A fully-qualified model resource name or model ID. Example: “projects/123/locations/us-central1/models/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve model from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve model from. If not set, location set in aiplatform.init will be used.

    • credentials – Optional[auth_credentials.Credentials]=None, Custom credentials to use to upload this model. If not set, credentials set in aiplatform.init will be used.

batch_predict(job_display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, bigquery_source: Optional[str] = None, instances_format: str = 'jsonl', gcs_destination_prefix: Optional[str] = None, bigquery_destination_prefix: Optional[str] = None, predictions_format: str = 'jsonl', model_parameters: Optional[Dict] = None, machine_type: Optional[str] = None, accelerator_type: Optional[str] = None, accelerator_count: Optional[int] = None, starting_replica_count: Optional[int] = None, max_replica_count: Optional[int] = None, generate_explanation: Optional[bool] = False, explanation_metadata: Optional[google.cloud.aiplatform_v1beta1.types.explanation_metadata.ExplanationMetadata] = None, explanation_parameters: Optional[google.cloud.aiplatform_v1beta1.types.explanation.ExplanationParameters] = None, labels: Optional[dict] = None, credentials: Optional[google.auth.credentials.Credentials] = None, encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a batch prediction job using this Model and outputs prediction results to the provided destination prefix in the specified predictions_format. One source and one destination prefix are required.

Example usage:

my_model.batch_predict(

job_display_name=”prediction-123”,
gcs_source=”gs://example-bucket/instances.csv”,
instances_format=”csv”,
bigquery_destination_prefix=”projectId.bqDatasetId.bqTableId”

)

  • Parameters

    • job_display_name (str) – Required. The user-defined name of the BatchPredictionJob. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source – Optional[Sequence[str]] = None Google Cloud Storage URI(-s) to your instances to run batch prediction on. They must match instances_format. May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.

    • bigquery_source – Optional[str] = None BigQuery URI to a table, up to 2000 characters long. For example: projectId.bqDatasetId.bqTableId

    • instances_format – str = “jsonl” Required. The format in which instances are given, must be one of “jsonl”, “csv”, “bigquery”, “tf-record”, “tf-record-gzip”, or “file-list”. Default is “jsonl” when using gcs_source. If a bigquery_source is provided, this is overriden to “bigquery”.

    • gcs_destination_prefix – Optional[str] = None The Google Cloud Storage location of the directory where the output is to be written to. In the given directory a new directory is created. Its name is prediction-<model-display-name>-<job-create-time>, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files predictions_0001.<extension>, predictions_0002.<extension>, …, predictions_N.<extension> are created where <extension> depends on chosen predictions_format, and N may equal 0001 and depends on the total number of successfully predicted instances. If the Model has both instance and prediction schemata defined then each such file contains predictions as per the predictions_format. If prediction for any instance failed (partially or completely), then an additional errors_0001.<extension>, errors_0002.<extension>,…, errors_N.<extension> files are created (N depends on total number of failed predictions). These files contain the failed instances, as per their schema, followed by an additional error field which as value has \google.rpc.Status<Status>\__ containing only code and message fields.

    • bigquery_destination_prefix – Optional[str] = None The BigQuery project location where the output is to be written to. In the given project a new dataset is created with name prediction_<model-display-name>_<job-create-time> where is made BigQuery-dataset-name compatible (for example, most special characters become underscores), and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ “based on ISO-8601” format. In the dataset two tables will be created, predictions, and errors. If the Model has both instance and prediction schemata defined then the tables have columns as follows: The predictions table contains instances for which the prediction succeeded, it has columns as per a concatenation of the Model’s instance and prediction schemata. The errors table contains rows for which the prediction has failed, it has instance columns, as per the instance schema, followed by a single “errors” column, which as values has \google.rpc.Status<Status>\__ represented as a STRUCT, and containing only code and message.

    • predictions_format – str = “jsonl” Required. The format in which AI Platform gives the predictions, must be one of “jsonl”, “csv”, or “bigquery”. Default is “jsonl” when using gcs_destination_prefix. If a bigquery_destination_prefix is provided, this is overriden to “bigquery”.

    • model_parameters – Optional[Dict] = None Optional. The parameters that govern the predictions. The schema of the parameters may be specified via the Model’s parameters_schema_uri.

    • machine_type – Optional[str] = None Optional. The type of machine for running batch prediction on dedicated resources. Not specifying machine type will result in batch prediction job being run with automatic resources.

    • accelerator_type – Optional[str] = None Optional. The type of accelerator(s) that may be attached to the machine as per accelerator_count. Only used if machine_type is set.

    • accelerator_count – Optional[int] = None Optional. The number of accelerators to attach to the machine_type. Only used if machine_type is set.

    • starting_replica_count – Optional[int] = None The number of machine replicas used at the start of the batch operation. If not set, AI Platform decides starting number, not greater than max_replica_count. Only used if machine_type is set.

    • max_replica_count – Optional[int] = None The maximum number of machine replicas the batch operation may be scaled to. Only used if machine_type is set. Default is 10.

    • generate_explanation (bool) – Optional. Generate explanation along with the batch prediction results. This will cause the batch prediction output to include explanations based on the prediction_format:

      * bigquery: output includes a column named explanation. The value
      
      is a struct that conforms to the [aiplatform.gapic.Explanation] object.
      
>     * jsonl: The JSON objects on each line include an additional entry

>     keyed explanation. The value of the entry is a JSON object that
>     conforms to the [aiplatform.gapic.Explanation] object.


>     * csv: Generating explanations for CSV format is not supported.



* **explanation_metadata** (*explain.ExplanationMetadata*) – Optional. Explanation metadata configuration for this BatchPredictionJob.
Can be specified only if generate_explanation is set to True.

This value overrides the value of Model.explanation_metadata.
All fields of explanation_metadata are optional in the request. If
a field of the explanation_metadata object is not populated, the
corresponding field of the Model.explanation_metadata object is inherited.
For more details, see Ref docs <http://tinyurl.com/1igh60kt>



* **explanation_parameters** (*explain.ExplanationParameters*) – Optional. Parameters to configure explaining for Model’s predictions.
Can be specified only if generate_explanation is set to True.

This value overrides the value of Model.explanation_parameters.
All fields of explanation_parameters are optional in the request. If
a field of the explanation_parameters object is not populated, the
corresponding field of the Model.explanation_parameters object is inherited.
For more details, see Ref docs <http://tinyurl.com/1an4zake>



* **labels** – Optional[dict] = None
Optional. The labels with user-defined metadata to organize your
BatchPredictionJobs. 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](https://goo.gl/xmQnxf)
for more information and examples of labels.


* **credentials** – Optional[auth_credentials.Credentials] = None
Optional. Custom credentials to use to create this batch prediction
job. Overrides credentials set in aiplatform.init.


* **encryption_spec_key_name** (*Optional**[*[*str*](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)*]*) – Optional. The Cloud KMS resource identifier of the customer
managed encryption key used to protect the model. Has the
form:
`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
The key needs to be in the same region as where the compute
resource is created.

If set, this Model and all sub-resources of this Model will be secured by this key.

Overrides encryption_spec_key_name set in aiplatform.init.
  • Returns

    Instantiated representation of the created batch prediction job.

  • Return type

    (jobs.BatchPredictionJob)

deploy(endpoint: Optional[google.cloud.aiplatform.models.Endpoint] = None, deployed_model_display_name: Optional[str] = None, traffic_percentage: Optional[int] = 0, traffic_split: Optional[Dict[str, int]] = None, machine_type: Optional[str] = None, min_replica_count: int = 1, max_replica_count: int = 1, accelerator_type: Optional[str] = None, accelerator_count: Optional[int] = None, service_account: Optional[str] = None, explanation_metadata: Optional[google.cloud.aiplatform_v1beta1.types.explanation_metadata.ExplanationMetadata] = None, explanation_parameters: Optional[google.cloud.aiplatform_v1beta1.types.explanation.ExplanationParameters] = None, metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync=True)

Deploys model to endpoint. Endpoint will be created if unspecified.

  • Parameters

    • endpoint ("Endpoint") – Optional. Endpoint to deploy model to. If not specified, endpoint display name will be model display name+’_endpoint’.

    • deployed_model_display_name (str) – Optional. The display name of the DeployedModel. If not provided upon creation, the Model’s display_name is used.

    • traffic_percentage (int) – Optional. Desired traffic to newly deployed model. Defaults to 0 if there are pre-existing deployed models. Defaults to 100 if there are no pre-existing deployed models. Negative values should not be provided. Traffic of previously deployed models at the endpoint will be scaled down to accommodate new deployed model’s traffic. Should not be provided if traffic_split is provided.

    • traffic_split (Dict[str, *[int](https://python.readthedocs.io/en/latest/library/functions.html#int)]*) – Optional. A map from a DeployedModel’s ID to the percentage of this Endpoint’s traffic that should be forwarded to that DeployedModel. If a DeployedModel’s ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at the moment. Key for model being deployed is “0”. Should not be provided if traffic_percentage is provided.

    • machine_type (str) – Optional. The type of machine. Not specifying machine type will result in model to be deployed with automatic resources.

    • min_replica_count (int) – Optional. The minimum number of machine replicas this deployed model will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.

    • max_replica_count (int) – Optional. The maximum number of replicas this deployed model may be deployed on when the traffic against it increases. If requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the deployed model increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, the smaller value of min_replica_count or 1 will be used.

    • accelerator_type (str) – Optional. Hardware accelerator type. Must also set accelerator_count if used. One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4

    • accelerator_count (int) – Optional. The number of accelerators to attach to a worker replica.

    • service_account (str) – The service account that the DeployedModel’s container runs as. Specify the email address of the service account. If this service account is not specified, the container runs as a service account that doesn’t have access to the resource project. Users deploying the Model must have the iam.serviceAccounts.actAs permission on this service account.

    • explanation_metadata (explain.ExplanationMetadata) – Optional. Metadata describing the Model’s input and output for explanation. Both explanation_metadata and explanation_parameters must be passed together when used. For more details, see Ref docs http://tinyurl.com/1igh60kt

    • explanation_parameters (explain.ExplanationParameters) – Optional. Parameters to configure explaining for Model’s predictions. For more details, see Ref docs http://tinyurl.com/1an4zake

    • metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Optional. Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Model and all sub-resources of this Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Endpoint with the deployed model.

  • Return type

    endpoint (“Endpoint”)

property description()

Description of the model.

export_model(export_format_id: str, artifact_destination: Optional[str] = None, image_destination: Optional[str] = None, sync: bool = True)

Exports a trained, exportable Model to a location specified by the user. A Model is considered to be exportable if it has at least one supported_export_formats. Either artifact_destination or image_destination must be provided.

Usage:

my_model.export(

    export_format_id=’tf-saved-model’
    artifact_destination=’gs://my-bucket/models/’

)

or

my_model.export(

    export_format_id=’custom-model’
    image_destination=’us-central1-docker.pkg.dev/projectId/repo/image’

)
  • Parameters

    • export_format_id (str) – Required. The ID of the format in which the Model must be exported. The list of export formats that this Model supports can be found by calling Model.supported_export_formats.

    • artifact_destination (str) – The Cloud Storage location where the Model artifact is to be written to. Under the directory given as the destination a new one with name “model-export-<model-display-name>-<timestamp-of-export-call>”, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside, the Model and any of its supporting files will be written.

      This field should only be set when, in [Model.supported_export_formats], the value for the key given in export_format_id contains ARTIFACT.

    • image_destination (str) – The Google Container Registry or Artifact Registry URI where the Model container image will be copied to. Accepted forms:

      • Google Container Registry path. For example:

      gcr.io/projectId/imageName:tag.

      • Artifact Registry path. For example:

      us-central1-docker.pkg.dev/projectId/repoName/imageName:tag.

      This field should only be set when, in [Model.supported_export_formats], the value for the key given in export_format_id contains IMAGE.

    • sync (bool) – Whether to execute this export synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Details of the completed export with output destination paths to the artifacts or container image.

  • Return type

    output_info (Dict[str, str])

  • Raises

    • ValueError if model does not support exporting.

    • ValueError if invalid arguments** or ***export formats are provided.* –

classmethod list(filter: Optional[str] = None, order_by: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

List all Model resource instances.

Example Usage:

aiplatform.Model.list(

filter=’labels.my_label=”my_label_value” AND display_name=”my_model”’,

)

  • Parameters

    • filter (str) – Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported.

    • order_by (str) – Optional. A comma-separated list of fields to order by, sorted in ascending order. Use “desc” after a field name for descending. Supported fields: display_name, create_time, update_time

    • project (str) – Optional. Project to retrieve list from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional. Location to retrieve list from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Optional. Custom credentials to use to retrieve list. Overrides credentials set in aiplatform.init.

  • Returns

    List[models.Model] - A list of Model resource objects

property supported_export_formats(: Dict[str, List[google.cloud.aiplatform_v1.types.model.Model.ExportFormat.ExportableContent] )

The formats and content types in which this Model may be exported. If empty, this Model is not available for export.

For example, if this model can be exported as a Tensorflow SavedModel and have the artifacts written to Cloud Storage, the expected value would be:

{‘tf-saved-model’: [<ExportableContent.ARTIFACT: 1>]}

classmethod upload(display_name: str, serving_container_image_uri: str, *, artifact_uri: Optional[str] = None, serving_container_predict_route: Optional[str] = None, serving_container_health_route: Optional[str] = None, description: Optional[str] = None, serving_container_command: Optional[Sequence[str]] = None, serving_container_args: Optional[Sequence[str]] = None, serving_container_environment_variables: Optional[Dict[str, str]] = None, serving_container_ports: Optional[Sequence[int]] = None, instance_schema_uri: Optional[str] = None, parameters_schema_uri: Optional[str] = None, prediction_schema_uri: Optional[str] = None, explanation_metadata: Optional[google.cloud.aiplatform_v1beta1.types.explanation_metadata.ExplanationMetadata] = None, explanation_parameters: Optional[google.cloud.aiplatform_v1beta1.types.explanation.ExplanationParameters] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, encryption_spec_key_name: Optional[str] = None, sync=True)

Uploads a model and returns a Model representing the uploaded Model resource.

Example usage:

my_model = Model.upload(

display_name=’my-model’,
artifact_uri=’gs://my-model/saved-model’
serving_container_image_uri=’tensorflow/serving’

)

  • Parameters

    • display_name (str) – Required. The display name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • serving_container_image_uri (str) – Required. The URI of the Model serving container.

    • artifact_uri (str) – Optional. The path to the directory containing the Model artifact and any of its supporting files. Leave blank for custom container prediction. Not present for AutoML Models.

    • serving_container_predict_route (str) – Optional. An HTTP path to send prediction requests to the container, and which must be supported by it. If not specified a default HTTP path will be used by AI Platform.

    • serving_container_health_route (str) – Optional. An HTTP path to send health check requests to the container, and which must be supported by it. If not specified a standard HTTP path will be used by AI Platform.

    • description (str) – The description of the model.

    • serving_container_command – Optional[Sequence[str]]=None, The command with which the container is run. Not executed within a shell. The Docker image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • serving_container_args – Optional[Sequence[str]]=None, The arguments to the command. The Docker image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    • serving_container_environment_variables – Optional[Dict[str, str]]=None, The environment variables that are to be present in the container. Should be a dictionary where keys are environment variable names and values are environment variable values for those names.

    • serving_container_ports – Optional[Sequence[int]]=None, Declaration of ports that are exposed by the container. This field is primarily informational, it gives AI Platform information about the network connections the container uses. Listing or not a port here has no impact on whether the port is actually exposed, any port listening on the default “0.0.0.0” address inside a container will be accessible from the network.

    • instance_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • parameters_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform, if no parameters are supported it 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.

    • prediction_schema_uri (str) – Optional. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 Schema Object. AutoML Models always have this field populated by AI Platform. 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.

    • explanation_metadata (explain.ExplanationMetadata) – Optional. Metadata describing the Model’s input and output for explanation. Both explanation_metadata and explanation_parameters must be passed together when used. For more details, see Ref docs http://tinyurl.com/1igh60kt

    • explanation_parameters (explain.ExplanationParameters) – Optional. Parameters to configure explaining for Model’s predictions. For more details, see Ref docs http://tinyurl.com/1an4zake

    • project – Optional[str]=None, Project to upload this model to. Overrides project set in aiplatform.init.

    • location – Optional[str]=None, Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials – Optional[auth_credentials.Credentials]=None, Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the model. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Model and all sub-resources of this Model will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

  • Returns

    Instantiated representation of the uploaded model resource.

  • Return type

    model

  • Raises

    ValueError – If only explanation_metadata or explanation_parameters is specified.

property uri()

Uri of the model.

class google.cloud.aiplatform.TabularDataset(dataset_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.datasets.dataset._Dataset

Managed tabular dataset resource for AI Platform.

Retrieves an existing managed dataset given a dataset name or ID.

  • Parameters

    • dataset_name (str) – Required. A fully-qualified dataset resource name or dataset ID. Example: “projects/123/locations/us-central1/datasets/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve dataset from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve dataset from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

property column_names(: List[str )

Retrieve the columns for the dataset by extracting it from the Google Cloud Storage or Google BigQuery source.

  • Returns

    List[str]

      A list of columns names
    
  • Raises

    RuntimeError – When no valid source is found.

classmethod create(display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, bq_source: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, request_metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a new tabular dataset.

  • Parameters

    • display_name (str) – Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source (Union[str, **Sequence[str]]) – Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • bq_source (str) – BigQuery URI to the input table. .. rubric:: Example

      ”bq://project.dataset.table_name”

    • project (str) – Project to upload this model to. Overrides project set in aiplatform.init.

    • location (str) – Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • request_metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the dataset. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Dataset and all sub-resources of this Dataset will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed tabular dataset resource.

  • Return type

    tabular_dataset (TabularDataset)

import_data()

Upload data to existing managed dataset.

  • Parameters

    • gcs_source (Union[str, **Sequence[str]]) – Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • import_schema_uri (str) – Required. Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an OpenAPI 3.0.2 Schema Object.

    • data_item_labels (Dict) – Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file refenced by import_schema_uri, e.g. jsonl file.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed dataset resource.

  • Return type

    dataset (Dataset)

class google.cloud.aiplatform.TextDataset(dataset_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.datasets.dataset._Dataset

Managed text dataset resource for AI Platform.

Retrieves an existing managed dataset given a dataset name or ID.

  • Parameters

    • dataset_name (str) – Required. A fully-qualified dataset resource name or dataset ID. Example: “projects/123/locations/us-central1/datasets/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve dataset from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve dataset from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

classmethod create(display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, import_schema_uri: Optional[str] = None, data_item_labels: Optional[Dict] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, request_metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a new text dataset and optionally imports data into dataset when source and import_schema_uri are passed.

Example Usage:

ds = aiplatform.TextDataset.create(

    > display_name=’my-dataset’,
    > gcs_source=’gs://my-bucket/dataset.csv’,
    > import_schema_uri=aiplatform.schema.dataset.ioformat.text.multi_label_classification

    )
  • Parameters

    • display_name (str) – Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source (Union[str, **Sequence[str]]) – Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • import_schema_uri (str) – Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an OpenAPI 3.0.2 Schema Object.

    • data_item_labels (Dict) – Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file refenced by import_schema_uri, e.g. jsonl file.

    • project (str) – Project to upload this model to. Overrides project set in aiplatform.init.

    • location (str) – Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • request_metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the dataset. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Dataset and all sub-resources of this Dataset will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed text dataset resource.

  • Return type

    text_dataset (TextDataset)

class google.cloud.aiplatform.TimeSeriesDataset(dataset_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.datasets.dataset._Dataset

Managed time series dataset resource for AI Platform

Retrieves an existing managed dataset given a dataset name or ID.

  • Parameters

    • dataset_name (str) – Required. A fully-qualified dataset resource name or dataset ID. Example: “projects/123/locations/us-central1/datasets/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve dataset from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve dataset from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

classmethod create(display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, bq_source: Optional[str] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, request_metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a new tabular dataset.

  • Parameters

    • display_name (str) – Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source (Union[str, **Sequence[str]]) – Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • bq_source (str) – BigQuery URI to the input table. .. rubric:: Example

      ”bq://project.dataset.table_name”

    • project (str) – Project to upload this model to. Overrides project set in aiplatform.init.

    • location (str) – Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • request_metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the dataset. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Dataset and all sub-resources of this Dataset will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed time series dataset resource.

  • Return type

    time_series_dataset (TimeSeriesDataset)

import_data()

Upload data to existing managed dataset.

  • Parameters

    • gcs_source (Union[str, **Sequence[str]]) – Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • import_schema_uri (str) – Required. Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an OpenAPI 3.0.2 Schema Object.

    • data_item_labels (Dict) – Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file refenced by import_schema_uri, e.g. jsonl file.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed dataset resource.

  • Return type

    dataset (Dataset)

class google.cloud.aiplatform.VideoDataset(dataset_name: str, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None)

Bases: google.cloud.aiplatform.datasets.dataset._Dataset

Managed video dataset resource for AI Platform.

Retrieves an existing managed dataset given a dataset name or ID.

  • Parameters

    • dataset_name (str) – Required. A fully-qualified dataset resource name or dataset ID. Example: “projects/123/locations/us-central1/datasets/456” or “456” when project and location are initialized or passed.

    • project (str) – Optional project to retrieve dataset from. If not set, project set in aiplatform.init will be used.

    • location (str) – Optional location to retrieve dataset from. If not set, location set in aiplatform.init will be used.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

classmethod create(display_name: str, gcs_source: Optional[Union[str, Sequence[str]]] = None, import_schema_uri: Optional[str] = None, data_item_labels: Optional[Dict] = None, project: Optional[str] = None, location: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, request_metadata: Optional[Sequence[Tuple[str, str]]] = (), encryption_spec_key_name: Optional[str] = None, sync: bool = True)

Creates a new video dataset and optionally imports data into dataset when source and import_schema_uri are passed.

  • Parameters

    • display_name (str) – Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.

    • gcs_source (Union[str, **Sequence[str]]) – Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. .. rubric:: Examples

      str: “gs://bucket/file.csv” Sequence[str]: [“gs://bucket/file1.csv”, “gs://bucket/file2.csv”]

    • import_schema_uri (str) – Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an OpenAPI 3.0.2 Schema Object.

    • data_item_labels (Dict) – Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file refenced by import_schema_uri, e.g. jsonl file.

    • project (str) – Project to upload this model to. Overrides project set in aiplatform.init.

    • location (str) – Location to upload this model to. Overrides location set in aiplatform.init.

    • credentials (auth_credentials.Credentials) – Custom credentials to use to upload this model. Overrides credentials set in aiplatform.init.

    • request_metadata (Sequence[Tuple[str, *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str)]*]) – Strings which should be sent along with the request as metadata.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect the dataset. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this Dataset and all sub-resources of this Dataset will be secured by this key.

      Overrides encryption_spec_key_name set in aiplatform.init.

    • sync (bool) – Whether to execute this method synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

  • Returns

    Instantiated representation of the managed video dataset resource.

  • Return type

    video_dataset (VideoDataset)

google.cloud.aiplatform.get_experiment_df(experiment: Optional[str] = None)

Returns a Pandas DataFrame of the parameters and metrics associated with one experiment.

Example:

aiplatform.init(experiment=’exp-1’) aiplatform.start_run(run=’run-1’) aiplatform.log_params({‘learning_rate’: 0.1}) aiplatform.log_metrics({‘accuracy’: 0.9})

aiplatform.start_run(run=’run-2’) aiplatform.log_params({‘learning_rate’: 0.2}) aiplatform.log_metrics({‘accuracy’: 0.95})

experiment_name | run_name | param.learning_rate | metric.accuracy |exp-1 | run-1 | 0.1 | 0.9 |exp-1 | run-2 | 0.2 | 0.95 |

  • Parameters

    • experiment (str) –

    • of the Experiment to filter results. If not set (Name) –

    • results of current active experiment. (return) –

  • Returns

    Pandas Dataframe of Experiment with metrics and parameters.

  • Raises

    • NotFound exception if experiment does not exist.

    • ValueError if given experiment is not associated with a wrong schema.

google.cloud.aiplatform.get_pipeline_df(pipeline: str)

Returns a Pandas DataFrame of the parameters and metrics associated with one pipeline.

  • Parameters

    pipeline – Name of the Pipeline to filter results.

  • Returns

    Pandas Dataframe of Pipeline with metrics and parameters.

  • Raises

    • NotFound exception if experiment does not exist.

    • ValueError if given experiment is not associated with a wrong schema.

google.cloud.aiplatform.init(*, project: Optional[str] = None, location: Optional[str] = None, experiment: Optional[str] = None, experiment_description: Optional[str] = None, staging_bucket: Optional[str] = None, credentials: Optional[google.auth.credentials.Credentials] = None, encryption_spec_key_name: Optional[str] = None)

Updates common initialization parameters with provided options.

  • Parameters

    • project (str) – The default project to use when making API calls.

    • location (str) – The default location to use when making API calls. If not set defaults to us-central-1.

    • experiment (str) – The experiment name.

    • experiment_description (str) – The description of the experiment.

    • staging_bucket (str) – The default staging bucket to use to stage artifacts when making API calls. In the form gs://…

    • credentials (google.auth.credentials.Credentials) – The default custom credentials to use when making API calls. If not provided credentials will be ascertained from the environment.

    • encryption_spec_key_name (Optional[str]) – Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

      If set, this resource and all sub-resources will be secured by this key.

google.cloud.aiplatform.log_metrics(metrics: Dict[str, Union[float, int]])

Log single or multiple Metrics with specified key and value pairs.

  • Parameters

    metrics (Dict) – Required. Metrics key/value pairs. Only flot and int are supported format for value.

  • Raises

    • TypeError if value contains unsupported types.

    • ValueError if Experiment** or ***Run is not set.* –

google.cloud.aiplatform.log_params(params: Dict[str, Union[float, int, str]])

Log single or multiple parameters with specified key and value pairs.

  • Parameters

    params (Dict) – Required. Parameter key/value pairs.

google.cloud.aiplatform.start_run(run: str)

Setup a run to current session.

  • Parameters

    run (str) – Required. Name of the run to assign current session with.

  • Raises

    • ValueError if experiment is not set. Or if run execution** or ***metrics artifact* –

    • is already created but with a different schema.