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.]