Huber

공개 수업 후버

라벨과 예측 간의 Huber 손실을 계산합니다.

error = labels - predictions :

     loss = 0.5 * x^2                  if |x| <= d
     loss = 0.5 * d^2 + d * (|x| - d)  if |x| > d
 

여기서 d는 델타입니다.

독립형 사용:

    Operand<TFloat32> labels =
        tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} });
    Operand<TFloat32> predictions =
        tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} });
    Huber huberLoss = new Huber(tf);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces 0.155
 

샘플 가중치로 호출:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
    Operand<TFloat32> result = huberLoss.call(labels, predictions, sampleWeight);
    // produces 0.09f
 

SUM 감소 유형 사용:

    Huber huberLoss = new Huber(tf, Reduction.SUM);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces 0.32f
 

NONE 축소 유형 사용:

    Huber huberLoss = new Huber(tf, Reduction.NONE);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces [0.18f, 0.13f]
 

또한보십시오

상수

뜨다 DELTA_DEFAULT

상속된 필드

공공 생성자

후버 (Ops tf)
getSimpleName() 손실 이름으로, DELTA_DEFAULT 델타로, 손실 감소를 REDUCTION_DEFAULT 로 사용하여 Huber 손실을 생성합니다.
Huber (Ops tf, 문자열 이름)
DELTA_DEFAULT 델타로 사용하고 REDUCTION_DEFAULT 의 손실 감소를 사용하여 Huber 손실을 생성합니다.
Huber (Ops tf, 감소 감소)
getSimpleName() 손실 이름으로 사용하고 DELTA_DEFAULT 델타로 사용하여 Huber 손실을 생성합니다.
Huber (Ops tf, 문자열 이름, Reduction Reduction)
DELTA_DEFAULT 델타로 사용하여 Huber 손실을 생성합니다.
Huber (Ops tf, 문자열 이름, float 델타, 감소 감소)
Huber 손실을 생성합니다.

공개 방법

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

상속된 메서드

상수

공개 정적 최종 부동 소수점 DELTA_DEFAULT

상수값: 1.0

공공 생성자

공개 Huber (Ops tf)

getSimpleName() 손실 이름으로, DELTA_DEFAULT 델타로, 손실 감소를 REDUCTION_DEFAULT 로 사용하여 Huber 손실을 생성합니다.

매개변수
tf TensorFlow 작업

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

DELTA_DEFAULT 델타로 사용하고 REDUCTION_DEFAULT 의 손실 감소를 사용하여 Huber 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 손실의 이름, null인 경우 getSimpleName() 사용됩니다.

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

getSimpleName() 손실 이름으로 사용하고 DELTA_DEFAULT 델타로 사용하여 Huber 손실을 생성합니다.

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

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

DELTA_DEFAULT 델타로 사용하여 Huber 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 손실의 이름, null인 경우 getSimpleName() 사용됩니다.
절감 손실에 적용할 감소 유형입니다.

공개 Huber (Ops tf, 문자열 이름, 부동 소수점 델타, 감소 감소)

Huber 손실을 생성합니다.

매개변수
tf TensorFlow 작업
이름 손실의 이름, null인 경우 getSimpleName() 사용됩니다.
델타 Huber 손실 함수가 2차에서 선형으로 변경되는 지점입니다.
절감 손실에 적용할 감소 유형입니다.

공개 방법

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

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

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