[TensorFlow] TensorFlow Serving 다중 모델 로딩

참조

소개

  • TensorFlow Serving 에서 단일 모델이 아닌, 다중 모델 로딩 조사하는 방법에 대해서 조사합니다.
  • Models.Config 파일 설정을 통해, TensorFlow Serving 에서 다중 모델 로딩 가능합니다.
  • 해당 내용 조사 및 POC 진행합니다.

1. 로컬에 models.config 파일 생성 및 정보 작성

  • TensorFlow Serving에서 다중 모델 로딩하려면, models.config 파일이 필요합니다.
  • models.config 파일에는 모델 서버 구성 정보들을 설정합니다.

단일 모델 인 경우

  • 아래 config 설정 파일은 현재 1개의 Xception 모델이 설정되어 있습니다.
  • 해당 내용을 토대로 TensorFlow Serving Container 를 실행하게 되면, Xception 모델 1개만 로딩 됩니다.
model_config_list {
  config {
    name: 'Xception'
    base_path: '/models/model/Xception/'
    model_platform: 'tensorflow'
  }
}

다중 모델 인 경우

  • 아래 Config 설정 파일은 현재 2개의 Xception, vgg_19 모델이 설정되어 있습니다.
  • 해당 내용을 토대로 TensorFlow Serving Container 를 실행하게 되면, Xception, vgg_19 2개의 모델이 로딩됩니다.
  • 이와 같이 config 설정을 통해, 다중 모델 설정 가능합니다.
model_config_list {
  config {
    name: 'Xception'
    base_path: '/models/model/Xception/'
    model_platform: 'tensorflow'
  }
  config {
    name: 'vgg_19'
    base_path: '/models/model/vgg_19/'
    model_platform: 'tensorflow'
  }
}

2. 단일 모델 Config 설정 후, TensorFlow Serving Container 실행

  • 단일 모델 Config 설정 후, TensorFlow Serving Container 실행하여 해당 모델이 정상적으로 Loading 되는지 확인 진행합니다.
  • 다음 Docker 명령어를 통해 TensorFlow Serving Container 실행합니다.
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 \
--model_name=mnist-model \
--model_config_file=/models/model/models.config \
--model_config_file_poll_wait_seconds=60
  • -v 볼륨 경로는 본인 로컬 환경에 맞춰서 설정해 주면 됩니다.

실행 결과

  • 실행 결과 Xception 모델 1개만 Loading 된 것을 로그로 확인할 수 있습니다.

3. 다중 모델 Config 설정 후, TensorFlow Serving Container 실행

  • 다중 모델 Config 설정 후, TensorFlow Serving Container 실행하여 해당 모델이 정상적으로 Loading 되는지 확인 진행합니다.
  • 다음 Docker 명령어를 통해 TensorFlow Serving Container 실행합니다.
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 \
--model_name=mnist-model \
--model_config_file=/models/model/models.config \
--model_config_file_poll_wait_seconds=60
  • -v 볼륨 경로는 본인 로컬 환경에 맞춰서 설정해 주면 됩니다.

실행 결과

  • 실행 결과 XCeption, vgg_19 2개의 모델이 Loading 된 것을 로그로 확인할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY