Entrenar un modelo de aprendizaje profundo (Image Analyst)

Disponible con licencia de Image Analyst.

Resumen

Entrena un modelo de aprendizaje profundo utilizando la salida de la herramienta Exportar datos de entrenamiento para aprendizaje profundo.

Uso

  • Esta herramienta entrena un modelo de aprendizaje profundo con marcos de aprendizaje profundo.

  • Para configurar su equipo para usar marcos de aprendizaje profundo en ArcGIS Pro, consulte Instalar marcos 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.

  • 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 utilizando la GPU, establezca el entorno Tipo de procesador en GPU. Si tiene más de una GPU, especifique el entorno de Id. de GPU en su lugar.

  • De forma predeterminada, la herramienta utiliza todas las GPU disponibles cuando el parámetro Tipo de modelo se establece en una de las siguientes opciones:

    • ConnectNet
    • Clasificador de entidades
    • MaskRCNN
    • Extractor de carreteras de varias tareas
    • Single Shot Detector
    • U-Net

    Para utilizar una GPU específica, utilice el entorno 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.

  • Especifique las transformaciones fastai para el aumento de datos de los datasets de entrenamiento y validación utilizando el archivo transforms.json, que se encuentra en la misma carpeta que los datos de entrenamiento. A continuación, encontrará un ejemplo de un archivo transforms.json:

    Parámetros de aumento personalizados

    
    {
        "Training": {
            "rotate": {
                "degrees": 30,
                "p": 0.5
            },
            "crop": {
                "size": 224,
                "p": 1,
                "row_pct": "0, 1",
                "col_pct": "0, 1"
            },
            "brightness": {
                "change": "0.4, 0.6"
            },
            "contrast": {
                "scale": "1.0, 1.5"
            },
            "rand_zoom": {
                "scale": "1, 1.2"
            }
        },
        "Validation": {
            "crop": {
                "size": 224,
                "p": 1.0,
                "row_pct": 0.5,
                "col_pct": 0.5
            }
        }
    }

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

  • Para obtener más información sobre el aprendizaje profundo, consulte Aprendizaje profundo en ArcGIS Pro.

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.

Se admiten varias carpetas de entrada cuando se cumplen las siguientes condiciones:

  • El tipo de formato de metadatos debe ser teselas clasificadas, teselas etiquetadas, teselas multietiquetadas, clases de objetos visuales Pascal o máscaras RCNN.
  • Todos los datos de entrenamiento deben tener el mismo formato de metadatos.
  • Todos los datos de entrenamiento deben tener el mismo número de bandas.
  • Todos los datos de entrenamiento deben tener el mismo tamaño de tesela.

Folder
Carpeta de salida

La ubicación de la carpeta de salida donde se almacenará el modelo entrenado.

Folder
Máximo de épocas
(Opcional)

Número máximo de épocas para las que se entrenará el modelo. Una época máxima de uno significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 20.

Long
Tipo de modelo
(Opcional)

Especifica el tipo de modelo que se usará para entrenar el modelo de aprendizaje profundo.

  • Single Shot Detector (detección de objetos)Se utilizará la arquitectura Single Shot Detector (SSD) para entrenar el modelo. SSD se utiliza para la detección de objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Pascal Visual Object Classes.
  • U-Net (clasificación de píxeles)Se utilizará la arquitectura U-Net para entrenar el modelo. U-Net se utiliza para la clasificación de píxeles.
  • Clasificador de entidad (clasificación de objetos)Se utilizará la arquitectura Clasificador de entidades para entrenar el modelo. Feature Classifier se utiliza para la clasificación de objetos o imágenes.
  • Red de análisis de escenas piramidales (clasificación de píxeles)Se utilizará la arquitectura Red de análisis de escenas de pirámide (PSPNET) para entrenar el modelo. PSPNET se utiliza para la clasificación de píxeles.
  • RetinaNet (detección de objetos)Se utilizará la arquitectura RetinaNet para entrenar el modelo. RetinaNet se utiliza para detectar objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Pascal Visual Object Classes.
  • MaskRCNN (detección de objetos)Se utilizará la arquitectura MaskRCNN para entrenar el modelo. MaskRCNN se utiliza para la detección de objetos. Este enfoque se utiliza para la segmentación de instancias, que es una delineación precisa de los objetos de una imagen. Este tipo de modelo se puede utilizar para detectar huellas de edificios. Utiliza el formato de metadatos MaskRCNN para los datos de entrenamiento como entrada. Los valores de clase de los datos de entrenamiento de entrada deben comenzar en 1. Este tipo de modelo solo se puede entrenar con una GPU habilitada para CUDA.
  • YOLOv3 (detección de objetos)Se utilizará la arquitectura YOLOv3 para entrenar el modelo. YOLOv3 se utiliza para la detección de objetos.
  • DeepLabV3 (clasificación de píxeles)Se utilizará la arquitectura DeepLabV3 para entrenar el modelo. DeepLab se utiliza para la clasificación de píxeles.
  • FasterRCNN (detección de objetos)Se utilizará la arquitectura FasterRCNN para entrenar el modelo. FasterRCNN se utiliza para la detección de objetos.
  • Detector de bordes BDCN (clasificación de píxeles)Para entrenar el modelo se utilizará la arquitectura de red en cascada bidireccional (BDCN). Se utiliza BDCN Edge Detector para la clasificación de píxeles. Este enfoque es útil para mejorar la detección de los bordes de los objetos en diferentes escalas.
  • Detector de bordes HED (clasificación de píxeles)La arquitectura de detección de bordes anidados de forma holística (HED) se utilizará para entrenar el modelo. Se utiliza HED Edge Detector para la clasificación de píxeles. Este enfoque resulta útil en la detección bordes y de límites de objetos.
  • Extractor de carreteras de varias tareas (clasificación de píxeles)Se utilizará la arquitectura de extractor de carreteras de varias tareas para entrenar el modelo. Se utiliza Multi Task Road Extractor para la clasificación de píxeles. Este enfoque resulta útil para la extracción de redes de carreteras de imágenes de satélite.
  • ConnectNet (clasificación de píxeles)La arquitectura ConnectNet se utilizará para entrenar el modelo. ConnectNet se utiliza para la clasificación de píxeles. Este enfoque resulta útil para la extracción de redes de carreteras de imágenes de satélite.
  • Pix2Pix (traducción de imágenes)Se utilizará la arquitectura Pix2Pix para entrenar el modelo. Pix2Pix se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • CycleGAN (traducción de imágenes)Se utilizará la arquitectura CycleGAN para entrenar el modelo. CycleGAN se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Este enfoque es único porque las imágenes que se van a entrenar no tienen que superponerse. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos CycleGAN.
  • Superresolución (traducción de imágenes)Se utilizará la arquitectura Superresolución para entrenar el modelo. La superresolución se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que aumenta la resolución y mejora la calidad de las imágenes. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • Detector de cambios (clasificación de píxeles)Se utilizará la arquitectura Detector de cambios para entrenar el modelo. El detector de cambios se utiliza para la clasificación de píxeles. Este enfoque crea un objeto de modelo que utiliza dos imágenes espaciotemporales para crear un ráster clasificado del cambio. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Teselas clasificadas.
  • Subtitulador de imágenes (traducción de imágenes)Se utilizará la arquitectura Subtitulador de imágenes para entrenar el modelo. El subtitulador de imágenes se utiliza para la traducción de imagen a texto. Este enfoque crea un modelo que genera subtítulos de texto para una imagen.
  • Siam Mask (seguimiento de objetos)Se utilizará la arquitectura Siam Mask para entrenar el modelo. Siam Mask se utiliza para detectar objetos en vídeos. El modelo se entrena utilizando fotogramas del vídeo y detecta las clases y los cuadros de delimitación de los objetos en cada fotograma. Los datos de entrenamiento de entrada de este tipo de modelo utilizan el formato de metadatos MaskRCNN.
  • MMDetection (detección de objetos)Se utilizará la arquitectura MMDetection para entrenar el modelo. MMDetection se utiliza para la detección de objetos. Los formatos de metadatos admitidos son rectángulos Pascal Visual Object Class y rectángulos KITTI.
  • MMSegmentation (clasificación de píxeles)Se utilizará la arquitectura MMSegmentation para entrenar el modelo. Se utiliza MMSegmentation para la clasificación de píxeles. El formato de metadatos admitido es Teselas clasificadas.
  • Orden profundo (seguimiento de objetos)Se utilizará la arquitectura Orden profundo para entrenar el modelo. El orden profundo se utiliza para detectar objetos en vídeos. El modelo se entrena utilizando fotogramas del vídeo y detecta las clases y los cuadros de delimitación de los objetos en cada fotograma. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Imagenet. Mientras que Siam Mask es útil para rastrear un objeto, Deep Sort es útil para formar un modelo para rastrear múltiples objetos.
  • Pix2PixHD (traducción de imágenes)Se utilizará la arquitectura Pix2PixHD para entrenar el modelo. Pix2PixHD se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • MaX-DeepLab (segmentación panóptica)Se utilizará la arquitectura MaX-DeepLab para entrenar el modelo. Se utiliza MaX-DeepLab para la segmentación panóptica. Este enfoque crea un objeto de modelo que genera imágenes y entidades. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos de segmentación panóptica.
  • DETReg (detección de objetos)Se utilizará la arquitectura DETReg para entrenar el modelo. DETReg se utiliza para la detección de objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan Pascal Visual Object Classes. Este tipo de modelo hace un uso intensivo de la GPU; requiere una GPU dedicada con al menos 16 GB de memoria para funcionar correctamente.
  • PSETAE (clasificación de píxeles)La arquitectura de codificadores de conjuntos de píxeles y autoatención temporal (PSETAE) se utilizará para entrenar el modelo de clasificación de series temporales. PSETAE se utiliza para la clasificación de píxeles. Los datos preliminares utilizados para este método son datos multidimensionales.
String
Tamaño de lote
(Opcional)

Número de muestras de entrenamiento que se procesarán para el entrenamiento a la vez.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria.

Cuando no se dispone de suficiente memoria en la GPU para el tamaño de lote establecido, la herramienta intenta estimar y utilizar un tamaño de lote óptimo. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Long
Argumentos de modelo
(Opcional)

La información del parámetro Tipo de modelo se utilizará para rellenar este parámetro. Estos argumentos varían dependiendo de la arquitectura del modelo. A continuación se describen los argumentos de modelo admitidos para los modelos entrenados en ArcGIS. Los modelos preentrenados de ArcGIS y los modelos de aprendizaje profundo personalizados pueden tener argumentos adicionales que son compatibles con las herramientas.

Para obtener más información sobre los argumentos que están disponibles para cada tipo de modelo, consulte Argumentos de aprendizaje profundo.

  • attention_type: especifica el tipo de módulo. Las opciones del módulo son PAM (Módulo de Atención Piramidal) o BAM (Módulo de Atención Básica). El valor predeterminado es PAM.
  • chip_size: tamaño de la imagen utilizada para entrenar el modelo. Todos los tipos de modelo admiten el argumento chip_size, que es el tamaño de chip de imagen de las muestras de entrenamiento. Las imágenes se recortan según el tamaño de chip especificado. Si el tamaño de la imagen es menor que el tamaño de chip, se utilizará el tamaño de imagen. El tamaño predeterminado es 224 píxeles.
  • class_balancing: especifica si la pérdida inversa de la entropía cruzada se equilibrará con la frecuencia de píxeles por clase. El valor predeterminado es Falso.
  • decode_params: diccionario que controla cómo se ejecutará el subtitulador de imágenes. El valor predeterminado es {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. El argumento decode_params se compone de los siguientes parámetros:
    • embed_size: tamaño de la incrustación. El valor predeterminado es 100 capas en la red neuronal.
    • hidden_size: tamaño de la capa oculta. El valor predeterminado es 100 capas en la red neuronal.
    • attention_size: tamaño de la capa de atención intermedia. El valor predeterminado es 100 capas en la red neuronal.
    • teacher_forcing: la probabilidad de que el profesor sea forzoso. El forzamiento de los profesores es una estrategia para el entrenamiento de redes neuronales recurrentes. Utiliza la salida del modelo de un periodo de tiempo anterior como entrada, en lugar de la salida anterior, durante la retropropagación. El rango válido es 0,0 a 1,0. El valor predeterminado es 1.
    • abandono: probabilidad de abandono. El rango válido es 0,0 a 1,0. El valor predeterminado es 0,1.
    • pretrained_emb: especifica la bandera de incrustación preentrenada. Si es True, utilizará la incrustación de texto rápida. Si es False, no utilizará la incrustación de texto preentrenada. El valor predeterminado es Falso.
  • focal_loss: especifica si se utilizará pérdida focal. El valor predeterminado es Falso.
  • gaussian_thresh: el umbral gaussiano, que establece el ancho de carretera requerido. El rango válido es 0,0 a 1,0. El valor predeterminado es 0,76.
  • Cuadrículas: número de cuadrículas en las que se dividirá la imagen para el procesamiento. Por ejemplo, establecer este argumento en 4 significa que la imagen se dividirá en 4 x 4 o 16 celdas de cuadrícula. Si no se especifica ningún valor, el valor óptimo de la cuadrícula se calculará en función de las imágenes de entrada.
  • ignore_classes: la lista de valores de clase en los que el modelo no incurrirá en pérdidas.
  • modelo: modelo de base utilizado para entrenar el modelo. Las redes centrales disponibles dependen del valor del parámetro Tipo de modelo. El valor predeterminado para MMDetection es cascade_rcnn. El valor predeterminado para MMSegmentation es deeplabv3.
  • model_weight: especifica si se utilizarán ponderaciones del modelo preentrenado. El valor predeterminado es Falso. El valor también puede ser una ruta a un archivo de configuración que contenga los pesos de un modelo del repositorio de MMDetection o del repositorio de MMSegmentation.
  • monitorizar: especifica la métrica a monitorizar durante la verificación y la detención temprana. Las métricas disponibles dependen del valor del parámetro Tipo de modelo. El valor predeterminado es valid_loss.
  • mtl_model: especifica el tipo de arquitectura que se utilizará para crear el modelo. Las opciones son linknet o reloj de arena para arquitecturas neuronales basadas en linknet o reloj de arena, respectivamente. El valor predeterminado es reloj de arena.
  • orient_bin_size: el tamaño de bin para los ángulos de orientación. El valor predeterminado es 20.
  • orient_theta: la anchura de la máscara de orientación. El valor predeterminado es 8.
  • pyramid_sizes: número y tamaño de las capas de convolución que se aplicarán a las distintas subregiones. El valor predeterminado es [1,2,3,6]. Este argumento es específico del modelo Pyramid Scene Parsing Network.
  • Relaciones: lista de relaciones de aspecto que se van a utilizar para los cuadros de anclaje. En la detección de objetos, un cuadro de anclaje representa la ubicación, la forma y el tamaño ideales del objeto que se desea predecir. Por ejemplo, establecer este argumento en [1,0, 1,0], [1,0, 0,5] significa que la caja de anclaje es un cuadrado (1:1) o un rectángulo en el que el lado horizontal tiene la mitad del tamaño del lado vertical (1:0,5). El valor predeterminado de RetinaNet es [0,5, 1, 2]. El valor predeterminado para Single Shot Detector es [1.0, 1.0].
  • escalas: cantidad de niveles de escala que aumentará o se reducirá a escala cada celda. El valor predeterminado es [1, 0,8, 0,63].
  • use_net: especifica si el decodificador U-Net se utilizará para recuperar datos una vez que se haya completado la agrupación piramidal. El valor predeterminado es Verdadero. Este argumento es específico del modelo Pyramid Scene Parsing Network.
  • Zoom: el número de niveles de zoom de cada celda de cuadrícula aumentará o se reducirá a escala. Establecer este argumento en 1 significa que todas las celdas de cuadrícula permanecerán en el mismo tamaño o nivel de zoom. Un nivel de zoom de 2 significa que todas las celdas de cuadrícula serán dos veces más grandes (acercado en 100 por ciento). Proporcionar una lista de niveles de zoom significa que todas las celdas de cuadrícula se escalarán utilizando todos los números de la lista. El valor predeterminado es 1.
Value Table
Tasa de aprendizaje
(Opcional)

Velocidad con la que se sobrescribirá la información existente con información recién adquirida a lo largo del proceso de formación. Si no se especifica ningún valor, el índice de aprendizaje óptimo se extraerá de la curva de aprendizaje durante el proceso de entrenamiento.

Double
Modelo de base
(Opcional)

Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo. Este método se conoce como Aprendizaje de transferencia.

Además, se pueden especificar las redes neuronales convoluciales compatibles de modelos de imagen PyTorch (timm) utilizando timm como prefijo, por ejemplo, timm:resnet31 , timm:inception_v4 , timm:efficientnet_b3, etc.

  • DenseNet-121El modelo preconfigurado será una red densa entrenada en el dataset Imagenet que contiene más de 1 millón de imágenes y tiene 121 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DenseNet-161El modelo preconfigurado será una red densa entrenada en el dataset Imagenet que contiene más de 1 millón de imágenes y tiene 161 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DenseNet-169El modelo preconfigurado será una red densa entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 169 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DenseNet-201El modelo preconfigurado será una red densa entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 201 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • Mobilenet versión 2El modelo preconfigurado se entrenará en la base de datos de Imagenet, tiene 54 capas de profundidad y está pensado para la informática de dispositivos Edge, ya que usa menos memoria.
  • ResNet-18El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de millones de imágenes y tiene 18 capas de profundidad.
  • ResNet-34El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 34 capas de profundidad. Esta es la opción predeterminada.
  • ResNet-50El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 50 capas de profundidad.
  • ResNet-101El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 101 capas de profundidad.
  • ResNet-152El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 152 capas de profundidad.
  • VGG-11El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1.000 categorías de objetos y tiene de 11 capas de profundidad.
  • VGG-11 con normalización por lotesEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 11 capas.
  • VGG-13El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 13 capas de profundidad.
  • VGG-13 con normalización por lotesEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 13 capas.
  • VGG-16El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 16 capas de profundidad.
  • VGG-16 con normalización por lotesEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 16 capas.
  • VGG-19El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 19 capas de profundidad.
  • VGG-19 con normalización por lotesEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 19 capas.
  • Darknet-53El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 53 capas de profundidad.
  • Reid_v1El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de ImageNet utilizado para el rastreo de objetos.
  • Reid_v2El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de ImageNet utilizado para el rastreo de objetos.
  • ResNeXt-50El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet y tendrá 50 capas de profundidad. Se trata de una red neuronal homogénea, lo que reduce el número de hiperparámetros requeridos por las ResNet convencionales.
  • Wide ResNet-50El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet y tendrá 50 capas de profundidad. Tiene la misma arquitectura que ResNET, pero con más canales.
String
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
Validación %
(Opcional)

Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10.

Double
Detener cuando el modelo deja de mejorar
(Opcional)

Especifica si se implementará la parada anticipada.

  • Activado: se implementará la parada anticipada y el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar, independientemente del valor del parámetro Épocas máx. especificado. Esta es la opción predeterminada.
  • Desactivado: la parada anticipada del modelo no se implementará y el entrenamiento del modelo continuará hasta alcanzar el valor del parámetro Épocas máx.
Boolean
Inmovilizar modelo
(Opcional)

Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.

  • Activado: las capas de base se inmovilizarán y los pesos y sesgos predefinidos no se alterarán en el parámetro Modelo de base. Esta es la opción predeterminada.
  • Desactivado: las capas de base no se inmovilizarán y los pesos y sesos del parámetro Modelo de base se pueden modificar para ajustarse a las muestras de entrenamiento. Esto tarda más tiempo en procesarse, pero generalmente produce mejores resultados.

Boolean
Aumento de datos
(Opcional)

Especifica el tipo de aumento de datos que se utilizará.

El aumento de datos es una técnica para aumentar artificialmente el conjunto de entrenamiento mediante la creación de copias modificadas de un dataset utilizando los datos existentes.

  • PredeterminadoSe utilizarán los métodos y valores de aumento de datos predeterminados.Los métodos de aumento de datos predeterminados incluidos son crop, dihedral_affine, brightness, contrast y zoom. Estos valores predeterminados suelen funcionar bien para las imágenes de satélite.
  • NingunaNo se utilizará el aumento de datos.
  • PersonalizadaLos valores de aumento de datos se especificarán mediante el parámetro Parámetros de aumento.
  • ArchivoLas transformaciones Fastai para el aumento de datos de los dataset de entrenamiento y validación se especificarán utilizando el archivo transforms.json que se encuentra en la misma carpeta que los datos de entrenamiento.Para obtener más información sobre las distintas transformaciones, consulte la visión transforma en el sitio web de fastai.
String
Parámetros de aumento
(Opcional)

Especifica el valor de cada transformación en el parámetro de aumento.

  • rotate: la imagen se girará aleatoriamente (en grados) con una probabilidad (p). Si grados es un rango (a,b), se asignará uniformemente un valor de a a b. El valor predeterminado es 30.0; 0.5.
  • brightness: el brillo de la imagen se ajustará aleatoriamente en función del valor de cambio, con una probabilidad (p). Un cambio de 0 transformará la imagen en la más oscura, y un cambio de 1 transformará la imagen en la más clara. Un cambio de 0,5 no ajustará el brillo. Si el cambio es un rango (a,b), el aumento asignará uniformemente un valor de a a b. El valor predeterminado es (0,4,0,6); 1,0.
  • contrast: el contraste de la imagen se ajustará aleatoriamente en función del valor de escala con probabilidad (p). Una escala de 0 transformará la imagen a escala de grises, y una escala mayor que 1 transformará la imagen a supercontraste. Una escala de 1 no ajusta el contraste. Si la escala es un rango (a,b), el aumento asignará uniformemente un valor de a a b. El valor predeterminado es (0,75, 1,5); 1,0.
  • zoom: la imagen se ampliará aleatoriamente en función del valor de la escala. El valor del zoom tiene la forma scale(a,b); p. El valor predeterminado es (1.0, 1.2); 1.0 en el cual p es la probabilidad. Solamente una escala superior a 1,0 ampliará la imagen. Si escala es un rango (a,b), asignará uniformemente un valor de a a b.
  • crop: la imagen se recortará aleatoriamente. El valor del recorte está en la forma size;p;row_pct;col_pct en la cual p es la probabilidad. La posición viene dada por (col_pct, row_pct),, con col_pct y row_pct being normalizados entre 0 y 1. Si col_pct o row_pct es un rango (a,b), asignará uniformemente un valor de a a b. El valor predeterminado es chip_size;1.0; (0, 1); (0, 1) en el que 224 es el tamaño de chip por defecto predeterminado.

Value Table
Tamaño de chip
(Opcional)

El tamaño de la imagen para entrenar el modelo. Las imágenes se recortarán al tamaño de chip especificado. Si el tamaño de la imagen es inferior al valor del parámetro, se utilizará el tamaño de la imagen. El valor predeterminado es 224 píxeles.

Long
Cambiar tamaño a
(Opcional)

Cambia el tamaño de los chips de imagen. Una vez redimensionado el chip, se recortarán los bloques de píxeles del tamaño del chip y se utilizarán para el entrenamiento. Este parámetro solo se aplica a los datos de detección de objetos (PASCAL VOC), clasificación de objetos (teselas etiquetadas) y superresolución.

El valor de redimensionamiento suele ser la mitad del valor del tamaño del chip. Si este valor de cambio de tamaño es menor que el valor del tamaño del chip, el valor de cambio de tamaño se utiliza para crear los bloques de píxeles para el entrenamiento.

String
Esquema de inicialización de pesos
(Opcional)

Especifica el esquema en el que se inicializarán los pesos para la capa.

Para entrenar un modelo con datos multiespectrales, el modelo debe adaptarse a los distintos tipos de bandas disponibles. Esto se hace reinicializando la primera capa del modelo.

Este parámetro solamente es aplicable cuando se utilizan imágenes multiespectrales en el modelo.

  • AleatorioLos pesos aleatorios se inicializarán para las bandas no RGB, mientras que los pesos preentrenados se conservarán para las bandas RGB. Esta es la opción predeterminada.
  • Banda rojaLos pesos correspondientes a la banda roja de la capa del modelo preentrenado se clonarán para las bandas no RGB, mientras que los pesos preentrenados se conservarán para las bandas RGB.
  • Todos aleatoriosSe inicializarán pesos aleatorios tanto para las bandas RGB como para las bandas no RGB. Esta opción se aplica solamente a las imágenes multiespectrales.
String
Supervisar métrica
(Opcional)

Especifica la métrica que se va a supervisar durante el control y la detención anticipada.

  • Pérdida de validaciónSe supervisará la pérdida de validación. El modelo se detendrá cuando la pérdida de validación ya no cambie de forma apreciable. Esta es la opción predeterminada.
  • Precisión mediaEn cada umbral se supervisará la media ponderadade la precisión. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • PrecisiónSe supervisará la relación entre el número de predicciones correctas y el número total de predicciones. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • Puntuación F1Se supervisará la combinación de las puntuaciones de precisión y recuperación de un modelo. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • MIoUSe controlará la media entre la intersección sobre la unión (IoU) de los objetos segmentados sobre todas las imágenes del dataset de prueba. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • SubdividirEl rendimiento del modelo se supervisará mediante la métrica Dice. El modelo se detendrá cuando este valor no cambie de forma apreciable.El valor puede variar de 0 al 1. El valor 1 corresponde a una coincidencia perfecta de píxeles entre los datos de validación y los datos de entrenamiento.
  • PrecisiónSe supervisará la precisión, que mide la exactitud del modelo a la hora de clasificar una muestra como positiva. El modelo se detendrá cuando este valor no cambie de forma apreciable.La precisión es la relación entre el número de muestras positivas clasificadas correctamente y el número total de muestras clasificadas (correcta o incorrectamente).
  • RecuperarSe supervisará la recuperación, que mide la capacidad del modelo para detectar muestras positivas. El modelo se detendrá cuando este valor no cambie de forma apreciable.Cuanto mayor sea la recuperación, más muestras positivas se detectarán. El valor de recuperación es la relación entre el número de muestras positivas correctamente clasificadas como positivas y el número total de muestras positivas.
  • Corpus bleuSe supervisará la puntuación bleu del corpus. El modelo se detendrá cuando este valor no cambie de forma apreciable.Esta puntuación se utiliza para calcular la precisión de varias frases, por ejemplo, un párrafo o un documento.
  • Multietiqueta F-betaSe supervisará la media armónica ponderada de la precisión y la recuperación. El modelo se detendrá cuando este valor no cambie de forma apreciable.A menudo se denomina puntuación F-beta.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Modelo de salida

Archivo de modelo entrenado de salida.

File

TrainDeepLearningModel(in_folder, out_folder, {max_epochs}, {model_type}, {batch_size}, {arguments}, {learning_rate}, {backbone_model}, {pretrained_model}, {validation_percentage}, {stop_training}, {freeze}, {augmentation}, {augmentation_parameters}, {chip_size}, {resize_to}, {weight_init_scheme}, {monitor})
NombreExplicaciónTipo de datos
in_folder
[in_folder,...]

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.

Se admiten varias carpetas de entrada cuando se cumplen las siguientes condiciones:

  • El tipo de formato de metadatos debe ser teselas clasificadas, teselas etiquetadas, teselas multietiquetadas, clases de objetos visuales Pascal o máscaras RCNN.
  • Todos los datos de entrenamiento deben tener el mismo formato de metadatos.
  • Todos los datos de entrenamiento deben tener el mismo número de bandas.
  • Todos los datos de entrenamiento deben tener el mismo tamaño de tesela.

Folder
out_folder

La ubicación de la carpeta de salida donde se almacenará el modelo entrenado.

Folder
max_epochs
(Opcional)

Número máximo de épocas para las que se entrenará el modelo. Una época máxima de uno significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 20.

Long
model_type
(Opcional)

Especifica el tipo de modelo que se usará para entrenar el modelo de aprendizaje profundo.

  • SSDSe utilizará la arquitectura Single Shot Detector (SSD) para entrenar el modelo. SSD se utiliza para la detección de objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Pascal Visual Object Classes.
  • UNETSe utilizará la arquitectura U-Net para entrenar el modelo. U-Net se utiliza para la clasificación de píxeles.
  • FEATURE_CLASSIFIERSe utilizará la arquitectura Clasificador de entidades para entrenar el modelo. Feature Classifier se utiliza para la clasificación de objetos o imágenes.
  • PSPNETSe utilizará la arquitectura Red de análisis de escenas de pirámide (PSPNET) para entrenar el modelo. PSPNET se utiliza para la clasificación de píxeles.
  • RETINANETSe utilizará la arquitectura RetinaNet para entrenar el modelo. RetinaNet se utiliza para detectar objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Pascal Visual Object Classes.
  • MASKRCNNSe utilizará la arquitectura MaskRCNN para entrenar el modelo. MaskRCNN se utiliza para la detección de objetos. Este enfoque se utiliza para la segmentación de instancias, que es una delineación precisa de los objetos de una imagen. Este tipo de modelo se puede utilizar para detectar huellas de edificios. Utiliza el formato de metadatos MaskRCNN para los datos de entrenamiento como entrada. Los valores de clase de los datos de entrenamiento de entrada deben comenzar en 1. Este tipo de modelo solo se puede entrenar con una GPU habilitada para CUDA.
  • YOLOV3Se utilizará la arquitectura YOLOv3 para entrenar el modelo. YOLOv3 se utiliza para la detección de objetos.
  • DEEPLABSe utilizará la arquitectura DeepLabV3 para entrenar el modelo. DeepLab se utiliza para la clasificación de píxeles.
  • FASTERRCNNSe utilizará la arquitectura FasterRCNN para entrenar el modelo. FasterRCNN se utiliza para la detección de objetos.
  • BDCN_EDGEDETECTORPara entrenar el modelo se utilizará la arquitectura de red en cascada bidireccional (BDCN). Se utiliza BDCN Edge Detector para la clasificación de píxeles. Este enfoque es útil para mejorar la detección de los bordes de los objetos en diferentes escalas.
  • HED_EDGEDETECTORLa arquitectura de detección de bordes anidados de forma holística (HED) se utilizará para entrenar el modelo. Se utiliza HED Edge Detector para la clasificación de píxeles. Este enfoque resulta útil en la detección bordes y de límites de objetos.
  • MULTITASK_ROADEXTRACTORSe utilizará la arquitectura de extractor de carreteras de varias tareas para entrenar el modelo. Se utiliza Multi Task Road Extractor para la clasificación de píxeles. Este enfoque resulta útil para la extracción de redes de carreteras de imágenes de satélite.
  • CONNECTNETLa arquitectura ConnectNet se utilizará para entrenar el modelo. ConnectNet se utiliza para la clasificación de píxeles. Este enfoque resulta útil para la extracción de redes de carreteras de imágenes de satélite.
  • PIX2PIXSe utilizará la arquitectura Pix2Pix para entrenar el modelo. Pix2Pix se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • CYCLEGANSe utilizará la arquitectura CycleGAN para entrenar el modelo. CycleGAN se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Este enfoque es único porque las imágenes que se van a entrenar no tienen que superponerse. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos CycleGAN.
  • SUPERRESOLUTIONSe utilizará la arquitectura Superresolución para entrenar el modelo. La superresolución se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que aumenta la resolución y mejora la calidad de las imágenes. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • CHANGEDETECTORSe utilizará la arquitectura Detector de cambios para entrenar el modelo. El detector de cambios se utiliza para la clasificación de píxeles. Este enfoque crea un objeto de modelo que utiliza dos imágenes espaciotemporales para crear un ráster clasificado del cambio. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Teselas clasificadas.
  • IMAGECAPTIONERSe utilizará la arquitectura Subtitulador de imágenes para entrenar el modelo. El subtitulador de imágenes se utiliza para la traducción de imagen a texto. Este enfoque crea un modelo que genera subtítulos de texto para una imagen.
  • SIAMMASKSe utilizará la arquitectura Siam Mask para entrenar el modelo. Siam Mask se utiliza para detectar objetos en vídeos. El modelo se entrena utilizando fotogramas del vídeo y detecta las clases y los cuadros de delimitación de los objetos en cada fotograma. Los datos de entrenamiento de entrada de este tipo de modelo utilizan el formato de metadatos MaskRCNN.
  • MMDETECTIONSe utilizará la arquitectura MMDetection para entrenar el modelo. MMDetection se utiliza para la detección de objetos. Los formatos de metadatos admitidos son rectángulos Pascal Visual Object Class y rectángulos KITTI.
  • MMSEGMENTATIONSe utilizará la arquitectura MMSegmentation para entrenar el modelo. Se utiliza MMSegmentation para la clasificación de píxeles. El formato de metadatos admitido es Teselas clasificadas.
  • DEEPSORTSe utilizará la arquitectura Orden profundo para entrenar el modelo. El orden profundo se utiliza para detectar objetos en vídeos. El modelo se entrena utilizando fotogramas del vídeo y detecta las clases y los cuadros de delimitación de los objetos en cada fotograma. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Imagenet. Mientras que Siam Mask es útil para rastrear un objeto, Deep Sort es útil para formar un modelo para rastrear múltiples objetos.
  • PIX2PIXHDSe utilizará la arquitectura Pix2PixHD para entrenar el modelo. Pix2PixHD se utiliza para la traducción de imagen a imagen. Este enfoque crea un objeto de modelo que genera imágenes de un tipo a otro. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos Exportar teselas.
  • MAXDEEPLABSe utilizará la arquitectura MaX-DeepLab para entrenar el modelo. Se utiliza MaX-DeepLab para la segmentación panóptica. Este enfoque crea un objeto de modelo que genera imágenes y entidades. Los datos de entrenamiento de entrada para este tipo de modelo utilizan el formato de metadatos de segmentación panóptica.
  • DETREGSe utilizará la arquitectura DETReg para entrenar el modelo. DETReg se utiliza para la detección de objetos. Los datos de entrenamiento de entrada para este tipo de modelo utilizan Pascal Visual Object Classes. Este tipo de modelo hace un uso intensivo de la GPU; requiere una GPU dedicada con al menos 16 GB de memoria para funcionar correctamente.
  • PSETAELa arquitectura de codificadores de conjuntos de píxeles y autoatención temporal (PSETAE) se utilizará para entrenar el modelo de clasificación de series temporales. PSETAE se utiliza para la clasificación de píxeles. Los datos preliminares utilizados para este método son datos multidimensionales.
String
batch_size
(Opcional)

Número de muestras de entrenamiento que se procesarán para el entrenamiento a la vez.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria.

Cuando no se dispone de suficiente memoria en la GPU para el tamaño de lote establecido, la herramienta intenta estimar y utilizar un tamaño de lote óptimo. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Long
arguments
[arguments,...]
(Opcional)

La información del parámetro model_type se usará para configurar los valores predeterminados de este parámetro. Estos argumentos varían dependiendo de la arquitectura del modelo. A continuación se describen los argumentos de modelo admitidos para los modelos entrenados en ArcGIS. Los modelos preentrenados de ArcGIS y los modelos de aprendizaje profundo personalizados pueden tener argumentos adicionales que son compatibles con las herramientas.

Para obtener más información sobre los argumentos que están disponibles para cada tipo de modelo, consulte Argumentos de aprendizaje profundo.

  • attention_type: especifica el tipo de módulo. Las opciones del módulo son PAM (Módulo de Atención Piramidal) o BAM (Módulo de Atención Básica). El valor predeterminado es PAM.
  • chip_size: tamaño de la imagen utilizada para entrenar el modelo. Todos los tipos de modelo admiten el argumento chip_size, que es el tamaño de las teselas de las muestras de entrenamiento. Las imágenes se recortan según el tamaño de chip especificado. Si el tamaño de la imagen es menor que el tamaño de chip, se utilizará el tamaño de imagen. El tamaño predeterminado es 224 píxeles.
  • CLASS_BALANCING: especifica si la pérdida inversa de la entropía cruzada se equilibrará con la frecuencia de píxeles por clase. El valor predeterminado es False.
  • decode_params: diccionario que controla cómo se ejecutará el subtitulador de imágenes. El valor predeterminado es {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. El argumento decode_params se compone de los siguientes parámetros:
    • embed_size: tamaño de la incrustación. El valor predeterminado es 100 capas en la red neuronal.
    • hidden_size: tamaño de la capa oculta. El valor predeterminado es 100 capas en la red neuronal.
    • attention_size: tamaño de la capa de atención intermedia. El valor predeterminado es 100 capas en la red neuronal.
    • teacher_forcing: la probabilidad de que el profesor sea forzoso. El forzamiento de los profesores es una estrategia para el entrenamiento de redes neuronales recurrentes. Utiliza la salida del modelo de un periodo de tiempo anterior como entrada, en lugar de la salida anterior, durante la retropropagación. El rango válido es 0,0 a 1,0. El valor predeterminado es 1.
    • dropout: probabilidad de abandono. El rango válido es 0,0 a 1,0. El valor predeterminado es 0,1.
    • pretrained_emb: especifica si se utilizará la incrustación de texto preentrenada. Si es True, utilizará la incrustación de texto rápida. Si es False, no utilizará la incrustación de texto preentrenada. El valor predeterminado es False.
  • FOCAL_LOSS: especifica si se utilizará pérdida focal. El valor predeterminado es False.
  • gaussian_thresh: el umbral gaussiano, que establece el ancho de carretera requerido. El rango válido es 0,0 a 1,0. El valor predeterminado es 0,76.
  • grids: número de cuadrículas en las que se dividirá la imagen para el procesamiento. Por ejemplo, establecer este argumento en 4 significa que la imagen se dividirá en 4 x 4 o 16 celdas de cuadrícula. Si no se especifica ningún valor, el valor óptimo de la cuadrícula se calculará en función de las imágenes de entrada.
  • IGNORE_CLASSES: la lista de valores de clase en los que el modelo no incurrirá en pérdidas.
  • MIXUP: especifica si se utilizará el aumento de mezcla y la pérdida de mezcla. El valor predeterminado es False.
  • model: modelo de base utilizado para entrenar el modelo. Las opciones disponibles dependen del valor del parámetro model_type. El valor predeterminado para MMDetection es cascade_rcnn. El valor predeterminado para MMSegmentation es deeplabv3.
  • model_weight: especifica si se utilizarán ponderaciones del modelo preentrenado. El valor predeterminado es False. El valor también puede ser una ruta a un archivo de configuración que contenga los pesos de un modelo del repositorio de MMDetection o del repositorio de MMSegmentation.
  • monitor: especifica la métrica a monitorizar durante la verificación y la detención temprana. Las métricas disponibles dependen del valor del parámetro model_type. El valor predeterminado es valid_loss.
  • mtl_model: especifica el tipo de arquitectura que se utilizará para crear el modelo. Las opciones son linknet o hourglass para arquitecturas neuronales basadas en linknet o reloj de arena, respectivamente. El valor predeterminado es hourglass.
  • orient_bin_size: el tamaño de bin para los ángulos de orientación. El valor predeterminado es 20.
  • orient_theta: la anchura de la máscara de orientación. El valor predeterminado es 8.
  • PYRAMID_SIZES: número y tamaño de las capas de convolución que se aplicarán a las distintas subregiones. El valor predeterminado es [1,2,3,6]. Este argumento es específico del modelo PSPNET.
  • ratios: lista de relaciones de aspecto que se van a utilizar para los cuadros de anclaje. En la detección de objetos, un cuadro de anclaje representa la ubicación, la forma y el tamaño ideales del objeto que se desea predecir. Por ejemplo, establecer este argumento en [1,0, 1,0], [1,0, 0,5] significa que la caja de anclaje es un cuadrado (1:1) o un rectángulo en el que el lado horizontal tiene la mitad del tamaño del lado vertical (1:0,5). El valor predeterminado de RETINANET es [0,5, 1, 2]. El valor predeterminado de SSD es [1.0, 1.0].
  • SCALES: cantidad de niveles de escala que aumentará o se reducirá a escala cada celda. El valor predeterminado es [1, 0,8, 0,63].
  • USE_UNET: especifica si se usará el decodificador U-Net para recuperar datos una vez que se complete la agrupación piramidal. El valor predeterminado es True. Este argumento es específico del modelo PSPNET.
  • zooms: el número de niveles de zoom de cada celda de cuadrícula aumentará o se reducirá a escala. Establecer este argumento en 1 significa que todas las celdas de cuadrícula permanecerán en el mismo tamaño o nivel de zoom. Un nivel de zoom de 2 significa que todas las celdas de cuadrícula serán dos veces más grandes (acercado en 100 por ciento). Proporcionar una lista de niveles de zoom significa que todas las celdas de cuadrícula se escalarán utilizando todos los números de la lista. El valor predeterminado es 1.
Value Table
learning_rate
(Opcional)

Velocidad con la que se sobrescribirá la información existente con información recién adquirida a lo largo del proceso de formación. Si no se especifica ningún valor, el índice de aprendizaje óptimo se extraerá de la curva de aprendizaje durante el proceso de entrenamiento.

Double
backbone_model
(Opcional)

Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo. Este método se conoce como Aprendizaje de transferencia.

  • DENSENET121El modelo preconfigurado será una red densa entrenada en el dataset Imagenet que contiene más de 1 millón de imágenes y tiene 121 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DENSENET161El modelo preconfigurado será una red densa entrenada en el dataset Imagenet que contiene más de 1 millón de imágenes y tiene 161 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DENSENET169El modelo preconfigurado será una red densa entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 169 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • DENSENET201El modelo preconfigurado será una red densa entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 201 capas de profundidad. A diferencia de ResNET, que combina las capas mediante la suma, DenseNet combina las capas mediante la concatenación.
  • MOBILENET_V2El modelo preconfigurado se entrenará en la base de datos de Imagenet, tiene 54 capas de profundidad y está pensado para la informática de dispositivos Edge, ya que usa menos memoria.
  • RESNET18El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de millones de imágenes y tiene 18 capas de profundidad.
  • RESNET34El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 34 capas de profundidad. Esta es la opción predeterminada.
  • RESNET50El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 50 capas de profundidad.
  • RESNET101El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 101 capas de profundidad.
  • RESNET152El modelo preconfigurado será una red residual entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 152 capas de profundidad.
  • VGG11El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1.000 categorías de objetos y tiene de 11 capas de profundidad.
  • VGG11_BNEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 11 capas.
  • VGG13El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 13 capas de profundidad.
  • VGG13_BNEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 13 capas.
  • VGG16El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 16 capas de profundidad.
  • VGG16_BNEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 16 capas.
  • VGG19El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes para clasificar imágenes en 1000 categorías de objetos y tiene de 19 capas de profundidad.
  • VGG19_BNEl modelo preconfigurado se basará en la red VGG, pero con normalización por lotes, lo que significa que cada capa de la red estará normalizada. Está entrenado en el dataset de Imagenet y tiene 19 capas.
  • DARKNET53El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet que contiene más de 1 millón de imágenes y tiene 53 capas de profundidad.
  • REID_V1El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de ImageNet utilizado para el rastreo de objetos.
  • REID_V2El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de ImageNet utilizado para el rastreo de objetos.
  • RESNEXT50El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet y tendrá 50 capas de profundidad. Se trata de una red neuronal homogénea, lo que reduce el número de hiperparámetros requeridos por las ResNet convencionales.
  • WIDE_RESNET50El modelo preconfigurado será una red neuronal convolucional entrenada en el dataset de Imagenet y tendrá 50 capas de profundidad. Tiene la misma arquitectura que ResNET, pero con más canales.

Además, se pueden especificar las redes neuronales convoluciales compatibles de modelos de imagen PyTorch (timm) utilizando timm como prefijo, por ejemplo, timm:resnet31 , timm:inception_v4 , timm:efficientnet_b3, etc.

String
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
validation_percentage
(Opcional)

Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10.

Double
stop_training
(Opcional)

Especifica si se implementará la parada anticipada.

  • STOP_TRAININGSe implementará la parada anticipada y el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar, independientemente del valor del parámetro max_epochs especificado. Esta es la opción predeterminada.
  • CONTINUE_TRAININGLa parada anticipada del modelo no se implementará y el entrenamiento del modelo continuará hasta alcanzar el valor del parámetro max_epochs.
Boolean
freeze
(Opcional)

Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.

  • FREEZE_MODELLas capas de base se inmovilizarán y los pesos y sesgos predefinidos no se alterarán en el parámetro backbone_model. Esta es la opción predeterminada.
  • UNFREEZE_MODELLas capas de base no se inmovilizarán y los pesos y sesos del parámetro backbone_model se pueden modificar para ajustarse a las muestras de entrenamiento. Esto tarda más tiempo en procesarse, pero generalmente produce mejores resultados.
Boolean
augmentation
(Opcional)

Especifica el tipo de aumento de datos que se utilizará.

El aumento de datos es una técnica para aumentar artificialmente el conjunto de entrenamiento mediante la creación de copias modificadas de un dataset utilizando los datos existentes.

  • DEFAULTSe utilizarán los métodos y valores de aumento de datos predeterminados.Los métodos de aumento de datos predeterminados incluidos son crop, dihedral_affine, brightness, contrast y zoom. Estos valores predeterminados suelen funcionar bien para las imágenes de satélite.
  • NONENo se utilizará el aumento de datos.
  • CUSTOMLos valores de aumento de datos se especificarán mediante el parámetro augmentation_parameters.
  • FILELas transformaciones Fastai para el aumento de datos de los dataset de entrenamiento y validación se especificarán utilizando el archivo transforms.json que se encuentra en la misma carpeta que los datos de entrenamiento.Para obtener más información sobre las distintas transformaciones, consulte la visión transforma en el sitio web de fastai.
String
augmentation_parameters
[augmentation_parameters,...]
(Opcional)

Especifica el valor de cada transformación en el parámetro de aumento.

  • rotate: la imagen se girará aleatoriamente (en grados) con una probabilidad (p). Si grados es un rango (a,b), se asignará uniformemente un valor de a a b. El valor predeterminado es 30.0; 0.5.
  • brightness: el brillo de la imagen se ajustará aleatoriamente en función del valor de cambio, con una probabilidad (p). Un cambio de 0 transformará la imagen en la más oscura, y un cambio de 1 transformará la imagen en la más clara. Un cambio de 0,5 no ajustará el brillo. Si el cambio es un rango (a,b), el aumento asignará uniformemente un valor de a a b. El valor predeterminado es (0,4,0,6); 1,0.
  • contrast: el contraste de la imagen se ajustará aleatoriamente en función del valor de escala con probabilidad (p). Una escala de 0 transformará la imagen a escala de grises, y una escala mayor que 1 transformará la imagen a supercontraste. Una escala de 1 no ajusta el contraste. Si la escala es un rango (a,b), el aumento asignará uniformemente un valor de a a b. El valor predeterminado es (0,75, 1,5); 1,0.
  • zoom: la imagen se ampliará aleatoriamente en función del valor de la escala. El valor del zoom tiene la forma scale(a,b); p. El valor predeterminado es (1.0, 1.2); 1.0 en el cual p es la probabilidad. Solamente una escala superior a 1,0 ampliará la imagen. Si escala es un rango (a,b), asignará uniformemente un valor de a a b.
  • crop: la imagen se recortará aleatoriamente. El valor del recorte está en la forma size;p;row_pct;col_pct en la cual p es la probabilidad. La posición viene dada por (col_pct, row_pct),, con col_pct y row_pct being normalizados entre 0 y 1. Si col_pct o row_pct es un rango (a,b), asignará uniformemente un valor de a a b. El valor predeterminado es chip_size;1.0; (0, 1); (0, 1) en el que 224 es el tamaño de chip por defecto predeterminado.

Value Table
chip_size
(Opcional)

El tamaño de la imagen para entrenar el modelo. Las imágenes se recortarán al tamaño de chip especificado. Si el tamaño de la imagen es inferior al valor del parámetro, se utilizará el tamaño de la imagen. El valor predeterminado es 224 píxeles.

Long
resize_to
(Opcional)

Cambia el tamaño de los chips de imagen. Una vez redimensionado el chip, se recortarán los bloques de píxeles del tamaño del chip y se utilizarán para el entrenamiento. Este parámetro solo se aplica a los datos de detección de objetos (PASCAL VOC), clasificación de objetos (teselas etiquetadas) y superresolución.

El valor de redimensionamiento suele ser la mitad del valor del tamaño del chip. Si este valor de cambio de tamaño es menor que el valor del tamaño del chip, el valor de cambio de tamaño se utiliza para crear los bloques de píxeles para el entrenamiento.

String
weight_init_scheme
(Opcional)

Especifica el esquema en el que se inicializarán los pesos para la capa.

Para entrenar un modelo con datos multiespectrales, el modelo debe adaptarse a los distintos tipos de bandas disponibles. Esto se hace reinicializando la primera capa del modelo.

  • RANDOMLos pesos aleatorios se inicializarán para las bandas no RGB, mientras que los pesos preentrenados se conservarán para las bandas RGB. Esta es la opción predeterminada.
  • RED_BANDLos pesos correspondientes a la banda roja de la capa del modelo preentrenado se clonarán para las bandas no RGB, mientras que los pesos preentrenados se conservarán para las bandas RGB.
  • ALL_RANDOMSe inicializarán pesos aleatorios tanto para las bandas RGB como para las bandas no RGB. Esta opción se aplica solamente a las imágenes multiespectrales.

Este parámetro solamente es aplicable cuando se utilizan imágenes multiespectrales en el modelo.

String
monitor
(Opcional)

Especifica la métrica que se va a supervisar durante el control y la detención anticipada.

  • VALID_LOSSSe supervisará la pérdida de validación. El modelo se detendrá cuando la pérdida de validación ya no cambie de forma apreciable. Esta es la opción predeterminada.
  • AVERAGE_PRECISIONEn cada umbral se supervisará la media ponderadade la precisión. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • ACCURACYSe supervisará la relación entre el número de predicciones correctas y el número total de predicciones. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • F1_SCORESe supervisará la combinación de las puntuaciones de precisión y recuperación de un modelo. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • MIOUSe controlará la media entre la intersección sobre la unión (IoU) de los objetos segmentados sobre todas las imágenes del dataset de prueba. El modelo se detendrá cuando este valor no cambie de forma apreciable.
  • DICEEl rendimiento del modelo se supervisará mediante la métrica Dice. El modelo se detendrá cuando este valor no cambie de forma apreciable.El valor puede variar de 0 al 1. El valor 1 corresponde a una coincidencia perfecta de píxeles entre los datos de validación y los datos de entrenamiento.
  • PRECISIONSe supervisará la precisión, que mide la exactitud del modelo a la hora de clasificar una muestra como positiva. El modelo se detendrá cuando este valor no cambie de forma apreciable.La precisión es la relación entre el número de muestras positivas clasificadas correctamente y el número total de muestras clasificadas (correcta o incorrectamente).
  • RECALLSe supervisará la recuperación, que mide la capacidad del modelo para detectar muestras positivas. El modelo se detendrá cuando este valor no cambie de forma apreciable.Cuanto mayor sea la recuperación, más muestras positivas se detectarán. El valor de recuperación es la relación entre el número de muestras positivas correctamente clasificadas como positivas y el número total de muestras positivas.
  • CORPUS_BLEUSe supervisará la puntuación bleu del corpus. El modelo se detendrá cuando este valor no cambie de forma apreciable.Esta puntuación se utiliza para calcular la precisión de varias frases, por ejemplo, un párrafo o un documento.
  • MULTI_LABEL_FBETASe supervisará la media armónica ponderada de la precisión y la recuperación. El modelo se detendrá cuando este valor no cambie de forma apreciable.A menudo se denomina puntuación F-beta.
String

Salida derivada

NombreExplicaciónTipo de datos
out_model_file

Archivo de modelo entrenado de salida.

File

Muestra de código

Ejemplo 1 de TrainDeepLearningModel (ventana de Python)

En este ejemplo se entrena un modelo de clasificación de árboles utilizando el enfoque U-Net.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Execute 
TrainDeepLearningModel(r"C:\DeepLearning\TrainingData\Roads_FC", 
     r"C:\DeepLearning\Models\Fire", 40, "UNET", 16, "# #", None, 
     "RESNET34", None, 10, "STOP_TRAINING", "FREEZE_MODEL")
Ejemplo 2 de TrainDeepLearningModel (script independiente)

En este ejemplo se entrena un modelo de detección de objetos utilizando el enfoque SSD.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
#Define input parameters
in_folder = "C:\\DeepLearning\\TrainingData\\Cars" 
out_folder = "C:\\Models\\Cars"
max_epochs = 100
model_type = "SSD"
batch_size = 2
arg = "grids '[4, 2, 1]';zooms '[0.7, 1.0, 1.3]';ratios '[[1, 1], [1, 0.5], [0.5, 1]]'"
learning_rate = 0.003
backbone_model = "RESNET34" 
pretrained_model = "C:\\Models\\Pretrained\\vehicles.emd"
validation_percent = 10
stop_training = "STOP_TRAINING"
freeze = "FREEZE_MODEL"


# Execute
TrainDeepLearningModel(in_folder, out_folder, max_epochs, model_type, 
     batch_size, arg, learning_rate, backbone_model, pretrained_model, 
     validation_percent, stop_training, freeze)

Información de licenciamiento

  • Basic: Requiere Image Analyst
  • Standard: Requiere Image Analyst
  • Advanced: Requiere Image Analyst

Temas relacionados