Skip To Content

Configurer ArcGIS Image Server pour l’analyse raster d’apprentissage profond

ArcGIS Image Server offre une suite d’outils d’apprentissage profond avec des processus détaillés qui permettent de classer et de détecter des objets dans l’imagerie. Ces outils permettent de générer des jeux de données d’échantillon d'apprentissage et de les exporter dans une structure d’apprentissage profond en vue de développer un modèle d’apprentissage profond. Vous pouvez ensuite exécuter différents processus sur les données, tels que la classification d’images et la détection d’objets.

Pour que vous puissiez bénéficier du traitement GPU sur un site de serveur d’analyses raster à plusieurs machines, un GPU doit être disponible sur chaque nœud de serveur du site. Une carte GPU n’est pas requise pour exécuter les outils d’apprentissage profond sur le déploiement d’analyses raster de ArcGIS Image Server. Si la machine serveur d’analyses raster ne dispose pas d’une carte GPU, les outils peuvent être exécutés sur le processeur.

Remarque :

Dans la version 10.7, l’analyse raster ne peut pas utiliser plusieurs GPU simultanément sur une seule machine. Si vous exécutez un processus d’analyse raster d’apprentissage profond sur une machine qui comporte plusieurs GPU, une seule GPU est utilisée.

L’analyse raster dans ArcGIS Image Server peut utiliser les modules TensorFlow, PyTorch, CNTK et Keras Python avec les GPU.

Ajouter la prise en charge de l’apprentissage profond dans un déploiement d’analyse raster

Une fois que vous avez configuré votre déploiement d’analyse raster, procédez comme suit pour installer les ressources Python d’apprentissage profond. Si votre site ArcGIS Image Server comporte plusieurs nœuds, répétez ces étapes sur chaque nœud de serveur.

Une fois que vous avez configuré votre déploiement d’analyse raster, procédez comme suit pour installer les ressources Python d’apprentissage profond. Si votre site ArcGIS Image Server comporte plusieurs nœuds, répétez ces étapes sur chaque nœud de serveur.

Le compte de système d’exploitation que vous utilisez pour réaliser ces étapes doit être le même que celui utilisé pour installer ArcGIS Image Server.

  1. Si vous pensez utiliser les GPU pour votre processus d’analyse raster d’apprentissage profond, installez les pilotes NVIDIA appropriés.
    • Installez CUDA Toolkit sur la machine. Consultez le NVIDIA site web CUDA pour en savoir plus.
    • Installez la bibliothèque cuDNN (CUDA Deep Neural Network). Consultez le site web NVIDIA cuDNN pour en savoir plus.
  2. Exécutez les commandes suivantes dans l’environnement Python 3.6 par défaut, qui est fourni avec le fichier d’installation de ArcGIS Server. Ce fichier d’installation de Python se trouve dans C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python par défaut.
  3. Installez chaque module Python que vous voulez utiliser dans votre processus d’analyse raster d’apprentissage profond. À la sous-étape b ci-dessous, spécifiez un nom d’environnement. Le nom du module indique si vous utilisez un modèle de type CPU ou GPU.
    1. Saisissez PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat
    2. Saisissez (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name <spécifier le nom d’environnement> --clone arcgispro-py3
    3. Saisissez (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <nom d’environnement>
    4. Saisissez (<nom d’environnement>) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install <nom de module>

    Exemple d'installation TensorFlow pour utiliser le 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

    Exemple d'installation TensorFlow pour utiliser la 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

  4. Recherchez et installez les dépendances de paquetage Python qui seront nécessaires à vos modèles d’apprentissage profond.
  5. Une fois tous les modules Python requis installés, exécutez le script par lot proswap pour échanger l’environnement Python 3.6 par défaut utilisé par le service d’analyse raster avec l’environnement cloné en saisissant PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name>

    Remarque :
    Il est conseillé de créer un environnement virtuel pour chaque structure d’apprentissage profond afin d’éviter les conflits de dépendances. Si deux structures ou plus se trouvent dans le même environnement Python, elles peuvent dépendre de différentes versions des modules qui ne sont pas compatibles.

  6. Répétez les étapes 1 à 5 sur chaque machine du site ArcGIS Image Server.

    Une seule instance du service est autorisée à utiliser la GPU sur chaque nœud de serveur. Le nombre maximal d’instances par machine du service RasterProcessingGPU doit toujours être défini sur 1, qui est la valeur par défaut.

  7. Dans ArcGIS Server Manager, sélectionnez Services > Manage Services (Gérer les services) > RasterProcessingGPU et vérifiez les valeurs correspondant au nombre minimal et maximal d’instances.

    Attention :
    N’augmentez pas le nombre maximal d’instances par machine pour ce service.

  8. Redémarrez ArcGIS Image Server pour l’analyse raster après être passé à l’environnement cloné dans lequel les modules Python d’apprentissage profond sont installés.

Chaque requête dans vos processus d’analyse raster d’apprentissage profond comprend un paramètre d’environnement processorType. Vérifiez que ce paramètre indique correctement si le processeur (CPU) ou l’unité de traitement graphique (GPU) doivent être utilisés lors de l’émission des requêtes. Le paramètre d’environnement processorType est défini dans l’outil ou l’interface de la fonction raster dans ArcGIS Pro, Map Viewer, ArcGIS REST API ou ArcGIS API for Python.