Trainer TFX 파이프라인 구성 요소
Trainer TFX 파이프라인 구성 요소는 TensorFlow 모델을 훈련합니다.
Trainer와 TensorFlow
Trainer는 모델 훈련을 위해 Python TensorFlow API를 광범위하게 사용합니다.
참고: TFX는 TensorFlow 1.15 및 2.x를 지원합니다.
구성 요소
Trainer는 다음을 사용합니다.
훈련 및 평가에 사용되는 tf.Examples
Trainer 로직을 정의하는 사용자 제공 모듈 파일
훈련 인수 및 평가 인수의 Protobuf 정의
SchemaGen 파이프라인 구성 요소로 생성되고 개발자가 선택적으로 변경하는 데이터 스키마(선택 사항)
업스트림 Transform 구성 요소에서 생성한 변환 그래프(선택 사항)
웜스타트와 같은 시나리오에 사용되는 사전 훈련된 모델(선택 사항)
사용자 모듈 함수에 전달될 하이퍼 매개변수(Tuner와의 통합에 대한 자세한 내용은 여기에서 찾을 수 있음)(선택 사항)
Trainer는 추론/서빙을 위한 하나 이상의 모델(일반적으로 SavedModelFormat에 있음)을 내보내거나, 평가를 위한 또 다른 모델(일반적으로 EvalSavedModel)을 선택적으로 내보냅니다.
모델 재작성 라이브러리를 통해 TFLite와 같은 대체 모델 형식에 대한 지원을 제공합니다. Estimator 및 Keras 모델을 모두 변환하는 방법에 대한 예제는 모델 재작성 라이브러리 링크를 참조하세요.
제네릭 Trainer
제네릭 Trainer를 사용하면 개발자가 Trainer 구성 요소와 함께 모든 TensorFlow 모델 API를 사용할 수 있습니다. TensorFlow Estimator 외에도 개발자는 Keras 모델 또는 사용자 정의 훈련 루프를 사용할 수 있습니다. 자세한 내용은 제네릭 Trainer용 RFC를 참조하세요.
Trainer 구성 요소 구성하기
제네릭 Trainer의 일반적인 파이프라인 DSL 코드는 다음과 같습니다.
Trainer는 module_file
매개변수에 지정된 훈련 모듈을 호출합니다. custom_executor_spec
에 GenericExecutor
가 지정된 경우 모듈에 trainer_fn
대신 run_fn
이 필요합니다. trainer_fn
은 모델 생성을 담당했습니다. 이와 함께 run_fn
은 훈련 부분을 처리하고 훈련된 모델을 FnArgs에서 지정한 원하는 위치로 출력해야 합니다.
다음은 run_fn
을 사용한 예제 모듈 파일입니다.
Transform 구성 요소가 파이프라인에서 사용되지 않으면 Trainer는 ExampleGen에서 직접 예제를 가져옵니다.
자세한 내용은 Trainer API 참조에서 확인할 수 있습니다.