레이블과 예측 간의 교차엔트로피 손실을 계산합니다.
두 개 이상의 레이블 클래스가 있는 경우 이 교차엔트로피 손실 함수를 사용하십시오. 라벨은 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_DEFAULT 및 DEFAULT_AXIS 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다. | |
CategoricalCrossentropy (Ops tf, 문자열 이름, Reduction Reduction) fromLogits에 대한 범주형 교차 엔트로피 손실 FROM_LOGITS_DEFAULT , labelSmoothing에 대한 LABEL_SMOOTHING_DEFAULT 및 DEFAULT_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> |
상속된 메서드
상수
공개 정적 최종 int DEFAULT_AXIS
공개 정적 최종 부울 FROM_LOGITS_DEFAULT
공개 정적 최종 부동 LABEL_SMOOTHING_DEFAULT
공공 생성자
공개 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_DEFAULT
및 DEFAULT_AXIS
축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
매개변수
tf | TensorFlow 작업 |
---|---|
절감 | 손실에 적용할 감소 유형입니다. |
공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 감소 감소)
fromLogits에 대한 범주형 교차 엔트로피 손실 FROM_LOGITS_DEFAULT
, labelSmoothing에 대한 LABEL_SMOOTHING_DEFAULT
및 DEFAULT_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 레이블 0 에 0.1 값을 사용하고 레이블 1 에 0.9 값을 사용한다는 의미입니다. |
공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing)
REDUCTION_DEFAULT
의 손실 감소와 DEFAULT_AXIS
의 채널 축을 사용하여 범주형 교차 엔트로피 손실을 생성합니다.
매개변수
tf | TensorFlow 작업 |
---|---|
이름 | 이 손실의 이름 |
fromLogits | 예측을 로짓 값의 텐서로 해석할지 여부 |
labelSmoothing | [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 labelSmoothing=0.2 레이블 0 에 0.1 값을 사용하고 레이블 1 에 0.9 값을 사용한다는 의미입니다. |
공개 CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reduction 감소)
getSimpleName()
손실 이름으로 사용하고 DEFAULT_AXIS
의 채널 축을 사용하여 범주형 교차 엔트로피 Loss를 생성합니다.
매개변수
tf | TensorFlow 작업 |
---|---|
fromLogits | 예측을 로짓 값의 텐서로 해석할지 여부 |
labelSmoothing | [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 x=0.2 레이블 0 에 0.1 값을 사용하고 레이블 1 에 0.9 값을 사용한다는 의미입니다. |
절감 | 손실에 적용할 감소 유형입니다. |
공개 CategoricalCrossentropy (Ops tf, 문자열 이름, 부울 fromLogits, float labelSmoothing, Reduction 감소, int 축)
범주형 교차 엔트로피 손실을 생성합니다.
매개변수
tf | TensorFlow 작업 |
---|---|
이름 | 이 손실의 이름 |
fromLogits | 예측을 로짓 값의 텐서로 해석할지 여부 |
labelSmoothing | [0, 1] 에 떠 있습니다. > 0 크면 레이블 값이 평활화됩니다. 즉, 레이블 값에 대한 신뢰도가 완화됩니다. 예를 들어 labelSmoothing=0.2 레이블 0 에 0.1 값을 사용하고 레이블 1 에 0.9 값을 사용한다는 의미입니다. |
절감 | 손실에 적용할 감소 유형입니다. |
중심선 | 채널 축. axis=-1 "Channels Last" 데이터 형식에 해당하고 axis=1 "Channels First" 데이터 형식에 해당합니다. CHANNELS_LAST 및 CHANNELS_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.] 범위를 벗어나는 경우. |
---|