CategoricalCrossentropy

ชั้นเรียนสาธารณะ CategoricalCrossentropy

คำนวณการสูญเสียข้ามเอนโทรปีระหว่างป้ายกำกับและการทำนาย

ใช้ฟังก์ชันการสูญเสียข้ามเอนโทรปีนี้เมื่อมีคลาสเลเบลตั้งแต่สองคลาสขึ้นไป เราคาดหวังว่าจะมีการจัดเตรียมป้ายกำกับในรูปแบบ one_hot หากคุณต้องการระบุป้ายกำกับเป็นจำนวนเต็ม โปรดใช้การสูญเสีย SparseCategoricalCrossentropy ควรมีค่าจุดทศนิยม # classes ต่อจุดสนใจ

การใช้งานแบบสแตนด์อโลน:

    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
 

การโทรด้วยน้ำหนักตัวอย่าง:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
    Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight);
    // produces 0.814f
 

การใช้ประเภทการลด SUM :

    CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces 2.354f
 

การใช้ประเภทการลด NONE :

    CategoricalCrossentropy cce =
        new CategoricalCrossentropy(tf, Reduction.NONE);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces [0.0513f, 2.303f]
 

ค่าคงที่

ภายใน DEFAULT_AXIS
บูลีน FROM_LOGITS_DEFAULT
ลอย LABEL_SMOOTHING_DEFAULT

ฟิลด์ที่สืบทอดมา

คอนสตรัคชั่นสาธารณะ

หมวดหมู่ Crossentropy (Ops tf)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย, FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสียของ REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf ชื่อสตริง)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสีย REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, ลด การลด )
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย, FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing และแกนของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, ชื่อสตริง, การลด การลด )
สร้างเอนโทรปีข้ามหมวดหมู่ การสูญเสีย FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing และแกนของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, บูลีนจาก Logits)
สร้างเอนโทรปีข้ามหมวดหมู่ Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing การลดการสูญเสีย REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS
CategoricalCrossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสีย REDUCTION_DEFAULT และแกนช่องสัญญาณเป็น DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, บูลีนจาก Logits, ป้ายกำกับลอยทำให้เรียบ)
สร้าง cross entropy Loss แบบเด็ดขาดโดยใช้ getSimpleName() เป็นชื่อการสูญเสีย Loss Reduction เป็น REDUCTION_DEFAULT และแกนช่องเป็น DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits, ป้ายกำกับโฟลตให้เรียบ)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และแกนของช่องสัญญาณของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, บูลีนจาก Logits, ป้ายกำกับโฟลตการทำให้เรียบ, การลด การ ลด)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสียและแกนช่องสัญญาณของ DEFAULT_AXIS
หมวดหมู่ Crossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits, ป้ายกำกับโฟลตทำให้เรียบ, การลด การลด , แกน int)
สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่

วิธีการสาธารณะ

<T ขยาย TNumber > ตัวถูกดำเนินการ <T>
โทร ( ตัวดำเนินการ <? ขยาย TNumber > ป้ายกำกับ, ตัวดำเนินการ <T> การคาดคะเน, ตัวดำเนินการ <T> ตัวอย่างน้ำหนัก)
สร้างตัวถูกดำเนินการที่คำนวณการสูญเสีย

วิธีการสืบทอด

ค่าคงที่

สาธารณะคงสุดท้าย int DEFAULT_AXIS

ค่าคงที่: -1

บูลีนสุดท้ายแบบคงที่สาธารณะ FROM_LOGITS_DEFAULT

ค่าคงที่: เท็จ

โฟลตสุดท้ายแบบคงที่สาธารณะ LABEL_SMOOTHING_DEFAULT

ค่าคงที่: 0.0

คอนสตรัคชั่นสาธารณะ

สาธารณะ CategoricalCrossentropy (Ops tf)

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย, FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสียของ REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow

สาธารณะ CategoricalCrossentropy (Ops tf ชื่อสตริง)

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสีย REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
ชื่อ ชื่อของการสูญเสียครั้งนี้

สาธารณะ CategoricalCrossentropy (Ops tf, การลด การลด )

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย, FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing และแกนของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
การลดน้อยลง ประเภทของการลดที่จะใช้กับการสูญเสีย

สาธารณะ CategoricalCrossentropy (Ops tf ชื่อสตริง การลด การลด )

สร้างเอนโทรปีข้ามหมวดหมู่ การสูญเสีย FROM_LOGITS_DEFAULT สำหรับ fromLogits, LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing และแกนของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
ชื่อ ชื่อของการสูญเสียครั้งนี้
การลดน้อยลง ประเภทของการลดที่จะใช้กับการสูญเสีย

สาธารณะ CategoricalCrossentropy (Ops tf, บูลีนจาก Logits)

สร้างเอนโทรปีข้ามหมวดหมู่ Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing การลดการสูญเสีย REDUCTION_DEFAULT และแกนของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่

สาธารณะ CategoricalCrossentropy (Ops tf ชื่อสตริง บูลีนจาก Logits)

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ LABEL_SMOOTHING_DEFAULT สำหรับ label Smoothing, การลดการสูญเสีย REDUCTION_DEFAULT และแกนช่องสัญญาณเป็น DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
ชื่อ ชื่อของการสูญเสียครั้งนี้
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่

สาธารณะ CategoricalCrossentropy (Ops tf, บูลีนจาก Logits, ป้ายกำกับโฟลตให้เรียบ)

สร้าง cross entropy Loss แบบเด็ดขาดโดยใช้ getSimpleName() เป็นชื่อการสูญเสีย Loss Reduction เป็น REDUCTION_DEFAULT และแกนช่องเป็น DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่
ฉลากปรับให้เรียบ ลอยใน [0, 1] เมื่อ > 0 ค่าป้ายกำกับจะปรับให้เรียบ ซึ่งหมายความว่าความเชื่อมั่นในค่าป้ายกำกับจะผ่อนคลายลง เช่น labelSmoothing=0.2 หมายความว่าเราจะใช้ค่า 0.1 สำหรับป้ายกำกับ 0 และ 0.9 สำหรับป้ายกำกับ 1

สาธารณะ CategoricalCrossentropy (Ops tf ชื่อสตริง บูลีนจาก Logits ป้ายกำกับโฟลตให้เรียบ)

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้การลดการสูญเสียของ REDUCTION_DEFAULT และแกนของช่องสัญญาณของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
ชื่อ ชื่อของการสูญเสียครั้งนี้
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่
ฉลากปรับให้เรียบ ลอยใน [0, 1] เมื่อ > 0 ค่าป้ายกำกับจะปรับให้เรียบ ซึ่งหมายความว่าความเชื่อมั่นในค่าป้ายกำกับจะผ่อนคลายลง เช่น labelSmoothing=0.2 หมายความว่าเราจะใช้ค่า 0.1 สำหรับป้ายกำกับ 0 และ 0.9 สำหรับป้ายกำกับ 1

สาธารณะ CategoricalCrossentropy (Ops tf, บูลีนจาก Logits, ป้ายกำกับโฟลตทำให้เรียบ, ลด การลด )

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่โดยใช้ getSimpleName() เป็นชื่อการสูญเสียและแกนช่องสัญญาณของ DEFAULT_AXIS

พารามิเตอร์
ไม่ Ops ของ TensorFlow
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่
ฉลากปรับให้เรียบ ลอยใน [0, 1] เมื่อ > 0 ค่าป้ายกำกับจะปรับให้เรียบ ซึ่งหมายความว่าความเชื่อมั่นในค่าป้ายกำกับจะผ่อนคลายลง เช่น x=0.2 หมายความว่าเราจะใช้ค่า 0.1 สำหรับป้ายกำกับ 0 และ 0.9 สำหรับป้ายกำกับ 1
การลดน้อยลง ประเภทของการลดที่จะใช้กับการสูญเสีย

สาธารณะ CategoricalCrossentropy (Ops tf, ชื่อสตริง, บูลีนจาก Logits, ป้ายกำกับโฟลตทำให้เรียบ, ลด การลด , แกน int)

สร้างการสูญเสียเอนโทรปีข้ามหมวดหมู่

พารามิเตอร์
ไม่ Ops ของ TensorFlow
ชื่อ ชื่อของการสูญเสียครั้งนี้
จากLogits ไม่ว่าจะตีความการทำนายเป็นเทนเซอร์ของค่า logit หรือไม่
ฉลากปรับให้เรียบ ลอยใน [0, 1] เมื่อ > 0 ค่าป้ายกำกับจะปรับให้เรียบ ซึ่งหมายความว่าความเชื่อมั่นในค่าป้ายกำกับจะผ่อนคลายลง เช่น labelSmoothing=0.2 หมายความว่าเราจะใช้ค่า 0.1 สำหรับป้ายกำกับ 0 และ 0.9 สำหรับป้ายกำกับ 1
การลดน้อยลง ประเภทของการลดที่จะใช้กับการสูญเสีย
แกน แกนช่อง. axis=-1 สอดคล้องกับรูปแบบข้อมูล "Channels Last" และ axis=1 สอดคล้องกับรูปแบบข้อมูล "Channels First" CHANNELS_LAST และ CHANNELS_FIRST
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้า label Smoothing ไม่อยู่ในช่วงรวม 0 - 1

วิธีการสาธารณะ

ตัวดำเนินการ สาธารณะ <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.]