[TensorFlow] TensorFlow Serving CPU, GPU 동작 확인
- 인공지능
- 2022. 3. 25. 19:09
참조
- https://hub.docker.com/r/tensorflow/serving
- https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/docker.md
목적
- 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
'인공지능' 카테고리의 다른 글
[인공지능] Tensorflow 1에서 100까지 값 예측하기 (0) | 2023.02.24 |
---|---|
[TensorFlow] Flask 와 Tensorflow Serving gRPC 통신 (0) | 2022.03.29 |
[TensorFlow] gRPC 클라이언트에서 models.config 구성 된 Model Reloading (0) | 2022.03.23 |
[TensorFlow] TensorFlow Serving 다중 모델 로딩 (0) | 2022.03.22 |
[TensorFlow] TF Serving 1번 버전 없이 다른 버전 동작 기능 확인 (0) | 2022.03.22 |
이 글을 공유하기