ArcGIS Image Server ofrece un conjunto de herramientas de aprendizaje profundo con flujos de trabajo integrales para clasificar y detectar objetos en imágenes. Dichas herramientas permiten generar datasets de muestra de entrenamiento y exportarlos a un marco de aprendizaje profundo para desarrollar un modelo de aprendizaje profundo. Después, podrá llevar a cabo flujos de trabajo de inferencia de datos, como la clasificación de imágenes y la detección de objetos.
Para sacar partido al procesamiento de GPU en un sitio del servidor de análisis de ráster de varios equipos, es necesario que haya una GPU disponible en cada nodo de servidor del sitio. No se requiere ninguna tarjeta de GPU para ejecutar las herramientas de aprendizaje profundo en su implementación de análisis de ráster de ArcGIS Image Server. Si el equipo servidor de análisis de ráster no cuenta con ninguna tarjeta de GPU, las herramientas se pueden ejecutar en la CPU.
Nota:
En 10.7, el análisis de ráster no puede usar varias GPU al mismo tiempo en un solo equipo. Si ejecuta un flujo de trabajo de análisis de ráster de aprendizaje profundo en un equipo con varias GPU, tan solo se usará una GPU.
El análisis de ráster de ArcGIS Image Server puede usar los módulos de Python de TensorFlow, PyTorch, CNTK y Keras con las GPU.
Agregar compatibilidad para el aprendizaje profundo a una implementación de análisis de ráster
Después de configurar su implementación de análisis de ráster, siga los pasos que aparecen a continuación para instalar los recursos de Python de aprendizaje profundo. Si tiene un sitio de ArcGIS Image Server con varios nodos, repita estos pasos en cada nodo del servidor.
Después de configurar su implementación de análisis de ráster, siga los pasos que aparecen a continuación para instalar los recursos de Python de aprendizaje profundo. Si tiene un sitio de ArcGIS Image Server con varios nodos, repita estos pasos en cada nodo del servidor.
La cuenta de SO que use para estos pasos debe ser la misma que la cuenta que instaló ArcGIS Image Server.
- Si va a usar las GPU para su flujo de trabajo de análisis de ráster de aprendizaje profundo, instale los controladores de NVIDIA adecuados.
- Instale CUDA Toolkit en el equipo. Consulte el sitio web de NVIDIA CUDA para obtener más información.
- Instale la biblioteca de CUDA Deep Neural Network (cuDNN). Consulte el sitio web de NVIDIA cuDNN para obtener más información.
- Ejecute estos comandos en el entorno de Python 3.6 predeterminado que proporciona su configuración de ArcGIS Server. Esta instalación de Python está en C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python de forma predeterminada.
- Instale cada módulo Python que desee utilizar en sus flujos de trabajo de análisis de ráster de aprendizaje profundo. En el subpaso b siguiente, especifique un nombre para el entorno. El nombre del módulo indica si está utilizando un módulo compatible con CPU o GPU.
- Tipo PS C:\Archivos de programa\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat
- Tipo (arcgispro-py3) C:\Archivos de programa\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name <especifique el nombre del entorno> --clone arcgispro-py3
- Tipo (arcgispro-py3) C:\Archivos de programa\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <nombre del entorno>
- Tipo (<nombre del entorno>) C:\Archivos de programa\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install <nombre del módulo>
Ejemplo de instalación de TensorFlow para uso de CPU
PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name tf-cpu --clone arcgispro-py3 (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate tf-cpu (tf-cpu) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install tensorflow
Ejemplo de instalación de TensorFlow para uso de GPU
PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name tf-gpu --clone arcgispro-py3 (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate tf-gpu (tf-gpu) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install tensorflow-gpu
- Busque e instale todas las dependencias de paquetes de Python que necesitarán sus modelos de aprendizaje profundo.
- Cuando se hayan instalado todos los módulos de Python que sean necesarios, ejecute el script por lotes de proswap para cambiar el entorno predeterminado de Python 3.6 que utiliza el servicio de análisis de ráster al entorno clonado introduciendo PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name>
Nota:
Se recomienda que cree un entorno virtual para cada marco de aprendizaje profundo a fin de evitar conflictos de dependencia. Si dos o más marcos se encuentran en el mismo entorno de Python, es posible que dependan de distintas versiones de módulos que no pueden trabajar juntos. - Repita los pasos del 1 al 5 en cada equipo de su sitio de ArcGIS Image Server.
Tan solo se permite que una instancia de servicio use la GPU en cada nodo del servidor. La cantidad máxima de instancias por equipo del servicio RasterProcessingGPU siempre debe estar establecida en 1, que es el valor predeterminado.
- En ArcGIS Server Manager, seleccione Servicios > Administrar servicios > RasterProcessingGPU y compruebe los valores mínimo y máximo de la cantidad de instancias.
Precaución:
No aumente la cantidad máxima de instancias por equipo de este servicio. - Reinicie su ArcGIS Image Server para el Análisis de ráster después de cambiar al entorno clonado con los módulos de Python de aprendizaje profundo instalados.
Todas las solicitudes de sus flujos de trabajo de análisis de ráster de aprendizaje profundo incluyen un parámetro de entorno processorType. Asegúrese de que este parámetro especifique adecuadamente si se debe usar CPU o GPU al realizar solicitudes. El parámetro de entorno processorType está definido en la interfaz de la herramienta o función ráster en ArcGIS Pro, Map Viewer, ArcGIS REST API o ArcGIS API for Python.