Skip To Content

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

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

注:

要在运行 Windows 的多机栅格分析服务器站点上利用 GPU 处理,则站点中每个服务器节点上必须至少有一个可用的 GPU。在 ArcGIS Image Server 的栅格分析部署上运行深度学习工具并不需要 GPU 卡。如果栅格分析服务器计算机没有 GPU 卡,则工具可以在 CPU 上运行。对于仅具有 CPU 的栅格分析服务器计算机,用户需要安装专用于 TensorFlow 和 Pytorch 包的 MKL (Math Kernel Library) 内部版本深度学习 Python 库。

在 10.8 版本中,深度学习推断栅格分析可以在一台计算机上同时使用多个 GPU。

注:

ArcGIS Image Server 环境中的栅格分析可以将 TensorFlow、PyTorch 和 Keras Python 模块与 GPU 配合使用。利用每个服务器节点的多个 GPU 适用于 ArcGIS 中预定义的某些深度学习模型配置。其中包括 Tensorflow(ObjectDetectionAPI 和 DeepLab)、Keras (MaskRCNN) 以及 PyTorch。

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

配置 ArcGIS Image Server 和您的栅格分析部署后,您需要安装支持的深度学习框架包才能使用深度学习工具。

有关如何安装深度学习包的说明,请参阅深度学习安装指南 深度学习安装指南(适用于 ArcGIS Image Server 10.8.1)。

利用 GPU

在 10.8 版本中,多个服务实例可以在每个服务器节点上使用 GPU。应根据每台计算机上安装且适用于深度学习计算的 GPU 卡数量来设置 RasterProcessingGPU 服务每台计算机的最大实例数,默认设置为 1。

警告:
如果每台计算机只有一个 GPU 卡,请勿增大此服务每台计算机的最大实例数。

ArcGIS Server Manager 中验证最小和最大实例数的值。导航至服务 > 管理服务 > RasterProcessingGPU,然后单击 RasterProcessingGPU 以转至编辑页面。在池化选项卡下,验证最小和最大实例数的值。每台计算机的默认最小和最大实例数均为 1。要利用每台计算机的多个 GPU,应将每台计算机的最大实例数修改为等于每台计算机安装的 GPU 卡数量。例如,如果每台服务器计算机具有两个 GPU,则应将每台计算机的最大实例数更改为 2。单击保存重新启动以使更改生效。

设置栅格处理 GPU

RasterProcessingGPU 服务每台计算机的最小实例数设置为默认值 1。如果每个服务器节点只有一个 GPU 卡可用,则要在不同的深度学习框架中依次运行模型推断,可能需要重新启动 RasterProcessingGPU 服务。例如,提交 TensorFlow 模型推断的第一个作业,完成该作业后,重新启动 RasterProcessingGPU 服务,然后提交 PyTorch 模型推断的第二个作业。

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