주요 컨텐츠로 이동

TensorFlow Estimator API란 무엇인가요?

TensorFlow의 고수준 API는 모델 학습, 평가 및 예측을 지원하며, 컴퓨팅 그래프나 세션을 관리할 필요 없이 분산 머신러닝을 간소화합니다.

작성자: Databricks 직원

Archived. This article has not been updated since the publish date above. The dynamic nature of information means that previously accurate content can become outdated or even obsolete over time. Readers are advised to exercise due diligence and cross-check any information found in this blog post before making decisions or adopting any practices based on said information.

  • 학습 루프, 체크포인트, 분산 학습 및 TensorBoard 통합을 추상화하여 개발자가 인프라 구축보다는 모델 아키텍처에 집중할 수 있도록 합니다.
  • 일반적인 작업을 위한 DNNClassifier 및 LinearRegressor와 같은 사전 제작된 Estimator를 제공하며, 사용자 정의 model_fn 함수를 통해 사용자 지정 Estimator도 지원합니다.
  • 코드 변경 없이 CPU, GPU 및 TPU에 걸친 분산 학습을 처리하지만, 최신 TensorFlow 개발에서는 Estimator 대신 tf.keras와 사용자 지정 학습 루프를 사용하는 것이 더 선호됩니다.

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을 작성해야 합니다.

보고서

멀티 에이전트 시스템, AI 활용 사례, 평가 등 주요 인사이트

Estimator의 수많은 장점:

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

 

추가 자료

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.