Menghitung kerugian crossentropy antara label dan prediksi.
Gunakan fungsi kerugian crossentropy ini ketika ada dua atau lebih kelas label. Kami mengharapkan label diberikan dalam representasi one_hot. Jika Anda ingin memberikan label sebagai bilangan bulat, gunakan kerugian SparseCategoricalCrossentropy
. Harus ada # classes
per fitur.
Penggunaan mandiri:
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
Memanggil dengan berat sampel:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Menggunakan tipe pengurangan SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Menggunakan tipe reduksi NONE
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Konstanta
ke dalam | DEFAULT_AXIS | |
boolean | DARI_LOGITS_DEFAULT | |
mengambang | LABEL_SMOOTHING_DEFAULT |
Bidang Warisan
Konstruktor Publik
Crossentropy Kategoris (Ops tf) Membuat Kerugian entropi silang kategoris menggunakan getSimpleName() sebagai nama kerugian, FROM_LOGITS_DEFAULT untuk fromLogits, LABEL_SMOOTHING_DEFAULT untuk labelSmoothing, Pengurangan Kerugian REDUCTION_DEFAULT , dan sumbu DEFAULT_AXIS | |
Crossentropy Kategoris (Ops tf, Nama string) Membuat Kerugian entropi silang kategoris menggunakan FROM_LOGITS_DEFAULT untuk fromLogits, LABEL_SMOOTHING_DEFAULT untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT , dan sumbu DEFAULT_AXIS | |
Crossentropy Kategoris (Ops tf, Reduksi reduksi) Membuat Kerugian entropi silang kategoris menggunakan getSimpleName() sebagai nama kerugian, FROM_LOGITS_DEFAULT untuk fromLogits, LABEL_SMOOTHING_DEFAULT untuk labelSmoothing dan sumbu DEFAULT_AXIS | |
Crossentropy Kategoris (Ops tf, Nama string, Reduksi reduksi) Membuat Kerugian entropi silang kategoris FROM_LOGITS_DEFAULT untuk fromLogits, LABEL_SMOOTHING_DEFAULT untuk labelSmoothing, dan sumbu DEFAULT_AXIS | |
Crossentropy Kategoris (Ops tf, boolean fromLogits) Membuat Kerugian entropi silang kategoris menggunakan getSimpleName() sebagai nama kerugian, LABEL_SMOOTHING_DEFAULT untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT , dan sumbu DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, Nama string, boolean fromLogits) Membuat Kerugian entropi silang kategoris menggunakan LABEL_SMOOTHING_DEFAULT untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT , dan sumbu saluran DEFAULT_AXIS | |
Crossentropy Kategoris (Ops tf, boolean fromLogits, float labelSmoothing) Membuat Loss entropi silang kategoris menggunakan getSimpleName() sebagai nama kerugian, Pengurangan Kerugian REDUCTION_DEFAULT , dan sumbu saluran DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, Nama string, boolean fromLogits, float labelSmoothing) Membuat Kerugian entropi silang kategoris menggunakan Pengurangan Kerugian REDUCTION_DEFAULT , dan sumbu saluran DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Pengurangan pengurangan) Membuat Kerugian entropi silang kategoris menggunakan getSimpleName() sebagai nama kerugian dan sumbu saluran DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, Nama string, boolean fromLogits, label floatSmoothing, Pengurangan reduksi, sumbu int) Menciptakan Kerugian entropi silang kategoris |
Metode Publik
<T memperluas TNomber > Operan <T> |
Metode Warisan
Konstanta
int akhir statis publik DEFAULT_AXIS
boolean akhir statis publik FROM_LOGITS_DEFAULT
float akhir statis publik LABEL_SMOOTHING_DEFAULT
Konstruktor Publik
Crossentropy Kategoris publik (Ops tf)
Membuat Kerugian entropi silang kategoris menggunakan getSimpleName()
sebagai nama kerugian, FROM_LOGITS_DEFAULT
untuk fromLogits, LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing, Pengurangan Kerugian REDUCTION_DEFAULT
, dan sumbu DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|
public CategoricalCrossentropy (Ops tf, Nama string)
Membuat Kerugian entropi silang kategoris menggunakan FROM_LOGITS_DEFAULT
untuk fromLogits, LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT
, dan sumbu DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugian ini |
public CategoricalCrossentropy (Ops tf, Pengurangan pengurangan)
Membuat Kerugian entropi silang kategoris menggunakan getSimpleName()
sebagai nama kerugian, FROM_LOGITS_DEFAULT
untuk fromLogits, LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing dan sumbu DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
public CategoricalCrossentropy (Ops tf, Nama string, Pengurangan pengurangan)
Membuat Kerugian entropi silang kategoris FROM_LOGITS_DEFAULT
untuk fromLogits, LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing, dan sumbu DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugian ini |
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
Crossentropy Kategorikal publik (Ops tf, boolean fromLogits)
Membuat Kerugian entropi silang kategoris menggunakan getSimpleName()
sebagai nama kerugian, LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT
, dan sumbu DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
public CategoricalCrossentropy (Ops tf, nama String, boolean fromLogits)
Membuat Kerugian entropi silang kategoris menggunakan LABEL_SMOOTHING_DEFAULT
untuk labelSmoothing, Pengurangan Kerugian sebesar REDUCTION_DEFAULT
, dan sumbu saluran DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugian ini |
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Membuat Loss entropi silang kategoris menggunakan getSimpleName()
sebagai nama kerugian, Pengurangan Kerugian REDUCTION_DEFAULT
, dan sumbu saluran DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
label Menghaluskan | Mengapung di [0, 1] . Jika > 0 , nilai label dihaluskan, artinya keyakinan pada nilai label dilonggarkan. misal labelSmoothing=0.2 artinya kita akan menggunakan nilai 0.1 untuk label 0 dan 0.9 untuk label 1 |
public CategoricalCrossentropy (Ops tf, Nama string, boolean fromLogits, float labelSmoothing)
Membuat Kerugian entropi silang kategoris menggunakan Pengurangan Kerugian REDUCTION_DEFAULT
, dan sumbu saluran DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugian ini |
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
label Menghaluskan | Mengapung di [0, 1] . Jika > 0 , nilai label dihaluskan, artinya keyakinan pada nilai label dilonggarkan. misal labelSmoothing=0.2 artinya kita akan menggunakan nilai 0.1 untuk label 0 dan 0.9 untuk label 1 |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Pengurangan pengurangan)
Membuat Kerugian entropi silang kategoris menggunakan getSimpleName()
sebagai nama kerugian dan sumbu saluran DEFAULT_AXIS
Parameter
tf | Operasi TensorFlow |
---|---|
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
label Menghaluskan | Mengapung di [0, 1] . Jika > 0 , nilai label dihaluskan, artinya keyakinan pada nilai label dilonggarkan. misal x=0.2 artinya kita akan menggunakan nilai 0.1 untuk label 0 dan 0.9 untuk label 1 |
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
public CategoricalCrossentropy (Ops tf, Nama string, boolean fromLogits, float labelSmoothing, Reduksi reduksi, int axis)
Menciptakan Kerugian entropi silang kategoris
Parameter
tf | Operasi TensorFlow |
---|---|
nama | nama kerugian ini |
dariLogits | Apakah akan menafsirkan prediksi sebagai tensor nilai logit |
label Menghaluskan | Mengapung di [0, 1] . Jika > 0 , nilai label dihaluskan, artinya keyakinan pada nilai label dilonggarkan. misal labelSmoothing=0.2 artinya kita akan menggunakan nilai 0.1 untuk label 0 dan 0.9 untuk label 1 |
pengurangan | Jenis Pengurangan yang diterapkan pada kerugian. |
sumbu | Sumbu saluran. axis=-1 sesuai dengan format data "Saluran Terakhir" dan axis=1 sesuai dengan format data "Saluran Pertama". CHANNELS_LAST dan CHANNELS_FIRST |
Melempar
Pengecualian Argumen Ilegal | jika labelSmoothing tidak berada dalam rentang inklusif 0. - 1. |
---|
Metode Publik
panggilan Operand <T> publik ( label Operand <? extends TNumber >, prediksi Operand <T>, Operand <T> sampleWeights)
Menghasilkan Operan yang menghitung kerugian.
Jika dijalankan dalam mode Grafik, komputasi akan memunculkan TFInvalidArgumentException
jika nilai prediksi berada di luar rentang o [0. ke 1.]. Dalam Mode Eager, panggilan ini akan memunculkan IllegalArgumentException
, jika nilai prediksi berada di luar rentang o [0. ke 1.]
Parameter
label | nilai atau label kebenaran |
---|---|
prediksi | prediksi, nilai harus berada dalam kisaran [0. ke 1.] inklusif. |
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
Melempar
Pengecualian Argumen Ilegal | jika prediksi berada di luar rentang [0.-1.]. |
---|