Referencia del Python SDK para la selección inteligente de SageMaker - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia del Python SDK para la selección inteligente de SageMaker

Esta página proporciona una referencia de los módulos de Python que necesita para aplicar la selección inteligente de SageMaker a su script de entrenamiento.

Módulos de configuración de selección inteligente de SageMaker

class smart_sifting.sift_config.sift_configs.RelativeProbabilisticSiftConfig()

Clase de configuración de selección inteligente de SageMaker.

Parámetros

  • beta_value (float): un valor beta (constante). Se utiliza para calcular la probabilidad de seleccionar una muestra para entrenamiento en función del percentil de la pérdida en el historial de valores de pérdida. Si se reduce el valor beta, se disminuye el porcentaje de los datos seleccionados y, al aumentarlo, se obtiene un porcentaje superior de datos seleccionados. No hay un valor mínimo ni máximo para el valor beta, salvo que debe ser un valor positivo. En la siguiente tabla de referencia se proporciona información sobre las tasas de selección con respecto a beta_value.

    beta_value Proporción de datos conservados (%) Proporción de datos seleccionados (%)
    0,1 90,91 9,01
    0,25 80 20
    0,5 66,67 33,33
    1 50 50
    2 33,33 66,67
    3 25 75
    10 9,09 90,92
    100 0.99 99,01
  • loss_history_length (int): el número de pérdidas de entrenamiento previas que se almacenarán para el muestreo basado en la pérdida de umbral relativa.

  • loss_based_sift_config (dict o un objeto LossConfig): especifique un objeto LossConfig que devuelva la configuración de la interfaz de pérdida de la selección inteligente de SageMaker.

class smart_sifting.sift_config.sift_configs.LossConfig()

La clase de configuración para el parámetro loss_based_sift_config de la clase RelativeProbabilisticSiftConfig.

Parámetros

  • sift_config (dict o un objeto SiftingBaseConfig): especifique un objeto SiftingBaseConfig que devuelva un diccionario de configuración base de la selección.

class smart_sifting.sift_config.sift_configs.SiftingBaseConfig()

La clase de configuración para el parámetro sift_config de LossConfig.

Parámetros

  • sift_delay (int): el número de pasos de entrenamiento que hay que esperar antes de empezar la selección. Le recomendamos que empiece la selección después de que todas las capas del modelo tengan una vista suficiente de los datos de entrenamiento. El valor predeterminado es 1000.

  • repeat_delay_per_epoch (bool): especifique si desea retrasar la selección de cada época. El valor predeterminado es False.

Módulos de transformación por lotes de datos de selección inteligente de SageMaker

class smart_sifting.data_model.data_model_interface.SiftingBatchTransform

Un módulo de Python de selección inteligente de SageMaker para definir cómo realizar la transformación por lotes. Con él, puede configurar una clase de transformación por lotes que convierta el formato de datos de sus datos de entrenamiento en formato SiftingBatch. La selección inteligente de SageMaker puede seleccionar y acumular datos en este formato en un lote seleccionado.

class smart_sifting.data_model.data_model_interface.SiftingBatch

Interfaz para definir un tipo de datos por lotes que se puede seleccionar y acumular

class smart_sifting.data_model.list_batch.ListBatch

Módulo para realizar un seguimiento de un lote de listas para su selección

class smart_sifting.data_model.tensor_batch.TensorBatch

Módulo para realizar un seguimiento de un lote de tensores para su selección.

Módulo de implementación de pérdida de selección inteligente de SageMaker

class smart_sifting.loss.abstract_sift_loss_module.Loss

Módulo encapsulador para registrar la interfaz de selección inteligente de SageMaker en la función de pérdida de un modelo basado en PyTorch.

Módulo encapsulador de cargador de datos de selección inteligente de SageMaker

class smart_sifting.dataloader.sift_dataloader.SiftingDataloader

Módulo contenedor para registrar la interfaz de selección inteligente de SageMaker en el cargador de datos de un modelo basado en PyTorch

El iterador del cargador de datos de selección principal selecciona las muestras de entrenamiento de un cargador de datos en función de una configuración de selección.

Parámetros

  • sift_config (dict o un objeto RelativeProbabilisticSiftConfig): un objeto RelativeProbabilisticSiftConfig.

  • orig_dataloader (un objeto DataLoader de PyTorch): especifique el objeto Dataloader de PyTorch que se encapsulará.

  • batch_transforms (un objeto SiftingBatchTransform): (opcional) si la transformación predeterminada de la biblioteca de selección inteligente de SageMaker no admite el formato de datos, debe crear una clase de transformación por lotes mediante el módulo SiftingBatchTransform. Este parámetro se usa para pasar la clase de transformación por lotes. Esta clase se utiliza para que SiftingDataloader convierta los datos a un formato que el algoritmo de selección inteligente de SageMaker pueda aceptar.

  • model (un objeto de modelo de PyTorch): el modelo de PyTorch original

  • loss_impl (una función de pérdida de selección de smart_sifting.loss.abstract_sift_loss_module.Loss): función de pérdida de selección que se configura con el módulo Loss y encapsula la función de pérdida de PyTorch.

  • log_batch_data (bool): especifique si desea registrar los datos por lotes. Si se establece en True, la selección inteligente de SageMaker registra los detalles de los lotes que se conservan o se seleccionan. Le recomendamos que lo active solo para un trabajo de entrenamiento de pilotos. Cuando se activa el registro, las muestras se cargan en la GPU y se transfieren a la CPU, lo que supone una sobrecarga. El valor predeterminado es False.