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

tf.keras.metrics.SparseCategoricalCrossentropy

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

레이블과 예측 사이의 crossentropy 메트릭을 계산합니다.

두 개 이상의 라벨 클래스가있을 때이 crossentropy 메트릭을 사용합니다. 우리는 레이블을 정수로 제공 될 것으로 기대합니다. 당신이 사용하는 레이블을 제공하려면 one-hot 표현을 사용하십시오 CategoricalCrossentropy 메트릭. 이 있어야 # classes 에 대한 기능에 따라 부동 소수점 값 y_pred 및 대한 기능 당 하나의 부동 소수점 값 y_true .

(가) 아래의 코드에서, 예를 들어 당 하나의 부동 소수점 값있다 y_true# classes 에 대한 예에 따라 값을 가리키는 부동 y_pred . 형상 y_true 있다 [batch_size] 및 형상 y_pred 있다 [batch_size, num_classes] .

name 메트릭 인스턴스 (선택 사항) 문자열 이름.
dtype 메트릭 결과 (선택) 데이터 타입.
from_logits (선택 사항) 여부 출력은 logits 텐서 것으로 예상된다. 기본적으로, 우리는 출력이 확률 분포를 인코딩 것을 고려한다.
axis (선택 사항) -1 기본값. 메트릭이 계산되는 사이즈에 따라.

독립형 사용 :

# y_true = one_hot(y_true) = [[0, 1, 0], [0, 0, 1]]
# logits = log(y_pred)
# softmax = exp(logits) / sum(exp(logits), axis=-1)
# softmax = [[0.05, 0.95, EPSILON], [0.1, 0.8, 0.1]]
# xent = -sum(y * log(softmax), 1)
# log(softmax) = [[-2.9957, -0.0513, -16.1181],
#                [-2.3026, -0.2231, -2.3026]]
# y_true * log(softmax) = [[0, -0.0513, 0], [0, 0, -2.3026]]
# xent = [0.0513, 2.3026]
# Reduced xent = (0.0513 + 2.3026) / 2
m = tf.keras.metrics.SparseCategoricalCrossentropy()
m.update_state([1, 2],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]])
m.result().numpy()
1.1769392
m.reset_states()
m.update_state([1, 2],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]],
               sample_weight=tf.constant([0.3, 0.7]))
m.result().numpy()
1.6271976

와 사용 compile() API :

 model.compile(
  optimizer='sgd',
  loss='mse',
  metrics=[tf.keras.metrics.SparseCategoricalCrossentropy()])
 

행동 양식

reset_states

소스보기

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

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

result

소스보기

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

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

update_state

소스보기

통계 통계를 축적한다.

y_truey_pred 같은 모양이 있어야합니다.

인수
y_true 지상의 진리 값. 형상 = [batch_size, d0, .. dN] .
y_pred 예측 값. 형상 = [batch_size, d0, .. dN] .
sample_weight 선택적 sample_weight 상기 메트릭에 대한 계수로서 작용한다. 스칼라가 제공되는 경우, 상기 메트릭은 단순히 주어진 값에 의해 스케일링된다. 경우 sample_weight 크기의 텐서 [batch_size] , 배치의 각각의 샘플에 대한 그 메트릭은의 대응 요소에 의해 재 스케일링된다 sample_weight 벡터. 형상 경우 sample_weight 있다 [batch_size, d0, .. dN-1] (또는이 형상에 방송 될 수있다)는, 다음의 각 측정 원소 y_pred 의 대응하는 값에 의해 스케일링된다 sample_weight . (주에 dN-1 : 모든 메트릭 함수는 1 개 차원으로 감소 보통 마지막 축 (-1)).

보고
업데이트 연산.