คำนวณการสูญเสียบานพับระหว่างป้ายกำกับและการคาดคะเน
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 | |
วิธีการสาธารณะ
<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.] |
---|