Tính toán tổn thất Huber giữa nhãn và dự đoán.
Đối với mỗi giá trị x trong error = labels - predictions
:
loss = 0.5 * x^2 if |x| <= d loss = 0.5 * d^2 + d * (|x| - d) if |x| > d
trong đó d là delta.
Cách sử dụng độc lập:
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
Gọi với trọng lượng mẫu:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = huberLoss.call(labels, predictions, sampleWeight); // produces 0.09f
Sử dụng loại giảm SUM
:
Huber huberLoss = new Huber(tf, Reduction.SUM); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces 0.32f
Sử dụng loại giảm NONE
:
Huber huberLoss = new Huber(tf, Reduction.NONE); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces [0.18f, 0.13f]
Xem thêm
Hằng số
trôi nổi | DELTA_DEFAULT |
Trường kế thừa
Nhà xây dựng công cộng
Huber (Ops tf) Tạo Mất Huber bằng cách sử dụng getSimpleName() làm tên mất mát, DELTA_DEFAULT làm delta và Giảm tổn thất REDUCTION_DEFAULT | |
Huber (Ops tf, Tên chuỗi) Tạo Mất Huber bằng cách sử dụng DELTA_DEFAULT làm đồng bằng và Giảm tổn thất REDUCTION_DEFAULT | |
Huber (Ops tf, Giảm thiểu ) Tạo Huber Loss bằng cách sử dụng getSimpleName() làm tên mất mát và DELTA_DEFAULT làm delta | |
Phương pháp công khai
<T mở rộng TNumber > Toán hạng <T> |
Phương pháp kế thừa
Hằng số
float cuối cùng tĩnh công khai DELTA_DEFAULT
Nhà xây dựng công cộng
Huber công cộng (Ops tf)
Tạo Mất Huber bằng cách sử dụng getSimpleName()
làm tên mất mát, DELTA_DEFAULT
làm đồng bằng và Giảm tổn thất REDUCTION_DEFAULT
Thông số
tf | hoạt động của TensorFlow |
---|
Huber công khai (Ops tf, Tên chuỗi)
Tạo Mất Huber bằng cách sử dụng DELTA_DEFAULT
làm delta và Giảm tổn thất REDUCTION_DEFAULT
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của phần bị mất, nếu null thì getSimpleName() sẽ được sử dụng. |
Huber công cộng (Ops tf, Giảm thiểu)
Tạo Huber Loss bằng cách sử dụng getSimpleName()
làm tên mất mát và DELTA_DEFAULT
làm delta
Thông số
tf | hoạt động của TensorFlow |
---|---|
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
Huber công khai (Ops tf, Tên chuỗi, Giảm thiểu)
Tạo Huber Loss bằng cách sử dụng DELTA_DEFAULT
làm delta
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của phần bị mất, nếu null thì getSimpleName() sẽ được sử dụng. |
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
Huber công cộng (Ops tf, Tên chuỗi, float delta, Giảm thiểu)
Tạo ra tổn thất Huber
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của phần bị mất, nếu null thì getSimpleName() sẽ được sử dụng. |
đồng bằng | điểm mà hàm mất Huber thay đổi từ bậc hai sang tuyến tính. |
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
Phương pháp công khai
lệnh gọi Toán hạng công khai <T> ( Toán hạng <? mở rộng nhãn TNumber >, dự đoán Toán hạng <T>, Toán hạng <T> sampleWeights)
Tạo một toán hạng tính toán tổn thất.
Thông số
nhãn | các giá trị thật hoặc nhãn |
---|---|
dự đoán | những dự đoán |
mẫuTrọng lượng | Khối lượng mẫu tùy chọn đóng vai trò như một hệ số tổn thất. Nếu một đại lượng vô hướng được cung cấp thì tổn thất chỉ được tính theo giá trị đã cho. Nếu SampleWeights là một tensor có kích thước [batch_size] thì tổng tổn thất cho mỗi mẫu của lô sẽ được điều chỉnh lại tỷ lệ theo phần tử tương ứng trong vectơ SampleWeights. Nếu hình dạng của SampleWeights là [batch_size, d0, .. dN-1] (hoặc có thể được phát tới hình dạng này), thì mỗi phần tử tổn thất của dự đoán sẽ được chia tỷ lệ theo giá trị tương ứng của SampleWeights. (Lưu ý trên dN-1: tất cả các hàm mất mát đều giảm đi 1 chiều, thường là trục=-1.) |
Trả lại
- sự mất mát