주요 컨텐츠로 이동

Tensorflow Estimator API란 무엇인가요?

Databricks 무료로 시작하기

Tensorflow Estimator API란 무엇입니까?

TensorFlow의 Estimator API는 모델을 직관적으로 설계하고, 교육, 평가, 예측, 배포를 효율적으로 수행할 수 있게 돕는 고수준 추상화 도구입니다. TensorFlow는 아래 이미지와 같이 여러 개의 API 계층으로 구성된 프로그래밍 스택을 제공합니다. TensorFlow Estimatorestimator는 두 가지 유형이 있어 사전에 만든 Estimator를 선택해도 되고, 아니면 사용자가 직접 자기 나름의 맞춤형 Estimator를 작성할 수 있습니다. Estimator 기반 모델은 로컬 호스트에서도 실행할 수 있고 분산형 멀티서버 환경에서도 실행되며 모델을 변경할 필요가 없습니다. 또한 CPU, GPU나 TPU에서도 모델을 기록하지 않고 Estimator 기반 모델을 실행할 수 있습니다.

Estimator의 대표 기능 4가지:

  • 교육(Training)- 정해진 단계 수에 대하여 주어진 입력에서 모델을 교육합니다.
  • 평가(Evaluation)- 테스트 세트를 기반으로 모델을 평가합니다.
  • 예측(Prediction)- estimator는 교육된 모델을 사용하여 추론을 실행합니다.
  • 모델을 서빙(Serving) 환경에 맞게 내보기.

이뿐만이 아니라 Estimator에는 교육 작업에 공통으로 내재된 기본 행동(예: 체크포인트 저장 및 복원, 요약 생성 등)이 포함되어 있습니다. Estimator에는 모델과 TensorFlow 그래프 입력 부분에 상응하는 model_fn 및 input_fn을 작성해야 합니다.

Estimator의 수많은 장점:

  • Estimator는 모델 개발자끼리 구현을 공유하는 과정을 간소화해줍니다.
  • 수준 높은 직관적 코드를 사용해 훌륭한 모델을 개발할 수 있습니다. 모델을 생성해야 하는 경우, 저수준 TensorFlow API와 비교해 사용하기 쉬운 것이 보통이기 때문입니다.
  • Estimators 자체는 tf.keras.layers에 구축되며, 따라서 사용자 지정이 매우 간편합니다.
  • Estimator를 사용하면 사용자 대신 그래프를 구축해주기 때문에 무척 편리합니다.
  • Estimator는 안전하게 분산된 교육 루프를 제공하여 다음과 같은 작업의 방법과 시점을 제어합니다.
    • 그래프 구축
    • 변수 초기화
    • 데이터 로드
    • 예외 사항 처리
    • 체크포인트 파일을 만들어 오류에서 복원
    • TensorBoard용으로 요약본 저장

 

추가 자료

용어집으로 돌아가기