Entrenar con AutoDL (GeoAI)

Disponible con licencia de Image Analyst.

Resumen

Entrena un modelo de aprendizaje profundo creando procesos de entrenamiento y automatizando gran parte del proceso de entrenamiento. Esto incluye aumento de datos, selección de modelo, ajuste de hiperparámetro y deducción del tamaño de lote. Sus salidas incluyen métricas de rendimiento del mejor modelo en los datos de entrenamiento, así como el paquete de modelo de aprendizaje profundo entrenado (archivo .dlpk) que se puede utilizar como entrada para la herramienta Extraer entidades mediante modelos de IA para predecir nuevas imágenes.

Más información sobre cómo funciona AutoDL

Uso

  • Debe instalar el marco de aprendizaje profundo adecuado para Python en ArcGIS AllSource.

    Más información sobre cómo instalar un marco de aprendizaje profundo para ArcGIS

  • Si va a entrenar modelos en un entorno sin conexión, consulte Instalación adicional para el entorno sin conexión para obtener más información.

  • El tiempo que tarda la herramienta en generar el modelo entrenado depende de lo siguiente:

    • La cantidad de datos proporcionados durante el entrenamiento
    • El valor del parámetro Modo AutoDL
    • El valor del parámetro Límite total de tiempo (Horas)

    De forma predeterminada, el temporizador de todos los modos está definido en 2 horas. El modo Básico entrenará las redes seleccionadas en el fondo predeterminado en el tiempo determinado. El modo Avanzado dividirá el tiempo total por dos, realizará la evaluación del modelo en la primera mitad y determinará los dos modelos con mejores resultados para evaluarlos en otras redes centrales en la segunda mitad. Si la cantidad de datos que desea entrenar es considerable, es posible que todos los modelos seleccionados no se evalúen en 2 horas. En estos casos, se considerará como óptimo el modelo que mejor funcione dentro de un intervalo de 2 horas. A continuación puede usar este modelo o volver a ejecutar la herramienta con un valor de parámetro Límite de tiempo total (horas) más alto.

  • Esta herramienta también se puede utilizar para ajustar un modelo entrenado existente. Por ejemplo, un modelo existente entrenado para coches se puede ajustar para entrenar un modelo que identifique camiones.

  • Para ejecutar esta herramienta se requiere un equipo compuesto por GPU. Si tiene más de una GPU, utilice el entorno de Id. de GPU.

  • Los datos de entrenamiento de entrada para esta herramienta deben incluir las carpetas de imágenes y etiquetas generadas con la herramienta Exportar datos de entrenamiento para aprendizaje profundo.

  • Entre los casos de uso potencial para la herramienta se incluyen modelos de detección de objetos de entrenamiento y clasificación de píxeles para extraer entidades, por ejemplo, huella de edificios, piscinas, paneles solares, clasificación de cobertura terrestre, etc.

  • Para obtener información sobre los requisitos para ejecutar esta herramienta y los problemas que pueden presentarse, consulte Preguntas frecuentes sobre el aprendizaje profundo.

Parámetros

EtiquetaExplicaciónTipo de datos
Datos de entrenamiento de entrada

Carpetas que contienen los chips de imagen, las etiquetas y las estadísticas necesarias para entrenar el modelo. Esta es la salida de la herramienta Exportar datos de entrenamiento para aprendizaje profundo. El formato de metadatos de los datos exportados debe ser Classified_Tiles, PASCAL_VOC_rectangles o KITTI_rectangles.

Folder
Modelo de salida

El modelo entrenado de salida que se guardará como un paquete de aprendizaje profundo (archivo .dlpk).

File
Modelo preentrenado
(Opcional)

Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada es un archivo de definición de modelo Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk).

Se puede ajustar un modelo previamente entrenado con clases similares para que se adecue al nuevo modelo. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo.

File
Límite de tiempo total (horas)
(Opcional)

El límite de tiempo total en horas que llevará el entrenamiento del modelo AutoDL. El valor predeterminado es 2 horas.

Double
Modo AutoDL
(Opcional)

Especifica el modo AutoDL que se utilizará y la intensidad de la búsqueda de AutoDL.

  • BásicoSe utilizará el modo básico. Este modo se utiliza para entrenar todas las redes seleccionadas sin ajuste de hiperparámetros.
  • AvanzadoSe utilizará el modo avanzado. Este modo se utiliza para realizar el ajuste de hiperparámetros en los dos modelos de mayor rendimiento.
String
Redes neuronales
(Opcional)

Especifica las arquitecturas que se utilizarán para entrenar el modelo.

De forma predeterminada, se utilizarán todas las redes.

  • SingleShotDetectorSe utilizará la arquitectura SingleShotDetector para entrenar el modelo. SingleShotDetector se utiliza para la detección de objetos.
  • RetinaNetSe utilizará la arquitectura RetinaNet para entrenar el modelo. RetinaNet se utiliza para detectar objetos.
  • FasterRCNNSe utilizará la arquitectura FasterRCNN para entrenar el modelo. FasterRCNN se utiliza para la detección de objetos.
  • YOLOv3Se utilizará la arquitectura YOLOv3 para entrenar el modelo. YOLOv3 se utiliza para la detección de objetos.
  • HRNetSe utilizará la arquitectura HRNet para entrenar el modelo. HRNet se utiliza para la clasificación de píxeles.
  • ATSSSe utilizará la arquitectura ATSS para entrenar el modelo. ATSS se utiliza para la detección de objetos.
  • CARAFESe utilizará la arquitectura CARAFE para entrenar el modelo. CARAFE se utiliza para la detección de objetos.
  • CascadeRCNNSe utilizará la arquitectura CascadeRCNN para entrenar el modelo. CascadeRCNN se utiliza para la detección de objetos.
  • CascadeRPNSe utilizará la arquitectura CascadeRPN para entrenar el modelo. CascadeRPN se utiliza para la detección de objetos.
  • DCNSe utilizará la arquitectura DCN para entrenar el modelo. DCN se utiliza para la detección de objetos.
  • DeepLabSe utilizará la arquitectura DeepLab para entrenar el modelo. DeepLab se utiliza para la clasificación de píxeles.
  • UnetClassifierSe utilizará la arquitectura UnetClassifier para entrenar el modelo. UnetClassifier se utiliza para la clasificación de píxeles.
  • DeepLabV3PlusSe utilizará la arquitectura DeepLabV3Plus para entrenar el modelo. Se utiliza DeepLabV3Plus para la clasificación de píxeles.
  • PSPNetClassifierSe utilizará la arquitectura PSPNetClassifier para entrenar el modelo. PSPNetClassifier se utiliza para la clasificación de píxeles.
  • ANNSe utilizará la arquitectura ANN para entrenar el modelo. ANN se utiliza para la clasificación de píxeles.
  • APCNetSe utilizará la arquitectura APCNet para entrenar el modelo. APCNet se utiliza para la clasificación de píxeles.
  • CCNetSe utilizará la arquitectura CCNet para entrenar el modelo. CCNet se utiliza para la clasificación de píxeles.
  • CGNetSe utilizará la arquitectura CGNet para entrenar el modelo. CGNet se utiliza para la clasificación de píxeles.
  • DETRegSe utilizará la arquitectura DETReg para entrenar el modelo. DETReg se utiliza para la detección de objetos.
  • DynamicRCNNSe utilizará la arquitectura DynamicRCNN para entrenar el modelo. Se utiliza DynamicRCNN para la detección de objetos.
  • EmpiricalAttentionSe utilizará la arquitectura EmpiricalAttention para entrenar el modelo. Se utiliza EmpiricalAttention para la detección de objetos.
  • FCOSSe utilizará la arquitectura FCOS para entrenar el modelo. Se utiliza FCOS para la detección de objetos.
  • FoveaBoxSe utilizará la arquitectura FoveaBox para entrenar el modelo. Se utiliza FoveaBox para la detección de objetos.
  • FSAFSe utilizará la arquitectura FSAF para entrenar el modelo. Se utiliza FSAF para la detección de objetos.
  • GHMSe utilizará la arquitectura GHM para entrenar el modelo. Se utiliza GHM para la detección de objetos.
  • LibraRCNNSe utilizará la arquitectura LibraRCNN para entrenar el modelo. Se utiliza LibraRCNN para la detección de objetos.
  • PaFPNSe utilizará la arquitectura PaFPN para entrenar el modelo. Se utiliza PaFPN para la detección de objetos.
  • Res2NetSe utilizará la arquitectura Res2Net para entrenar el modelo. Se utiliza Res2Net para la detección de objetos.
  • SABLSe utilizará la arquitectura SABL para entrenar el modelo. Se utiliza SABL para la detección de objetos.
  • VFNetSe utilizará la arquitectura VFNet para entrenar el modelo. Se utiliza VFNet para la detección de objetos.
  • DMNetSe utilizará la arquitectura DMNet para entrenar el modelo. Se utiliza DMNet para la clasificación de píxeles.
  • DNLNetSe utilizará la arquitectura DNLNet para entrenar el modelo. Se utiliza DNLNet para la clasificación de píxeles.
  • FastSCNNSe utilizará la arquitectura FastSCNN para entrenar el modelo. Se utiliza FastSCNN para la clasificación de píxeles.
  • FCNSe utilizará la arquitectura FCN para entrenar el modelo. Se utiliza FCN para la clasificación de píxeles.
  • GCNetSe utilizará la arquitectura GCNet para entrenar el modelo. Se utiliza GCNet para la clasificación de píxeles.
  • MobileNetV2Se utilizará la arquitectura MobileNet2 para entrenar el modelo. Se utiliza MobileNetV2 para la clasificación de píxeles.
  • NonLocalNetSe utilizará la arquitectura NonLocalNet para entrenar el modelo. Se utiliza NonLocalNet para la clasificación de píxeles.
  • OCRNetSe utilizará la arquitectura Mask2Former para entrenar el modelo. Mask2Former se utiliza para la clasificación de píxeles.
  • PSANetSe utilizará la arquitectura PSANet para entrenar el modelo. Se utiliza PSANet para la clasificación de píxeles.
  • SemFPNSe utilizará la arquitectura SemFPN para entrenar el modelo. Se utiliza SEmFPN para la clasificación de píxeles.
  • UperNetSe utilizará la arquitectura UperNet para entrenar el modelo. Se utiliza UperNet para la clasificación de píxeles.
  • MaskRCNNSe utilizará la arquitectura MaskRCNN para entrenar el modelo. MaskRCNN se utiliza para la detección de objetos.
  • SamLoRASe utilizará la arquitectura SamLoRA para entrenar el modelo. Se utiliza SamLoRA para la clasificación de píxeles.
  • RTDetrV2Se utilizará la arquitectura RTDetrV2 para entrenar el modelo. Se utiliza RTDetrV2 para la detección de objetos.
String
Guardar modelos evaluados
(Opcional)

Especifica si se guardarán todos los modelos evaluados.

  • Activado: se guardarán todos los modelos evaluados.
  • Desactivado: solo se guardará el modelo con mejor rendimiento. Esta es la opción predeterminada.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Archivo de modelo de salida

El archivo de modelo de salida.

File

arcpy.geoai.TrainUsingAutoDL(in_data, out_model, {pretrained_model}, {total_time_limit}, {autodl_mode}, {networks}, {save_evaluated_models})
NombreExplicaciónTipo de datos
in_data

Carpetas que contienen los chips de imagen, las etiquetas y las estadísticas necesarias para entrenar el modelo. Esta es la salida de la herramienta Exportar datos de entrenamiento para aprendizaje profundo. El formato de metadatos de los datos exportados debe ser Classified_Tiles, PASCAL_VOC_rectangles o KITTI_rectangles.

Folder
out_model

El modelo entrenado de salida que se guardará como un paquete de aprendizaje profundo (archivo .dlpk).

File
pretrained_model
(Opcional)

Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada es un archivo de definición de modelo Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk).

Se puede ajustar un modelo previamente entrenado con clases similares para que se adecue al nuevo modelo. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo.

File
total_time_limit
(Opcional)

El límite de tiempo total en horas que llevará el entrenamiento del modelo AutoDL. El valor predeterminado es 2 horas.

Double
autodl_mode
(Opcional)

Especifica el modo AutoDL que se utilizará y la intensidad de la búsqueda de AutoDL.

  • BASICSe utilizará el modo básico. Este modo se utiliza para entrenar todas las redes seleccionadas sin ajuste de hiperparámetros.
  • ADVANCEDSe utilizará el modo avanzado. Este modo se utiliza para realizar el ajuste de hiperparámetros en los dos modelos de mayor rendimiento.
String
networks
[networks,...]
(Opcional)

Especifica las arquitecturas que se utilizarán para entrenar el modelo.

  • SingleShotDetectorSe utilizará la arquitectura SingleShotDetector para entrenar el modelo. SingleShotDetector se utiliza para la detección de objetos.
  • RetinaNetSe utilizará la arquitectura RetinaNet para entrenar el modelo. RetinaNet se utiliza para detectar objetos.
  • FasterRCNNSe utilizará la arquitectura FasterRCNN para entrenar el modelo. FasterRCNN se utiliza para la detección de objetos.
  • YOLOv3Se utilizará la arquitectura YOLOv3 para entrenar el modelo. YOLOv3 se utiliza para la detección de objetos.
  • HRNetSe utilizará la arquitectura HRNet para entrenar el modelo. HRNet se utiliza para la clasificación de píxeles.
  • ATSSSe utilizará la arquitectura ATSS para entrenar el modelo. ATSS se utiliza para la detección de objetos.
  • CARAFESe utilizará la arquitectura CARAFE para entrenar el modelo. CARAFE se utiliza para la detección de objetos.
  • CascadeRCNNSe utilizará la arquitectura CascadeRCNN para entrenar el modelo. CascadeRCNN se utiliza para la detección de objetos.
  • CascadeRPNSe utilizará la arquitectura CascadeRPN para entrenar el modelo. CascadeRPN se utiliza para la detección de objetos.
  • DCNSe utilizará la arquitectura DCN para entrenar el modelo. DCN se utiliza para la detección de objetos.
  • DeepLabSe utilizará la arquitectura DeepLab para entrenar el modelo. DeepLab se utiliza para la clasificación de píxeles.
  • UnetClassifierSe utilizará la arquitectura UnetClassifier para entrenar el modelo. UnetClassifier se utiliza para la clasificación de píxeles.
  • DeepLabV3PlusSe utilizará la arquitectura DeepLabV3Plus para entrenar el modelo. Se utiliza DeepLabV3Plus para la clasificación de píxeles.
  • PSPNetClassifierSe utilizará la arquitectura PSPNetClassifier para entrenar el modelo. PSPNetClassifier se utiliza para la clasificación de píxeles.
  • ANNSe utilizará la arquitectura ANN para entrenar el modelo. ANN se utiliza para la clasificación de píxeles.
  • APCNetSe utilizará la arquitectura APCNet para entrenar el modelo. APCNet se utiliza para la clasificación de píxeles.
  • CCNetSe utilizará la arquitectura CCNet para entrenar el modelo. CCNet se utiliza para la clasificación de píxeles.
  • CGNetSe utilizará la arquitectura CGNet para entrenar el modelo. CGNet se utiliza para la clasificación de píxeles.
  • DETRegSe utilizará la arquitectura DETReg para entrenar el modelo. DETReg se utiliza para la detección de objetos.
  • DynamicRCNNSe utilizará la arquitectura DynamicRCNN para entrenar el modelo. Se utiliza DynamicRCNN para la detección de objetos.
  • EmpiricalAttentionSe utilizará la arquitectura EmpiricalAttention para entrenar el modelo. Se utiliza EmpiricalAttention para la detección de objetos.
  • FCOSSe utilizará la arquitectura FCOS para entrenar el modelo. Se utiliza FCOS para la detección de objetos.
  • FoveaBoxSe utilizará la arquitectura FoveaBox para entrenar el modelo. Se utiliza FoveaBox para la detección de objetos.
  • FSAFSe utilizará la arquitectura FSAF para entrenar el modelo. Se utiliza FSAF para la detección de objetos.
  • GHMSe utilizará la arquitectura GHM para entrenar el modelo. Se utiliza GHM para la detección de objetos.
  • LibraRCNNSe utilizará la arquitectura LibraRCNN para entrenar el modelo. Se utiliza LibraRCNN para la detección de objetos.
  • PaFPNSe utilizará la arquitectura PaFPN para entrenar el modelo. Se utiliza PaFPN para la detección de objetos.
  • Res2NetSe utilizará la arquitectura Res2Net para entrenar el modelo. Se utiliza Res2Net para la detección de objetos.
  • SABLSe utilizará la arquitectura SABL para entrenar el modelo. Se utiliza SABL para la detección de objetos.
  • VFNetSe utilizará la arquitectura VFNet para entrenar el modelo. Se utiliza VFNet para la detección de objetos.
  • DMNetSe utilizará la arquitectura DMNet para entrenar el modelo. Se utiliza DMNet para la clasificación de píxeles.
  • DNLNetSe utilizará la arquitectura DNLNet para entrenar el modelo. Se utiliza DNLNet para la clasificación de píxeles.
  • FastSCNNSe utilizará la arquitectura FastSCNN para entrenar el modelo. Se utiliza FastSCNN para la clasificación de píxeles.
  • FCNSe utilizará la arquitectura FCN para entrenar el modelo. Se utiliza FCN para la clasificación de píxeles.
  • GCNetSe utilizará la arquitectura GCNet para entrenar el modelo. Se utiliza GCNet para la clasificación de píxeles.
  • MobileNetV2Se utilizará la arquitectura MobileNet2 para entrenar el modelo. Se utiliza MobileNetV2 para la clasificación de píxeles.
  • NonLocalNetSe utilizará la arquitectura NonLocalNet para entrenar el modelo. Se utiliza NonLocalNet para la clasificación de píxeles.
  • Mask2FormerSe utilizará la arquitectura Mask2Former para entrenar el modelo. Mask2Former se utiliza para la clasificación de píxeles.
  • PSANetSe utilizará la arquitectura PSANet para entrenar el modelo. Se utiliza PSANet para la clasificación de píxeles.
  • SemFPNSe utilizará la arquitectura SemFPN para entrenar el modelo. Se utiliza SEmFPN para la clasificación de píxeles.
  • UperNetSe utilizará la arquitectura UperNet para entrenar el modelo. Se utiliza UperNet para la clasificación de píxeles.
  • MaskRCNNSe utilizará la arquitectura MaskRCNN para entrenar el modelo. MaskRCNN se utiliza para la detección de objetos.
  • SamLoRASe utilizará la arquitectura SamLoRA para entrenar el modelo. Se utiliza SamLoRA para la clasificación de píxeles.
  • RTDetrV2Se utilizará la arquitectura RTDetrV2 para entrenar el modelo. Se utiliza RTDetrV2 para la detección de objetos.

De forma predeterminada, se utilizarán todas las redes.

String
save_evaluated_models
(Opcional)

Especifica si se guardarán todos los modelos evaluados.

  • SAVE_ALL_MODELSSe guardarán todos los modelos evaluados.
  • SAVE_BEST_MODELSolo se guardará el modelo con mejor rendimiento. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
output_model_file

El archivo de modelo de salida.

File

Muestra de código

TrainUsingAutoDL (ventana de Python)

El siguiente script muestra cómo utilizar la función TrainUsingAutoDL.

# Name: TrainUsingAutoDL.py
# Description: Train a deep learning model on imagery data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath = "path_to_training_data" 
out_path = "path_to_trained_model"

out_model = os.path.join(out_path, "mymodel")

# Run Train Using AutoDL Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")

Entornos