Menghitung kerugian divergensi Kullback-Leibler antara label dan prediksi.
loss = labels * log(labels / predictions)
Penggunaan mandiri:
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} }); KLDivergence kld = new KLDivergence(tf); Operand<TFloat32> result = kld.call(labels, predictions); // produces 0.458
Memanggil dengan berat sampel:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f}); Operand<TFloat32> result = kld.call(labels, predictions, sampleWeight); // produces 0.366f
Menggunakan tipe pengurangan SUM
:
KLDivergence kld = new KLDivergence(tf, Reduction.SUM); Operand<TFloat32> result = kld.call(labels, predictions); // produces 0.916f
Menggunakan tipe reduksi NONE
:
KLDivergence kld = new KLDivergence(tf, Reduction.NONE); Operand<TFloat32> result = kld.call(labels, predictions); // produces [0.916f, -3.08e-06f]
Lihat Juga
Bidang Warisan
Konstruktor Publik
Divergensi KLD (Ops tf) Membuat Kerugian Divergensi Kullback Leibler menggunakan getSimpleName() sebagai nama kerugian dan Pengurangan Kerugian sebesar REDUCTION_DEFAULT | |
KLDivergence (Ops tf, Pengurangan pengurangan) Membuat Kerugian Divergence Kullback Leibler menggunakan getSimpleName() sebagai nama kerugian | |
KLDivergence (Ops tf, Nama string, Pengurangan pengurangan) Menghasilkan Kerugian Divergensi Kullback Leibler |
Metode Publik
<T memperluas TNomber > Operan <T> |
Metode Warisan
Konstruktor Publik
Divergensi KLD publik (Ops tf)
Membuat Kerugian Divergensi Kullback Leibler menggunakan getSimpleName()
sebagai nama kerugian dan Pengurangan Kerugian sebesar REDUCTION_DEFAULT
Parameter
tf | Operasi TensorFlow |
---|
Divergensi KLD publik (Ops tf, Pengurangan pengurangan)
Membuat Kerugian Divergence Kullback Leibler menggunakan getSimpleName()
sebagai nama kerugian
Parameter
tf | Operasi TensorFlow |
---|---|
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
KLDivergence publik (Ops tf, Nama string, Pengurangan pengurangan)
Menghasilkan Kerugian Divergensi Kullback Leibler
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugiannya |
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
Metode Publik
panggilan Operand <T> publik ( label Operand <? extends TNumber >, prediksi Operand <T>, Operand <T> sampleWeights)
Menghasilkan Operan yang menghitung kerugian.
Parameter
label | nilai atau label kebenaran |
---|---|
prediksi | prediksi |
sampelBerat | SampleWeights opsional bertindak sebagai koefisien kerugian. Jika skalar disediakan, maka kerugiannya hanya diskalakan dengan nilai yang diberikan. Jika SampleWeights adalah tensor dengan ukuran [batch_size], maka total kerugian untuk setiap sampel batch akan diubah skalanya dengan elemen yang sesuai dalam vektor SampleWeights. Jika bentuk SampleWeights adalah [batch_size, d0, .. dN-1] (atau dapat disiarkan ke bentuk ini), maka setiap elemen prediksi yang hilang akan diskalakan dengan nilai SampleWeights yang sesuai. (Catatan pada dN-1: semua fungsi kerugian berkurang 1 dimensi, biasanya sumbu=-1.) |
Kembali
- kerugiannya