이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

tf.keras.metrics.Metric

TensorFlow 1 개 버전 GitHub의에서 소스보기

통계 논리와 상태를 캡슐화합니다.

: 상속 Layer

name 메트릭 인스턴스 (선택 사항) 문자열 이름.
dtype 메트릭 결과 (선택) 데이터 타입.
**kwargs 추가 레이어는 인수를 키워드.

독립형 사용 :

 m = SomeMetric(...)
for input in ...:
  m.update_state(input)
print('Final result: ', m.result().numpy())
 

와 사용 compile() API :

 model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dense(10, activation='softmax'))

model.compile(optimizer=tf.keras.optimizers.RMSprop(0.01),
              loss=tf.keras.losses.CategoricalCrossentropy(),
              metrics=[tf.keras.metrics.CategoricalAccuracy()])

data = np.random.random((1000, 32))
labels = np.random.random((1000, 10))

dataset = tf.data.Dataset.from_tensor_slices((data, labels))
dataset = dataset.batch(32)

model.fit(dataset, epochs=10)
 

서브 클래스에 의해 구현 될하려면 :

  • __init__() : 모든 상태 변수를 호출하여이 방식으로 생성되어야 self.add_weight() 와 같은 self.var = self.add_weight(...)
  • update_state() : self.var.assign_add (...) : 같은 상태 변수에 대한 모든 업데이트를 가지고 있습니다.
  • result() : 계산하여 반환 상태 변수의 측정 값을.

예 서브 클래스 구현 :

 class BinaryTruePositives(tf.keras.metrics.Metric):

  def __init__(self, name='binary_true_positives', **kwargs):
    super(BinaryTruePositives, self).__init__(name=name, **kwargs)
    self.true_positives = self.add_weight(name='tp', initializer='zeros')

  def update_state(self, y_true, y_pred, sample_weight=None):
    y_true = tf.cast(y_true, tf.bool)
    y_pred = tf.cast(y_pred, tf.bool)

    values = tf.logical_and(tf.equal(y_true, True), tf.equal(y_pred, True))
    values = tf.cast(values, self.dtype)
    if sample_weight is not None:
      sample_weight = tf.cast(sample_weight, self.dtype)
      sample_weight = tf.broadcast_to(sample_weight, values.shape)
      values = tf.multiply(values, sample_weight)
    self.true_positives.assign_add(tf.reduce_sum(values))

  def result(self):
    return self.true_positives
 

행동 양식

add_weight

소스보기

추가합니다 상태 변수입니다. 만 서브 클래스에 의해 사용.

reset_states

소스보기

메트릭 상태 변수를 모두 재설정합니다.

메트릭은 훈련 기간 동안 평가 될 때이 기능은, 신 (新) 시대 / 단계 사이라고합니다.

result

소스보기

계산하여 반환 메트릭 값 텐서를.

계산 결과는 단순히 상기 상태 변수를 이용하여 통계 값을 산출 멱등 동작이다.

update_state

소스보기

메트릭에 대한 통계를 축적한다.

인수
*args

**kwargs 메트릭에 입력 미니 배치.