Hinge

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

คำนวณการสูญเสียบานพับระหว่างป้ายกำกับและการคาดคะเน

loss = maximum(1 - labels * predictions, 0)

ค่า labels คาดว่าจะเป็น -1 หรือ 1 หากมีการระบุป้ายกำกับไบนารี (0 หรือ 1) ป้ายกำกับเหล่านั้นจะถูกแปลงเป็น -1 หรือ 1

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

    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} });
    Hinge hingeLoss = new Hinge(tf);
    Operand<TFloat32> result = hingeLoss.call(labels, predictions);
    // produces 1.3f
 

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

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
    Operand<TFloat32> result = hingeLoss.call(labels, predictions, sampleWeight);
    // produces 0.55f
 

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

    Hinge hingeLoss = new Hinge(tf, Reduction.SUM);
    Operand<TFloat32> result = hingeLoss.call(labels, predictions);
    // produces 2.6f
 

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

    Hinge hingeLoss = new Hinge(tf, Reduction.NONE);
    Operand<TFloat32> result = hingeLoss.call(labels, predictions);
    // produces [1.1f, 1.5f]
 

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

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

บานพับ (Ops tf)
สร้าง Hinge Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสียและการลดการสูญเสีย REDUCTION_DEFAULT
บานพับ (Ops tf, การลด การลด )
สร้าง Hinge Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย
บานพับ (Ops tf, ชื่อสตริง, การลด ขนาด )
สร้างบานพับ

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

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

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

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

บานพับ สาธารณะ (Ops tf)

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

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

บานพับ สาธารณะ (Ops tf, การลดการ ลด)

สร้าง Hinge Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย

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

บานพับ สาธารณะ (Ops tf, ชื่อสตริง, การลดการลด )

สร้างบานพับ

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

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

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

สร้างตัวถูกดำเนินการที่คำนวณการสูญเสีย

หากทำงานในโหมดกราฟ การคำนวณจะส่ง TFInvalidArgumentException หากค่าป้ายกำกับไม่อยู่ในชุด [-1., 0., 1.] ในโหมด Eager การเรียกนี้จะโยน IllegalArgumentException หากค่าป้ายกำกับไม่อยู่ในชุด [-1., 0., 1.]

พารามิเตอร์
ฉลาก ค่าความจริงหรือป้ายกำกับ ต้องเป็น -1, 0 หรือ 1 ค่าควรเป็น -1 หรือ 1 หากระบุป้ายกำกับไบนารี่ (0 หรือ 1) ค่าเหล่านั้นจะถูกแปลงเป็น -1 หรือ 1
การคาดการณ์ การทำนายค่าจะต้องอยู่ในช่วง [0 ถึง 1.] รวม
ตัวอย่างน้ำหนัก SampleWeights ที่เป็นตัวเลือกจะทำหน้าที่เป็นสัมประสิทธิ์การสูญเสีย หากมีการระบุสเกลาร์ การสูญเสียก็จะถูกปรับขนาดตามค่าที่กำหนด หาก SampleWeights เป็นเทนเซอร์ที่มีขนาด [batch_size] ค่าที่สูญเสียทั้งหมดสำหรับแต่ละตัวอย่างในแบตช์จะถูกปรับขนาดใหม่โดยองค์ประกอบที่เกี่ยวข้องในเวกเตอร์ SampleWeights หากรูปร่างของ SampleWeights คือ [batch_size, d0, .. dN-1] (หรือสามารถถ่ายทอดไปยังรูปร่างนี้ได้) ดังนั้น องค์ประกอบที่สูญเสียแต่ละรายการของการคาดการณ์จะถูกปรับขนาดตามค่าที่สอดคล้องกันของ SampleWeights (หมายเหตุสำหรับ dN-1: ฟังก์ชันการสูญเสียทั้งหมดลดลง 1 มิติ โดยปกติจะเป็นแกน=-1)
การส่งคืน
  • การสูญเสีย
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากคำทำนายอยู่นอกช่วง [0.-1.]