주요 컨텐츠로 이동

Tensorflow Estimator API

Databricks 무료로 시작하기

Tensorflow Estimator API란 무엇입니까?

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

Estimator의 네 가지 주된 기능:

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

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

Estimator의 수많은 장점:

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

 

추가 자료

용어집으로 돌아가기