평가 저장 모델 구성

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

TensorFlow 모델 분석 (TFMA)는 특별한에 모델의 평가 그래프를 내보낼 수 있습니다 SavedModel 라는 EvalSavedModel . (참고 평가 그래프 훈련 또는 유추 그래프를 사용하지 않은 것.)을 EvalSavedModel TFMA 데이터 및 다량 위에 분산 방식으로 모델에 정의 된 동일한 평가 지표 산출 할 수 있도록 부가 정보가 포함되어 사용자가 정의한 조각.

기존 모델 수정

TFMA와 기존 모델을 사용하려면, 먼저 내보낼 모델 수정 EvalSavedModel . 이에 대한 호출을 추가하여 수행 tfma.export.export_eval_savedmodel 와 유사하다 estimator.export_savedmodel . 예를 들어:

# Define, train and export your estimator as usual
estimator = tf.estimator.DNNClassifier(...)
estimator.train(...)
estimator.export_savedmodel(...)

# Also export the EvalSavedModel
tfma.export.export_eval_savedmodel(
  estimator=estimator, export_dir_base=export_dir,
  eval_input_receiver_fn=eval_input_receiver_fn)

eval_input_receiver_fn 정의와 유사하다해야 serving_input_receiver_fn 에 대한 estimator.export_savedmodel . 마찬가지로 serving_input_receiver_fn 상기 eval_input_receiver_fn 기능은, 입력 위치 지정자 예를 정의하는 실시 예에서의 기능을 파싱하고, 파싱 기능을 리턴한다. 레이블을 구문 분석하고 반환합니다.

다음 코드는 예제 정의 eval_input_receiver_fn :

country = tf.feature_column.categorical_column_with_hash('country', 100)
language = tf.feature_column.categorical_column_with_hash('language', 100)
age = tf.feature_column.numeric_column('age')
label = tf.feature_column.numeric_column('label')

def eval_input_receiver_fn():
  serialized_tf_example = tf.compat.v1.placeholder(
      dtype=tf.string, shape=[None], name='input_example_placeholder')

  # This *must* be a dictionary containing a single key 'examples', which
  # points to the input placeholder.
  receiver_tensors = {'examples': serialized_tf_example}

  feature_spec =  tf.feature_column.make_parse_example_spec(
      [country, language, age, label])
  features = tf.io.parse_example(serialized_tf_example, feature_spec)

  return tfma.export.EvalInputReceiver(
    features=features,
    receiver_tensors=receiver_tensors,
    labels=features['label'])

이 예에서 다음을 볼 수 있습니다.

  • labels 또한 사전이 될 수 있습니다. 다중 머리 모델에 유용합니다.
  • eval_input_receiver_fn 기능은 대부분, 당신과 동일합니다 serving_input_receiver_fn 기능. 그러나 경우에 따라 슬라이싱을 위한 추가 기능을 정의해야 할 수도 있습니다. 예를 들어, 당신은 소개 age_category 분할 기능 age 다수의 버킷으로 기능을. 그런 다음 TFMA에서 이 기능을 분석하여 다양한 연령 범주에서 모델의 성능이 어떻게 다른지 이해할 수 있습니다.

내보내기 후 측정항목 추가

모델에 포함되지 않은 추가 메트릭을 사용하여 aded 할 수 add_metrics_callbacks . 자세한 내용은 대한 파이썬 도움말을 참조 run_model_analysis .

엔드 투 엔드 예시

광범위한 시도 엔드 - 투 - 엔드 예를 특징으로 TensorFlow이 변환 기능 전처리를위한 TensorFlow 추정량 훈련, TensorFlow 모델 분석 평가 및 Jupyter 및 봉사 TensorFlow 봉사를.

사용자 정의 Post Export 메트릭 추가

당신이 TFMA에서 사용자 정의 포스트 수출 메트릭을 추가 할 경우, 문서를 체크 아웃하십시오 여기 .