ArcGIS Image Server는 이미지에서 객체를 분류하고 감지하기 위해 종단 간 워크플로가 포함된 딥러닝 도구를 제공합니다. 이러한 도구를 사용하면 교육 샘플 데이터셋을 생성하고 딥러닝 프레임워크로 내보내 딥러닝 모델을 개발할 수 있습니다. 그러면 이미지 분류 및 객체 감지와 같은 데이터 추론 워크플로를 수행할 수 있습니다.
다중 머신 래스터 분석 서버 사이트에서 GPU 프로세싱을 활용하려면 GPU가 사이트의 각 서버 노드에 하나씩 있어야 합니다. GPU 카드는 ArcGIS Image Server의 래스터 분석 배포에서 딥러닝 도구를 실행하는 데 필요하지 않습니다. 래스터 분석 서버 머신에 GPU 카드가 없으면 CPU에서 도구를 실행할 수 있습니다.
비고:
10.7에서 래스터 분석은 하나의 머신에서 동시에 다중 GPU를 사용할 수 없습니다. 다중 GPU가 있는 머신에서 딥러닝 래스터 분석 워크플로를 실행하면 하나의 GPU만 사용됩니다.
ArcGIS Image Server에서 래스터 분석은 GPU와 함께 TensorFlow, PyTorch, CNTK, Keras Python 모듈을 사용할 수 있습니다.
래스터 분석 배포에 딥러닝 지원 추가
래스터 분석 배포를 구성한 후에 아래 단계에 따라 딥러닝 파이썬 리소스를 설치합니다. 다중노드ArcGIS Image Server 사이트가 있는 경우 각 서버 노드에서 이러한 단계를 반복합니다.
래스터 분석 배포를 구성한 후에 아래 단계에 따라 딥러닝 파이썬 리소스를 설치합니다. 다중노드ArcGIS Image Server 사이트가 있는 경우 각 서버 노드에서 이러한 단계를 반복합니다.
이 단계에서 사용하는 OS 계정은 ArcGIS Image Server가 설치된 계정과 동일해야 합니다.
- 딥러닝 래스터 분석 워크플로에 GPU를 사용하는 경우 적절한 NVIDIA 드라이버를 설치합니다.
- 머신에 CUDA 툴킷을 설치합니다. 자세한 내용은 NVIDIA CUDA 웹사이트를 참고하세요.
- CUDA 딥 뉴럴 네트워크(cuDNN) 라이브러리를 설치합니다. 자세한 내용은 NVIDIA cuDNN 웹사이트를 참고하세요.
- ArcGIS Server 설정과 함께 제공된 기본 Python 3.6 환경에서 다음 명령을 실행합니다. 기본 설정에 따라 이 파이썬 설정은 C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python에 있습니다.
- 딥러닝 래스터 분석 워크플로에 사용할 각 파이썬 모듈을 설치합니다. 아래의 하위 단계 b에서 환경 이름을 지정합니다. 모듈 이름은 CPU 또는 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 <환경 이름 지정> --clone arcgispro-py3을 입력합니다.
- (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <환경 이름>를 입력합니다.
- (<environment name>) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install <모듈 이름>을 입력합니다.
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
- 딥러닝 모델에 필요한 파이썬 패키지 종속성을 확인하고 설치합니다.
- 필요한 모든 파이썬 모듈이 설치되면 PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name>을 입력하여 proswap 일괄 처리 스크립트를 실행하고 래스터 분석 서비스에서 사용하는 기본 Python 3.6 환경을 복제된 환경에 스왑합니다.
비고:
종속성 충돌을 방지하기 위해 각 딥러닝 프레임워크에 가상 환경을 생성하는 것을 권장합니다. 두 개 이상의 프레임워크가 동일한 파이썬 환경에 있으면 함께 작동할 수 없는 다른 버전의 모듈에 따라 프레임워크가 달라질 수 있습니다. - ArcGIS Image Server 사이트의 각 머신에서 1~5단계를 반복합니다.
하나의 서비스 인스턴스만 각 서버 노드에서 GPU를 사용할 수 있습니다. RasterProcessingGPU 서비스의 머신당 최대 인스턴스 수는 항상 기본값인 1로 설정해야 합니다.
- ArcGIS Server Manager에서 서비스 > 서비스 관리 > RasterProcessingGPU를 선택하고 최소 및 최대 인스턴스 수에 대한 값을 확인합니다.
주의:
해당 서비스의 머신당 최대 인스턴스 수는 늘리면 안 됩니다. - 딥러닝 python 모듈이 설치되어 있는 복제 환경으로 스왑한 후 래스터 분석을 위해 ArcGIS Image Server를 다시 시작합니다.
딥러닝 래스터 분석 워크플로의 각 요청에는 processorType 환경 매개변수가 포함되어 있습니다. 이 매개변수가 요청 시 CPU 또는 GPU 사용 여부를 올바르게 지정하는지 확인합니다. processorType 환경 매개변수는 ArcGIS Pro, Map Viewer, ArcGIS REST API, ArcGIS API for Python의 도구 또는 래스터 함수 인터페이스에 설정되어 있습니다.