Skip To Content

딥러닝 래스터 분석을 위해 ArcGIS Image Server 구성

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가 설치된 계정과 동일해야 합니다.

  1. 딥러닝 래스터 분석 워크플로에 GPU를 사용하는 경우 적절한 NVIDIA 드라이버를 설치합니다.
  2. ArcGIS Server 설정과 함께 제공된 기본 Python 3.6 환경에서 다음 명령을 실행합니다. 기본 설정에 따라 이 파이썬 설정은 C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python에 있습니다.
  3. 딥러닝 래스터 분석 워크플로에 사용할 각 파이썬 모듈을 설치합니다. 아래의 하위 단계 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 <환경 이름 지정> --clone arcgispro-py3을 입력합니다.
    3. (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <환경 이름>를 입력합니다.
    4. (<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

  4. 딥러닝 모델에 필요한 파이썬 패키지 종속성을 확인하고 설치합니다.
  5. 필요한 모든 파이썬 모듈이 설치되면 PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name>을 입력하여 proswap 일괄 처리 스크립트를 실행하고 래스터 분석 서비스에서 사용하는 기본 Python 3.6 환경을 복제된 환경에 스왑합니다.

    비고:
    종속성 충돌을 방지하기 위해 각 딥러닝 프레임워크에 가상 환경을 생성하는 것을 권장합니다. 두 개 이상의 프레임워크가 동일한 파이썬 환경에 있으면 함께 작동할 수 없는 다른 버전의 모듈에 따라 프레임워크가 달라질 수 있습니다.

  6. ArcGIS Image Server 사이트의 각 머신에서 1~5단계를 반복합니다.

    하나의 서비스 인스턴스만 각 서버 노드에서 GPU를 사용할 수 있습니다. RasterProcessingGPU 서비스의 머신당 최대 인스턴스 수는 항상 기본값인 1로 설정해야 합니다.

  7. ArcGIS Server Manager에서 서비스 > 서비스 관리 > RasterProcessingGPU를 선택하고 최소 및 최대 인스턴스 수에 대한 값을 확인합니다.

    주의:
    해당 서비스의 머신당 최대 인스턴스 수는 늘리면 안 됩니다.

  8. 딥러닝 python 모듈이 설치되어 있는 복제 환경으로 스왑한 후 래스터 분석을 위해 ArcGIS Image Server를 다시 시작합니다.

딥러닝 래스터 분석 워크플로의 각 요청에는 processorType 환경 매개변수가 포함되어 있습니다. 이 매개변수가 요청 시 CPU 또는 GPU 사용 여부를 올바르게 지정하는지 확인합니다. processorType 환경 매개변수는 ArcGIS Pro, Map Viewer, ArcGIS REST API, ArcGIS API for Python의 도구 또는 래스터 함수 인터페이스에 설정되어 있습니다.