En esta página, se muestra cómo entrenar un modelo de clasificación o regresión a partir de un conjunto de datos tabular con el flujo de trabajo tabular para TabNet.
Hay dos versiones disponibles del flujo de trabajo tabular para TabNet:
- HyperparameterTuningJob busca el mejor conjunto de valores de hiperparámetros para usar en el entrenamiento de modelos.
- CustomJob te permite especificar los valores de hiperparámetros para usar en el entrenamiento de modelos. Si sabes con exactitud qué valores de hiperparámetros necesitas, puedes especificarlos en lugar de buscarlos y ahorrar en recursos de entrenamiento.
Para obtener información sobre las cuentas de servicio que usa este flujo de trabajo, consulta Cuentas de servicio para flujos de trabajo tabulares.
APIs de flujo de trabajo
En este flujo de trabajo, se usan las siguientes APIs:
- Vertex AI
- Dataflow
- Compute Engine
- Cloud Storage
Entrena un modelo con HyperparameterTuningJob
En el siguiente código de muestra, se ilustra cómo puedes ejecutar una canalización HyperparameterTuningJob:
pipeline_job = aiplatform.PipelineJob(
...
template_path=template_path,
parameter_values=parameter_values,
...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)
El parámetro service_account
opcional en pipeline_job.run()
te permite configurar la cuenta de servicio de Vertex AI Pipelines en una cuenta que elijas.
La canalización y los valores de los parámetros se definen mediante la siguiente función. Los datos de entrenamiento pueden ser un archivo CSV en Cloud Storage o una tabla en BigQuery.
template_path, parameter_values = automl_tabular_utils.get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters(...)
El siguiente es un subconjunto de parámetros get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters
:
Nombre del parámetro | Tipo | Definición |
---|---|---|
data_source_csv_filenames |
String | Un URI para un archivo CSV almacenado en Cloud Storage. |
data_source_bigquery_table_path |
String | Un URI para una tabla de BigQuery. |
dataflow_service_account |
String | Cuenta de servicio personalizada para ejecutar trabajos de Dataflow (opcional). El trabajo de Dataflow se puede configurar para usar IP privadas y una subred de VPC específica. Este parámetro actúa como una anulación para la cuenta de servicio predeterminada del trabajador de Dataflow. |
study_spec_parameters_override |
List[Dict[String, Any]] | Una anulación para ajustar hiperparámetros (opcional) Este parámetro puede estar vacío o contener uno o más de los hiperparámetros posibles. Si no se configura un valor de hiperparámetro, Vertex AI usa el rango de ajuste predeterminado para el hiperparámetro. |
Si deseas configurar los hiperparámetros mediante el parámetro study_spec_parameters_override
, puedes usar la función auxiliar de Vertex AI get_tabnet_study_spec_parameters_override
.
La función tiene las siguientes entradas:
dataset_size_bucket
: Un bucket para el tamaño del conjunto de datos- “small”: < 1 millón de filas
- “medium”: de 1 millón a 100 millones de filas
- “large”: > 100 millones de filas
training_budget_bucket
: Un bucket para el presupuesto de entrenamiento- “small”: < $600
- “medium”: de $600 a $2400
- “large”: > $2400
prediction_type
: El tipo de predicción deseado
La función get_tabnet_study_spec_parameters_override
muestra una lista de hiperparámetros y rangos.
El siguiente es un ejemplo de cómo se puede usar la función get_tabnet_study_spec_parameters_override
:
study_spec_parameters_override = automl_tabular_utils.get_tabnet_study_spec_parameters_override(
dataset_size_bucket="small",
prediction_type="classification",
training_budget_bucket="small",
)
Entrena un modelo con CustomJob
En el siguiente código de muestra, se ilustra cómo puedes ejecutar una canalización CustomJob:
pipeline_job = aiplatform.PipelineJob(
...
template_path=template_path,
parameter_values=parameter_values,
...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)
El parámetro service_account
opcional en pipeline_job.run()
te permite configurar la cuenta de servicio de Vertex AI Pipelines en una cuenta que elijas.
La canalización y los valores de los parámetros se definen mediante la siguiente función. Los datos de entrenamiento pueden ser un archivo CSV en Cloud Storage o una tabla en BigQuery.
template_path, parameter_values = automl_tabular_utils.get_tabnet_trainer_pipeline_and_parameters(...)
El siguiente es un subconjunto de parámetros get_tabnet_trainer_pipeline_and_parameters
:
Nombre del parámetro | Tipo | Definición |
---|---|---|
data_source_csv_filenames |
String | Un URI para un archivo CSV almacenado en Cloud Storage. |
data_source_bigquery_table_path |
String | Un URI para una tabla de BigQuery. |
dataflow_service_account |
String | Cuenta de servicio personalizada para ejecutar trabajos de Dataflow (opcional). El trabajo de Dataflow se puede configurar para usar IP privadas y una subred de VPC específica. Este parámetro actúa como una anulación para la cuenta de servicio predeterminada del trabajador de Dataflow. |
¿Qué sigue?
Una vez que estés listo para hacer predicciones con tu modelo de clasificación o regresión, tienes dos opciones:
- Haz predicciones en línea (en tiempo real) con tu modelo.
- Obtén predicciones por lotes directamente de tu modelo.
- Obtén más información sobre los precios del entrenamiento de modelos.