Entrenar con AutoDL (GeoAI)

Disponible con licencia de Image Analyst.

Resumen

Entrena un modelo de aprendizaje profundo creando tuberías de entrenamiento y automatizando gran parte del proceso de entrenamiento. Esto incluye el aumento de datos, la selección de modelos, el ajuste de hiperparámetros y la deducción del tamaño del 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.

    Vea cómo instalar marcos de aprendizaje profundo para ArcGIS

  • Si va a entrenar modelos en un entorno sin conexión, consulte Instalación adicional para entornos 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 facilitados durante el entrenamiento
    • El valor del parámetro Modo AutoDL
    • El valor del parámetro Límite de tiempo total (en horas)

    De forma predeterminada, el temporizador de todos los modos está ajustado a 2 horas. El modo Básico entrenará las redes seleccionadas en la red central predeterminada dentro del tiempo dado. 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 se entrenan es grande, es posible que no se puedan evaluar todos los modelos seleccionados en 2 horas. En tales casos, se considerará modelo óptimo el de mejor rendimiento determinado en un plazo de 2 horas. Luego puede utilizar este modelo o volver a ejecutar la herramienta con un valor más alto del parámetro Límite de tiempo total (en horas).

  • Esta herramienta también puede utilizarse para ajustar un modelo ya entrenado. Por ejemplo, un modelo existente que ha sido entrenado para coches puede afinarse para entrenar un modelo que identifique camiones.

  • Para ejecutar esta herramienta, se necesita una máquina equipada con GPU. Si tiene más de una GPU, utilice el entorno Id. de GPU.

  • Los datos de entrenamiento de entrada para esta herramienta deben incluir las carpetas de imágenes y etiquetas que se generan desde la herramienta Exportar datos de formación para aprendizaje profundo.

  • Entre los posibles casos de uso de la herramienta se incluye el entrenamiento de modelos de detección de objetos y clasificación de píxeles para extraer entidades como la huella de un edificio, piscinas, paneles solares, clasificación de la capa 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

Las carpetas que contienen los chips de imagen, las etiquetas y las estadísticas necesarias para entrenar el modelo. Esto 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

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

File
Modelo preentrenado
(Opcional)

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

Puede ajustarse un modelo previamente entrenado con clases similares para adaptarse al nuevo modelo. El modelo previamente entrenado debe haber sido entrenado con el mismo tipo de modelo y modelo base que se usará para entrenar el nuevo modelo.

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

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

Double
Modo AutoDL
(Opcional)

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

  • BásicaSe 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 ajustar los hiperparámetros de los dos modelos con mejores resultados.
String
Redes naturales
(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. Se utiliza SingleShotDetector para la detección de objetos.
  • RetinaNetLa arquitectura RetinaNet se utilizará para entrenar el modelo. Se utiliza RetinaNet para la detección de objetos.
  • FasterRCNNSe utilizará la arquitectura FasterRCNN para entrenar el modelo. Se utiliza FasterRCNN para la detección de objetos.
  • YOLOv3La arquitectura YOLOv3 se utilizará para entrenar el modelo. Se utiliza YOLOv3 para la detección de objetos.
  • HRNetSe utilizará la arquitectura HRNet para entrenar el modelo. Se utiliza HRNet para la clasificación de píxeles.
  • ATSSSe utilizará la arquitectura ATSS para entrenar el modelo. Se utiliza ATSS para la detección de objetos.
  • CARAFESe utilizará la arquitectura CARAFE para entrenar el modelo. Se utiliza CARAFE para la detección de objetos.
  • CascadeRCNNSe utilizará la arquitectura CascadeRCNN para entrenar el modelo. Se utiliza CascadeRCNN para la detección de objetos.
  • CascadeRPNSe utilizará la arquitectura CascadeRPN para entrenar el modelo. Se utiliza CascadeRPN para la detección de objetos.
  • DCNSe utilizará la arquitectura DCN para entrenar el modelo. Se utiliza DCN para la detección de objetos.
  • DeepLabSe utilizará la arquitectura DeepLab para entrenar el modelo. Se utiliza DeepLab para la clasificación de píxeles.
  • UnetClassifierSe utilizará la arquitectura UnetClassifier para entrenar el modelo. Se utiliza UnetClassifier 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. Se utiliza PSPNetClassifier para la clasificación de píxeles.
  • ANNSe utilizará la arquitectura ANN para entrenar el modelo. Se utiliza ANN para la clasificación de píxeles.
  • APCNetSe utilizará la arquitectura APCNet para entrenar el modelo. Se utiliza APCNet para la clasificación de píxeles.
  • CCNetSe utilizará la arquitectura CCNet para entrenar el modelo. Se utiliza CCNet para la clasificación de píxeles.
  • CGNetSe utilizará la arquitectura CGNet para entrenar el modelo. Se utiliza CGNet para la clasificación de píxeles.
  • DETRegSe utilizará la arquitectura DETReg para entrenar el modelo. Se utiliza DETReg 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 OCRNet para entrenar el modelo. Se utiliza OCRNet 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. Se utiliza MaskRCNN 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 de mayor rendimiento. Esta es la opción predeterminada.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Archivo de modelo de salida

Indica el archivo del 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

Las carpetas que contienen los chips de imagen, las etiquetas y las estadísticas necesarias para entrenar el modelo. Esto 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

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

File
pretrained_model
(Opcional)

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

Puede ajustarse un modelo previamente entrenado con clases similares para adaptarse al nuevo modelo. El modelo previamente entrenado debe haber sido entrenado con el mismo tipo de modelo y modelo base que se usará para entrenar el nuevo modelo.

File
total_time_limit
(Opcional)

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

Double
autodl_mode
(Opcional)

Especifica el modo AutoDL que se utilizará y la intensidad de la búsqueda 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 ajustar los hiperparámetros de los dos modelos con mejores resultados.
String
networks
[networks,...]
(Opcional)

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

  • SingleShotDetectorSe utilizará la arquitectura SingleShotDetector para entrenar el modelo. Se utiliza SingleShotDetector para la detección de objetos.
  • RetinaNetLa arquitectura RetinaNet se utilizará para entrenar el modelo. Se utiliza RetinaNet para la detección de objetos.
  • FasterRCNNSe utilizará la arquitectura FasterRCNN para entrenar el modelo. Se utiliza FasterRCNN para la detección de objetos.
  • YOLOv3La arquitectura YOLOv3 se utilizará para entrenar el modelo. Se utiliza YOLOv3 para la detección de objetos.
  • HRNetSe utilizará la arquitectura HRNet para entrenar el modelo. Se utiliza HRNet para la clasificación de píxeles.
  • ATSSSe utilizará la arquitectura ATSS para entrenar el modelo. Se utiliza ATSS para la detección de objetos.
  • CARAFESe utilizará la arquitectura CARAFE para entrenar el modelo. Se utiliza CARAFE para la detección de objetos.
  • CascadeRCNNSe utilizará la arquitectura CascadeRCNN para entrenar el modelo. Se utiliza CascadeRCNN para la detección de objetos.
  • CascadeRPNSe utilizará la arquitectura CascadeRPN para entrenar el modelo. Se utiliza CascadeRPN para la detección de objetos.
  • DCNSe utilizará la arquitectura DCN para entrenar el modelo. Se utiliza DCN para la detección de objetos.
  • DeepLabSe utilizará la arquitectura DeepLab para entrenar el modelo. Se utiliza DeepLab para la clasificación de píxeles.
  • UnetClassifierSe utilizará la arquitectura UnetClassifier para entrenar el modelo. Se utiliza UnetClassifier 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. Se utiliza PSPNetClassifier para la clasificación de píxeles.
  • ANNSe utilizará la arquitectura ANN para entrenar el modelo. Se utiliza ANN para la clasificación de píxeles.
  • APCNetSe utilizará la arquitectura APCNet para entrenar el modelo. Se utiliza APCNet para la clasificación de píxeles.
  • CCNetSe utilizará la arquitectura CCNet para entrenar el modelo. Se utiliza CCNet para la clasificación de píxeles.
  • CGNetSe utilizará la arquitectura CGNet para entrenar el modelo. Se utiliza CGNet para la clasificación de píxeles.
  • DETRegSe utilizará la arquitectura DETReg para entrenar el modelo. Se utiliza DETReg 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 OCRNet para entrenar el modelo. Se utiliza OCRNet 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. Se utiliza MaskRCNN 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 de mayor rendimiento. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
output_model_file

Indica el archivo del modelo de salida.

File

Muestra de código

TrainUsingAutoDL (ventana de Python)

Este ejemplo 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 AutoML Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")

Entornos