[TensorFlow] TensorFlow Serving CPU, GPU 동작 확인

참조


목적

  • TensorFlow Serving 서버는 현재 Docker Hub에서 tensorflow/serving 이미지를 다운로드 받아 Container 로 실행하고 있습니다.
  • TensorFlow Serving Container를 실행할 때 CPU, GPU 동작 여부 조사 진행합니다.

Docker Hub - tensorflow/serving 이미지 Tag 정보

  • tensorflow/serving 이미지 개요
    • :latest : TensorFlow Serving 바이너리가 설치되고 제공할 준비가 된 최소 이미지
    • :latest-gpu : TensorFlow Serving 바이너리가 설치되고 GPU에서 제공할 준비가 된 최소 이미지
    • :latest-devle : CPU에서 작동하는 컴파일 된 바이너리와 함께 개발할 모든 소스/종속성/도구 포함 이미지
    • latest-devel-gpu : NVIDIA GPU에서 작동하는 컴파일 된 바이너리와 함께 개발할 모든 소스 종속성/도구 포함한 이미지
  • 즉, Tensorflow/serving 이미지에서 컨테이너 실행할 때 -gpu 태그가 붙지 않으면 CPU 동작이고, -gpu 태그가 붙으면 GPU 동작합니다.

TensorFlow Serving - Docker Container CPU 동작

  • tensorflow/serving 이미지를 Docker Container 로 실행하여 CPU 로 동작 되는지 확인합니다.
  • Docker 실행 명령어는 다음과 같습니다.
  • CPU 동작으로 실행하려면 tensorflow/serving:latest 이미지를 run 하면 됩니다.
docker run -t --rm --name=tf-serving-mnist \
-p 8500:8500 \
-p 8501:8501 \
-v "C:/src/test_data/save_model/tensorflow/:/models/model" \
tensorflow/serving:latest \
--model_name=mnist-model \
--model_config_file=/models/model/Config/models.config \
--model_config_file_poll_wait_seconds=60\

GPU 성능 체크 결과

  • :latest 태그의 TensorFlow Serving 서버를 실행 시킨 결과, GPU 사용은 미비 했습니다.
  • 다음은 TaskManager(작업관리자) 에서 GPU 사용 내용입니다.


TensorFlow Serving - Docker Container GPU 동작

  • tensorflow/serving 이미지를 Docker Container로 실행하여 GPU로 동작 되는지 확인합니다.
  • Docker 실행 명령어는 다음과 같습니다.
  • GPU 동작으로 실행하려면 --gpus all, tensorflow/serving:latest-gpu 명령어를 추가하여 이미지를 run 하면 됩니다.
docker run --gups all \
-t --rm --name=tf-serving-mnist \
-p 8500:8500 \
-p 8501:8501 \
-v "C:/src/test_data/save_model/tensorflow/:/models/model" \
tensorflow/serving:latest-gpu \
--model_name=mnist-model \
--model_config_file=/models/model/Config/models.config \
--model_config_file_poll_wait_seconds=60\

GPU 성능 체크 결과

  • :latest-gpu 태그의 TensorFlow Serving 서버를 실행 시킨 결과, GPU 사용이 순식간에 올라가면서 70% ~ 99% 사용량까지 치솟는 것을 확인하였습니다.
  • 다음은 TaskManager(작업관리자) 에서 GPU 사용 내용입니다.


정리

  • TensorFlow Serving Image는 CPU 사용 버전인 :latest 태그의 버전을 사용합니다.
  • :latest-gpu 태그의 GPU 버전을 사용할 시, GPU OOM(Out Of Memeory) 문제가 발생합니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY