คำนวณการสูญเสียข้ามเอนโทรปีระหว่างป้ายกำกับและการทำนาย
ใช้ฟังก์ชันการสูญเสียข้ามเอนโทรปีนี้เมื่อมีคลาสเลเบลตั้งแต่สองคลาสขึ้นไป คาดว่าป้ายกำกับจะต้องระบุเป็นจำนวนเต็ม หากคุณต้องการจัดเตรียมป้ายกำกับโดยใช้การนำเสนอ one-hot โปรดใช้ CategoricalCrossentropy loss ควรมีค่า # classes คลาสต่อจุดสนใจสำหรับ predictions และค่าจุดลอยตัวเดียวต่อจุดสนใจสำหรับ label
ในตัวอย่างด้านล่าง มีค่าจุดลอยตัวเพียงค่าเดียวต่อตัวอย่างสำหรับ labels และค่าจุดลอยตัว # classes ต่อตัวอย่างสำหรับ predictions รูปร่างของ labels คือ [batch_size] และรูปร่างของ predictions คือ [batch_size, num_classes]
การใช้งานแบบสแตนด์อโลน:
Operand<TFloat32> labels =
tf.constant(new float[] {1, 2});
Operand<TFloat32> predictions =
tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} });
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 1.177f
การโทรด้วยน้ำหนักตัวอย่าง:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight);
// produces 0.814f
การใช้ประเภทการลด SUM :
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 2.354f
การใช้ประเภทการลด NONE :
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces [0.0513f, 2.303f]
ค่าคงที่
| ภายใน | AXIS_DEFAULT | |
| บูลีน | FROM_LOGITS_DEFAULT |
ฟิลด์ที่สืบทอดมา
คอนสตรัคชั่นสาธารณะ
เบาบางหมวดหมู่ Crossentropy (Ops tf) สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf ชื่อสตริง) สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf, การลด การลด ) สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย โดยมี Reduction.AUTO และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf ชื่อสตริง การลดการ ลด) สร้างการสูญเสีย SparseCategoricalCrossentropy ด้วย Reduction.AUTO และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf ชื่อสตริง บูลีนจาก Logits) สร้าง SparseCategoricalCrossentropy โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf, บูลีนจาก Logits) สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT | |
SparseCategoricalCrossentropy (Ops tf, บูลีนจาก Logits, การลด การลด ) สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย | |
SparseCategoricalCrossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits, การลด การลด , แกน int) สร้าง SparseCategoricalCrossentropy |
วิธีการสาธารณะ
| <T ขยาย TNumber > ตัวถูกดำเนินการ <T> | โทร ( ตัวดำเนินการ <? ขยาย TNumber > ป้ายกำกับ, ตัวดำเนินการ <T> การคาดคะเน, ตัวดำเนินการ <T> ตัวอย่างน้ำหนัก) สร้างตัวถูกดำเนินการคำนวณการสูญเสีย |
วิธีการสืบทอด
ค่าคงที่
สาธารณะคงสุดท้าย int AXIS_DEFAULT
บูลีนสุดท้ายแบบคงที่สาธารณะ FROM_LOGITS_DEFAULT
คอนสตรัคชั่นสาธารณะ
สาธารณะ SparseCategoricalCrossentropy (Ops tf)
สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|
สาธารณะ SparseCategoricalCrossentropy (Ops tf ชื่อสตริง)
สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของฟังก์ชันการสูญเสียนี้ |
สาธารณะ SparseCategoricalCrossentropy (Ops tf, การลด การลด )
สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย โดยมี Reduction.AUTO และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| การลดน้อยลง | ประเภทของการลดที่จะใช้กับการสูญเสีย |
สาธารณะ SparseCategoricalCrossentropy (Ops tf ชื่อสตริง ลดการลด )
สร้างการสูญเสีย SparseCategoricalCrossentropy ด้วย Reduction.AUTO และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของฟังก์ชันการสูญเสียนี้ |
| การลดน้อยลง | ประเภทของการลดที่จะใช้กับการสูญเสีย |
สาธารณะ SparseCategoricalCrossentropy (Ops tf ชื่อสตริง บูลีนจาก Logits)
สร้าง SparseCategoricalCrossentropy โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของฟังก์ชันการสูญเสียนี้ |
| จากLogits | ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่ |
สาธารณะ SparseCategoricalCrossentropy (Ops tf, บูลีนจาก Logits)
สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย การลดการสูญเสียของ REDUCTION_DEFAULT และ fromLogits= FROM_LOGITS_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| จากLogits | ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่ |
สาธารณะ SparseCategoricalCrossentropy (Ops tf, บูลีนจาก Logits, การลดการลด )
สร้างการสูญเสีย SparseCategoricalCrossentropy โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| จากLogits | ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่ |
| การลดน้อยลง | ประเภทของการลดที่จะใช้กับการสูญเสีย |
สาธารณะ SparseCategoricalCrossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits, การลด การลด , แกน int)
สร้าง SparseCategoricalCrossentropy
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของฟังก์ชันการสูญเสียนี้ |
| จากLogits | ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่ |
| การลดน้อยลง | ประเภทของการลดที่จะใช้กับการสูญเสีย |
| แกน | แกนช่อง. axis=-1 สอดคล้องกับรูปแบบข้อมูล `Channels Last' และ axis=1 สอดคล้องกับรูปแบบข้อมูล 'Channels First' |
วิธีการสาธารณะ
ตัวดำเนินการ สาธารณะ <T> โทร ( ตัวดำเนินการ <? ขยาย TNumber > ป้ายกำกับ, ตัวดำเนินการ <T> การคาดการณ์, ตัวดำเนินการ <T> ตัวอย่างน้ำหนัก)
สร้างตัวถูกดำเนินการคำนวณการสูญเสีย
หากทำงานในโหมดกราฟ การคำนวณจะส่ง TFInvalidArgumentException หากค่าการคาดการณ์อยู่นอกช่วง o [0 ถึง 1.]. ในโหมด Eager การโทรนี้จะโยน IllegalArgumentException หากค่าการคาดการณ์อยู่นอกช่วง o [0 ถึง 1.]
พารามิเตอร์
| ฉลาก | ค่าความจริงหรือป้ายกำกับ |
|---|---|
| การคาดการณ์ | การทำนายค่าจะต้องอยู่ในช่วง [0 ถึง 1.] รวม |
| ตัวอย่างน้ำหนัก | SampleWeights ที่เป็นตัวเลือกจะทำหน้าที่เป็นสัมประสิทธิ์การสูญเสีย หากมีการระบุสเกลาร์ การสูญเสียก็จะถูกปรับขนาดตามค่าที่กำหนด หาก SampleWeights เป็นเทนเซอร์ที่มีขนาด [batch_size] ค่าที่สูญเสียทั้งหมดสำหรับแต่ละตัวอย่างในแบตช์จะถูกปรับขนาดใหม่โดยองค์ประกอบที่เกี่ยวข้องในเวกเตอร์ SampleWeights หากรูปร่างของ SampleWeights คือ [batch_size, d0, .. dN-1] (หรือสามารถถ่ายทอดไปยังรูปร่างนี้ได้) ดังนั้น องค์ประกอบที่สูญเสียแต่ละรายการของการคาดการณ์จะถูกปรับขนาดตามค่าที่สอดคล้องกันของ SampleWeights (หมายเหตุสำหรับ dN-1: ฟังก์ชันการสูญเสียทั้งหมดลดลง 1 มิติ โดยปกติจะเป็นแกน=-1) |
การส่งคืน
- การสูญเสีย
ขว้าง
| ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หากคำทำนายอยู่นอกช่วง [0.-1.] |
|---|