Skip To Content

配置 ArcGIS Image Server 以进行深度学习栅格分析

ArcGIS Image Server 提供一套使用端到端工作流的深度学习工具,用于分类和检测影像中的对象。这些工具允许您生成训练样本数据集并将其导出至深度学习框架,以开发深度学习模型。然后,您可以执行数据推断工作流,如影像分类和对象检测。

要在多机栅格分析服务器站点上利用 GPU 处理,则站点中的每个服务器节点上必须有一个可用的 GPU。在 ArcGIS Image Server 的栅格分析部署上运行深度学习工具并不需要 GPU 卡。如果栅格分析服务器计算机没有 GPU 卡,则工具可以在 CPU 上运行。

注:

在版本 10.7,栅格分析不能在一台计算机上同时使用多个 GPU。如果在具有多个 GPU 的计算机上运行深度学习栅格分析工作流,则将仅使用一个 GPU。

ArcGIS Image Server 中的栅格分析可以将 TensorFlow、PyTorch、CNTK 和 Keras Python 模块与 GPU 配合使用。

向栅格分析部署添加深度学习支持

配置您的栅格分析部署后,请按照以下步骤安装深度学习 Python 资源。如果您的 ArcGIS Image Server 站点具有多个节点,请在每个服务器节点上重复这些步骤。

配置您的栅格分析部署后,请按照以下步骤安装深度学习 Python 资源。如果您的 ArcGIS Image Server 站点具有多个节点,请在每个服务器节点上重复这些步骤。

执行这些步骤的 OS 帐户与安装 ArcGIS Image Server 的帐户必须为同一账户。

  1. 如果您要将 GPU 用于深度学习栅格分析工作流,请安装相应的 NVIDIA 驱动程序。
  2. 在随 ArcGIS Server 安装程序提供的默认 Python 3.6 环境中运行以下命令。默认情况下,此 Python 安装程序位于 C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python
  3. 安装要在深度学习栅格分析工作流中使用的每个 Python 模块。在下面的子步骤 b 中,指定环境名称。模块的名称指示您使用的是启用 CPU 的模块还是启用 GPU 的模块。
    1. 输入 PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat
    2. 输入 (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name <specify environment name> --clone arcgispro-py3
    3. 输入 (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <environment name>
    4. 输入 (<environment name>) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install <module name>

    使用 CPU 的 TensorFlow 安装示例

    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

    使用 GPU 的 TensorFlow 安装示例

    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. 检查并安装深度学习模型所需的任何 Python 软件包依赖项。
  5. 安装所有必要的 Python 模块后,运行 proswap 批处理脚本,通过键入 PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name> 将栅格分析服务使用的默认 Python 3.6 环境交换到克隆环境。

    注:
    建议您为每个深度学习框架创建一个虚拟环境,以避免依赖项冲突。如果两个或多个框架位于同一 Python 环境中,则它们可能依赖于无法结合使用的不同版本的模块。

  6. ArcGIS Image Server 站点中的每台计算机上重复步骤 1 至 5。

    仅允许一个服务实例使用每个服务器节点上的 GPU。RasterProcessingGPU 服务每台计算机的最大实例数应始终设置为默认值 1。

  7. ArcGIS Server Manager 中,选择服务 > 管理服务 > RasterProcessingGPU 并验证最小和最大实例数值。

    警告:
    请勿增加此服务每台计算机的最大实例数。

  8. 切换到已安装深度学习 Python 模块的克隆环境后,针对栅格分析重新启动 ArcGIS Image Server

深度学习栅格分析工作流中的每个请求都包含 processorType 环境参数。请确保此参数正确指定在发出请求时使用 CPU 还是 GPU。processorType 环境参数在工具或在 ArcGIS ProMap ViewerArcGIS REST APIArcGIS API for Python 中的栅格函数界面中进行设置。