Entrenar modelo de clasificación de nube de puntos (Herramientas de 3D Analyst)
Resumen
Entrena un modelo de aprendizaje profundo para la clasificación de nubes de puntos.
Más información sobre cómo entrenar un modelo de clasificación de nube de puntos
Uso
Esta herramienta requiere la instalación de Deep Learning Essentials, que proporciona múltiples soluciones de redes neuronales que incluyen arquitecturas neuronales para clasificar nubes de puntos.
Para configurar su equipo para usar marcos de aprendizaje profundo en ArcGIS Pro, consulte Instalar marcos de aprendizaje profundo para ArcGIS.
El modelo de clasificación de nubes puntos se puede entrenar con una tarjeta gráfica NVIDIA compatible con CUDA, o bien con la CPU. Usar la GPU suele ser más rápido que usar la CPU. Utilice la CPU solo si no hay ninguna GPU disponible. Al utilizar la CPU para entrenar, empiece utilizando la arquitectura RandLA-Net, ya que consume menos memoria que PointCNN. También puede experimentar utilizando la muestra de entrenamiento más pequeña posible para estimar el tiempo que se tardará en procesar los datos antes del entrenamiento con el dataset de entrenamiento completo.
Al utilizar la GPU para entrenar un modelo en un equipo con varias tarjetas gráficas, la herramienta seleccionará la tarjeta gráfica más rápida del equipo. También puede especificar la GPU con la configuración del entorno Id. de GPU. Si hay varias tarjetas gráficas en el equipo, puede maximizar el rendimiento del entrenamiento al dedicar la tarjeta gráfica con los mayores recursos de cálculo para el entrenamiento y la que tiene menos recursos para la visualización. Si la GPU seleccionada también se utiliza para la visualización, el sistema operativo reduce su memoria disponible y cualquier aplicación que utilice la pantalla durante el proceso de entrenamiento.
Usar un modelo preentrenado es ventajoso, especialmente cuando se enfrentan limitaciones de datos, tiempo o recursos computacionales. Los modelos preentrenados reducen la necesidad de un entrenamiento exhaustivo y ofrecen un punto de partida fiable que puede acelerar la creación de un modelo útil. Para aprovechar el modelo preentrenado, los nuevos datos de entrenamiento deben ser compatibles con el modelo preentrenado. Asegúrese de que los nuevos datos de entrenamiento tengan los mismos atributos y códigos de clase que los datos de entrenamiento que se utilizaron para crear el modelo preentrenado. Si los códigos de clase de los datos de entrenamiento no coinciden con las clases en el modelo preentrenado, las clases de los datos de entrenamiento se deben reasignar en consecuencia.
Cuando la herramienta se está ejecutando, su mensaje de progreso devuelve las siguientes estadísticas sobre los resultados de entrenamiento que se lograron en cada época:
Epoch—El número de época con el que está asociado el resultado
Training Loss—El resultado de la función de pérdida de entropía promediada para los datos de entrenamiento
Validation Loss—El resultado de la función de pérdida de entropía que se determinó al aplicar el modelo entrenado en la época a los datos de validación
Accuracy—La relación de los puntos de los datos de validación clasificados correctamente por el modelo entrenado en la época (verdaderos positivos) y todos los puntos de los datos de validación
Precision—El promedio de macro de la precisión para todos los códigos de clase
Recall—El promedio de macro de la recuperación para todos los códigos de clase
F1 Score—El valor medio armónico del promedio de macro de la precisión y los valores de recuperación de todos los códigos de clase
Se considera que un modelo que alcanza una pérdida de entrenamiento baja, pero una pérdida de validación elevada, se ajusta en exceso a los datos de entrenamiento, por lo que detecta patrones a partir de artefactos en los datos de entrenamiento y provoca que el modelo no funcione bien con los datos de validación. Se considera que un modelo que alcanza una gran pérdida de entrenamiento y una gran pérdida de validación se ajusta de forma insuficiente a los datos de entrenamiento, por lo que no se aprende efectivamente ningún patrón para producir un modelo utilizable.
Más información sobre la evaluación de los resultados de entrenamiento de nube de puntos
Se crea una carpeta para almacenar los modelos de punto de control, que son modelos que se crean al final de cada época. El nombre de esta carpeta es el mismo que el del modelo con el sufijo
.checkpointsy se almacena en el valor del parámetro Ubicación de modelo de salida. Una vez finalizado el entrenamiento, se crea una tabla CSV con un nombre que empieza con el valor del parámetro Nombre de modelo de salida y termina con_stats.csven la carpeta de punto de control. Esta tabla incluye los siguientes campos relacionados con los resultados obtenidos para cada código de clase y época:Epoch—El número de época asociado a los resultados de la fila. Este valor corresponde al modelo creado en el directorio de modelos de punto de control. Los resultados se obtienen aplicando el modelo entrenado en la época a los datos de validación.Class_Code—El código de clase cuyos resultados se notifican.Precision—La relación entre el número de puntos que se clasificaron correctamente (positivos verdaderos) y todos los puntos clasificados (positivos verdaderos y falsos positivos).Recall—La relación entre el número de puntos clasificados correctamente (positivos verdaderos) y todos los puntos que se deberían haber clasificado con este valor (positivos verdaderos y falsos negativos).F1_Score—El valor medio armónico de la precisión y el valor de recuperación.
La memoria dedicada utilizada durante el entrenamiento es la suma de la memoria asignada por el marco de aprendizaje profundo y el tamaño de los datos procesados en cada lote de una iteración en una época determinada. El tamaño de los datos de cada lote depende del número de atributos de punto adicionales especificados en el parámetro Selección de atributos, del número total de puntos de un bloque determinado y del número de bloques que se procesan en cada lote, tal y como se especifica en el parámetro Tamaño de lote. El número máximo de puntos por bloque se determina cuando se exportan los datos de entrenamiento y se debe dar por hecho este valor a la hora de estimar la posible huella de memoria de la operación de entrenamiento.
La opción Altura relativa del parámetro Selección de atributos es un atributo que identifica la altura de un punto a partir de una superficie de referencia, como un modelo de elevación de suelo desnudo. El uso de este atributo puede mejorar potencialmente la capacidad del modelo para aprender relaciones direccionales durante el proceso de entrenamiento.
Parámetros
| Etiqueta | Explicación | Tipo de datos |
|---|---|---|
|
Datos de entrenamiento de entrada |
Los datos de entrenamiento de la nube de puntos (archivo |
File |
|
Ubicación de modelo de salida |
Una carpeta existente que almacenará el nuevo directorio que contiene el modelo de aprendizaje profundo. |
Folder |
|
Nombre de modelo de salida |
Nombre del archivo de definición del modelo de salida de Esri ( |
String |
|
Modelo preentrenado (Opcional) |
El modelo preentrenado que se perfeccionará. Si se proporciona un modelo preentrenado, los datos de entrenamiento de entrada deben tener los mismos atributos, códigos de clase y número máximo de puntos utilizados por los datos de entrenamiento que generaron este modelo. |
File |
|
Selección de atributos (Opcional) |
Especifica los atributos de punto que se utilizarán para entrenar el modelo. Solo estarán disponibles los atributos que estén presentes en los datos de entrenamiento de la nube de puntos. No se incluyen atributos adicionales de forma predeterminada.
|
String |
|
Puntos mínimos por bloque (Opcional) |
Número mínimo de puntos que deben estar presentes en un bloque determinado para que se pueda utilizar al entrenar el modelo. El valor predeterminado es 0. |
Long |
|
Reasignación de clase (Opcional) |
Define cómo se asignarán los valores de código de clase a valores nuevos antes de entrenar el modelo de aprendizaje profundo. Columnas de la tabla de valores:
|
Value Table |
|
Códigos de clase de interés (Opcional) |
Los códigos de clase que se utilizarán para filtrar los bloqueos de los datos de entrenamiento. Cuando se especifican códigos de clase de interés, todos los demás códigos de clase se reasignan al código de clase de fondo. |
Long |
|
Código de clase de fondo (Opcional) |
El valor del código de clase que se utilizará para todos los demás códigos de clase cuando se hayan especificado códigos de clase de interés. |
Long |
|
Descripción de la clase (Opcional) |
Las descripciones de lo que representa cada código de clase en los datos de entrenamiento. Columnas de la tabla de valores:
|
Value Table |
|
Criterios de selección de modelo (Opcional) |
Especifica la base estadística que se utilizará para determinar el modelo final.
|
String |
|
Número máximo de épocas (Opcional) |
Número de veces que cada bloque de datos se transmitirá hacia adelante y hacia atrás a través de la red neuronal. El valor predeterminado es 25. |
Long |
|
Iteraciones por época (%) (Opcional) |
Porcentaje de datos que se procesarán en cada época de entrenamiento. El valor predeterminado es 100. |
Double |
|
Tasa de aprendizaje (Opcional) |
La velocidad a la que la información existente se sobrescribirá con información nueva. Si no se proporciona ningún valor, la tasa de aprendizaje óptima se extraerá de la curva de aprendizaje durante el proceso de entrenamiento. Esta es la opción predeterminada. |
Double |
|
Tamaño de lote (Opcional) |
Número de bloques de datos de entrenamiento que se procesarán en un momento dado. El valor predeterminado es 2. |
Long |
|
Detener el entrenamiento cuando el modelo ya no mejore (Opcional) |
Especifica si el entrenamiento del modelo se detiene cuando la métrica especificada en el parámetro Criterios de selección del modelo no registre ninguna mejora después de cinco épocas consecutivas.
|
Boolean |
|
Estrategia de tasa de aprendizaje (Opcional) |
Especifica cómo se modificará la tasa de aprendizaje durante el entrenamiento.
|
String |
|
Arquitectura de modelo (Opcional) |
Especifica la arquitectura de red neuronal que se utilizará para entrenar el modelo. Cuando se especifica un modelo preentrenado, la arquitectura utilizada para crear el modelo preentrenado se configurará automáticamente.
|
String |
|
Función de pérdida (Opcional) |
Especifica la función de pérdida que se utilizará durante el entrenamiento.
|
String |
Salida derivada
| Etiqueta | Explicación | Tipo de datos |
|---|---|---|
|
Modelo de salida |
Modelo resultante generado por esta herramienta. |
File |
|
Estadísticas de modelo de salida |
El archivo |
Text File |
|
Estadísticas de época de salida |
El archivo |
Text File |
Entornos
Tipo de procesador, Id. de GPU
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Avanzado: Requiere 3D Analyst