CategoricalCrossentropy

공개 클래스 CategoricalCrossentropy

레이블과 예측 간의 교차엔트로피 손실을 계산합니다.

두 개 이상의 레이블 클래스가 있는 경우 이 교차엔트로피 손실 함수를 사용하십시오. 라벨은 one_hot 표현으로 제공될 것으로 예상됩니다. 레이블을 정수로 제공하려면 SparseCategoricalCrossentropy 손실을 사용하세요. 기능당 # classes 부동 소수점 값이 있어야 합니다.

독립형 사용:

    Operand<TFloat32> labels =
        tf.constant(new float[][] { {0, 1, 0}, {0, 0, 1} });
    Operand<TFloat32> predictions =
        tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} });
    CategoricalCrossentropy cce = new CategoricalCrossentropy(tf);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces 1.177
 

샘플 가중치로 호출:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
    Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight);
    // produces 0.814f
 

SUM 감소 유형 사용:

    CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces 2.354f
 

NONE 축소 유형 사용:

    CategoricalCrossentropy cce =
        new CategoricalCrossentropy(tf, Reduction.NONE);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces [0.0513f, 2.303f]
 

상수

정수 DEFAULT_AXIS
부울 FROM_LOGITS_DEFAULT
뜨다 LABEL_SMOOTHING_DEFAULT

상속된 필드

공공 생성자

범주형 교차성 (Ops tf)
손실 이름으로 getSimpleName() , fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
CategoricalCrossentropy (Ops tf, 문자열 이름)
fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 의 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.
CategoricalCrossentropy (Ops tf, Reduction 감소)
손실 이름으로 getSimpleName() , fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULTDEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
CategoricalCrossentropy (Ops tf, 문자열 이름, Reduction Reduction)
fromLogits에 대한 범주형 교차 엔트로피 손실 FROM_LOGITS_DEFAULT , labelSmoothing에 대한 LABEL_SMOOTHING_DEFAULTDEFAULT_AXIS 축을 생성합니다.
CategoricalCrossentropy (Ops tf, 부울 fromLogits)
손실 이름으로 getSimpleName() , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits)
labelSmoothing을 위한 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.
CategoricalCrossentropy (Ops tf, 부울 fromLogits, float labelSmoothing)
getSimpleName() 손실 이름으로 사용하고 Loss Reduction REDUCTION_DEFAULT 및 채널 축 DEFAULT_AXIS 사용하여 범주형 교차 엔트로피 Loss 를 생성합니다.
CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing)
REDUCTION_DEFAULT 의 손실 감소와 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reduction 감소)
getSimpleName() 손실 이름으로 사용하고 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing, Reduction 감소, int 축)
범주형 교차 엔트로피 손실을 생성합니다.

공개 방법

<T는 T번호를 확장합니다. > 피연산자 <T>
호출 ( 피연산자 <? 확장 TNumber > 레이블, 피연산자 <T> 예측, 피연산자 <T> SampleWeights)
손실을 계산하는 피연산자를 생성합니다.

상속된 메서드

상수

공개 정적 최종 int DEFAULT_AXIS

상수값: -1

공개 정적 최종 부울 FROM_LOGITS_DEFAULT

상수 값: 거짓

공개 정적 최종 부동 LABEL_SMOOTHING_DEFAULT

상수값: 0.0

공공 생성자

공개 CategoricalCrossentropy (Ops tf)

손실 이름으로 getSimpleName() , fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.

매개변수
tf TensorFlow 작업

공개 CategoricalCrossentropy (Ops tf, 문자열 이름)

fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 의 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 이 손실의 이름

공개 CategoricalCrossentropy (Ops tf, 감소 감소)

손실 이름으로 getSimpleName() , fromLogits의 경우 FROM_LOGITS_DEFAULT , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULTDEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.

매개변수
tf TensorFlow 작업
절감 손실에 적용할 감소 유형입니다.

공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 감소 감소)

fromLogits에 대한 범주형 교차 엔트로피 손실 FROM_LOGITS_DEFAULT , labelSmoothing에 대한 LABEL_SMOOTHING_DEFAULTDEFAULT_AXIS 축을 생성합니다.

매개변수
tf TensorFlow 작업
이름 이 손실의 이름
절감 손실에 적용할 감소 유형입니다.

공개 CategoricalCrossentropy (Ops tf, 부울 fromLogits)

손실 이름으로 getSimpleName() , labelSmoothing의 경우 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.

매개변수
tf TensorFlow 작업
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부

공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits)

labelSmoothing을 위한 LABEL_SMOOTHING_DEFAULT , REDUCTION_DEFAULT 의 손실 감소 및 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.

매개변수
tf TensorFlow 작업
이름 이 손실의 이름
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부

공개 CategoricalCrossentropy (Ops tf, 부울 fromLogits, float labelSmoothing)

getSimpleName() 손실 이름으로 사용하고 Loss Reduction REDUCTION_DEFAULT 및 채널 축 DEFAULT_AXIS 사용하여 범주형 교차 엔트로피 Loss 를 생성합니다.

매개변수
tf TensorFlow 작업
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부
labelSmoothing [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 labelSmoothing=0.2 레이블 00.1 값을 사용하고 레이블 10.9 값을 사용한다는 의미입니다.

공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing)

REDUCTION_DEFAULT 의 손실 감소와 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 이 손실의 이름
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부
labelSmoothing [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 labelSmoothing=0.2 레이블 00.1 값을 사용하고 레이블 10.9 값을 사용한다는 의미입니다.

공개 CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reduction 감소)

getSimpleName() 손실 이름으로 사용하고 DEFAULT_AXIS 의 채널 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.

매개변수
tf TensorFlow 작업
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부
labelSmoothing [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 x=0.2 레이블 00.1 값을 사용하고 레이블 10.9 값을 사용한다는 의미입니다.
절감 손실에 적용할 감소 유형입니다.

공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing, Reduction 감소, int 축)

범주형 교차 엔트로피 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 이 손실의 이름
fromLogits 예측을 로짓 값의 텐서로 해석할지 여부
labelSmoothing [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 labelSmoothing=0.2 레이블 00.1 값을 사용하고 레이블 10.9 값을 사용한다는 의미입니다.
절감 손실에 적용할 감소 유형입니다.
중심선 채널 축. axis=-1 "Channels Last" 데이터 형식에 해당하고 axis=1 "Channels First" 데이터 형식에 해당합니다. CHANNELS_LASTCHANNELS_FIRST
던지기
IllegalArgumentException labelSmoothing이 0 - 1의 포함 범위에 있지 않은 경우.

공개 방법

공개 피연산자 <T> 호출 ( 피연산자 <? 확장 TNumber > 레이블, 피연산자 <T> 예측, 피연산자 <T> SampleWeights)

손실을 계산하는 피연산자를 생성합니다.

그래프 모드에서 실행하는 경우 예측 값이 o [0.0] 범위를 벗어나면 계산에서 TFInvalidArgumentException 발생합니다. 1.]. Eager 모드에서 예측 값이 o [0.0] 범위를 벗어나는 경우 이 호출은 IllegalArgumentException 발생시킵니다. 1로.]

매개변수
라벨 진리값 또는 라벨
예측 예측에서 값은 [0. 1.]에 포함됩니다.
샘플 가중치 선택적 SampleWeights는 손실에 대한 계수 역할을 합니다. 스칼라가 제공되면 손실은 단순히 주어진 값에 따라 조정됩니다. SampleWeights가 [batch_size] 크기의 텐서인 경우 배치의 각 샘플에 대한 총 손실은 SampleWeights 벡터의 해당 요소에 따라 크기가 조정됩니다. SampleWeights의 형태가 [batch_size, d0, .. dN-1]인 경우(또는 이 형태로 브로드캐스팅될 수 있음) 예측의 각 손실 요소는 SampleWeights의 해당 값에 따라 조정됩니다. (dN-1에 대한 참고: 모든 손실 함수는 1차원으로 감소하며 일반적으로 축=-1입니다.)
보고
  • 손실
던지기
IllegalArgumentException 예측이 [0.-1.] 범위를 벗어나는 경우.