เทนเซอร์โฟลว์ :: ops :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

สร้างป้ายกำกับสำหรับการสุ่มตัวอย่างผู้สมัครด้วยการแจกแจงแบบ Unigram ที่เรียนรู้

สรุป

unigram sampler สามารถใช้การกระจาย unigram แบบคงที่ที่อ่านจากไฟล์หรือส่งผ่านเป็นอาร์เรย์ในหน่วยความจำแทนที่จะสร้างการกระจายจากข้อมูลได้ทันที นอกจากนี้ยังมีตัวเลือกในการบิดเบือนการกระจายโดยใช้พลังการบิดเบือนกับน้ำหนัก

ไฟล์คำศัพท์ควรอยู่ในรูปแบบเหมือน CSV โดยช่องสุดท้ายเป็นน้ำหนักที่สัมพันธ์กับคำนั้น

สำหรับแต่ละชุดหน่วยปฏิบัติการนี้จะเลือกป้ายกำกับตัวอย่างชุดเดียว

ข้อดีของการสุ่มตัวอย่างผู้สมัครต่อชุดคือความเรียบง่ายและความเป็นไปได้ในการคูณเมทริกซ์หนาแน่นที่มีประสิทธิภาพ ข้อเสียคือต้องเลือกผู้สมัครตัวอย่างโดยไม่ขึ้นกับบริบทและป้ายกำกับที่แท้จริง

อาร์กิวเมนต์:

  • ขอบเขต: วัตถุ ขอบเขต
  • true_classes: เมทริกซ์ batch_size * num_true ซึ่งแต่ละแถวมี IDs ของ num_true target_classes ในเลเบลดั้งเดิมที่เกี่ยวข้อง
  • num_true: จำนวนป้ายกำกับจริงต่อบริบท
  • num_sampled: จำนวนผู้สมัครที่สุ่มตัวอย่าง
  • ไม่ซ้ำกัน: หากไม่ซ้ำกันเป็นจริงเราจะสุ่มตัวอย่างด้วยการปฏิเสธเพื่อให้ผู้สมัครตัวอย่างทั้งหมดในกลุ่มไม่ซ้ำกัน สิ่งนี้ต้องการการประมาณเพื่อประมาณความน่าจะเป็นในการสุ่มตัวอย่างหลังการปฏิเสธ
  • range_max: ตัวอย่างจะสุ่มตัวอย่างจำนวนเต็มจากช่วงเวลา [0, range_max)

แอตทริบิวต์เสริม (ดู Attrs ):

  • vocab_file: แต่ละบรรทัดที่ถูกต้องในไฟล์นี้ (ซึ่งควรมีรูปแบบคล้าย CSV) สอดคล้องกับรหัสคำที่ถูกต้อง ID จะเรียงตามลำดับโดยเริ่มจาก num_reserved_ids รายการสุดท้ายในแต่ละบรรทัดคาดว่าจะเป็นค่าที่สอดคล้องกับจำนวนนับหรือความน่าจะเป็นสัมพัทธ์ ต้องส่ง vocab_file และ unigrams หนึ่งรายการไปยัง op นี้
  • การบิดเบือน: การบิดเบือนใช้เพื่อบิดเบือนการแจกแจงความน่าจะเป็นแบบ unigram น้ำหนักแต่ละตัวจะถูกยกขึ้นเป็นพลังของการบิดเบือนก่อนที่จะเพิ่มการกระจายยูนิแกรมภายใน ด้วยเหตุนี้การบิดเบือน = 1.0 จะให้การสุ่มตัวอย่างแบบ unigram ปกติ (ตามที่กำหนดโดยไฟล์คำศัพท์) และการบิดเบือน = 0.0 ให้การกระจายที่สม่ำเสมอ
  • num_reserved_ids: ผู้ใช้สามารถเพิ่ม ID ที่สงวนไว้บางส่วนในช่วง [0, ... , num_reserved_ids) ได้ กรณีการใช้งานอย่างหนึ่งคือโทเค็นคำพิเศษที่ไม่รู้จักถูกใช้เป็น ID 0 รหัสเหล่านี้จะมีความน่าจะเป็นในการสุ่มตัวอย่างเป็น 0
  • num_shards: ตัวอย่างสามารถใช้เพื่อสุ่มตัวอย่างจากส่วนย่อยของช่วงเดิมเพื่อเร่งความเร็วในการคำนวณทั้งหมดผ่านการขนานกัน พารามิเตอร์นี้ (ร่วมกับ 'shard') ระบุจำนวนพาร์ติชันที่ถูกใช้ในการคำนวณโดยรวม
  • ชาร์ด: ตัวอย่างสามารถใช้ในการสุ่มตัวอย่างจากส่วนย่อยของช่วงเดิมเพื่อเร่งความเร็วในการคำนวณทั้งหมดผ่านการขนานกัน พารามิเตอร์นี้ (ร่วมกับ 'num_shards') ระบุหมายเลขพาร์ติชันเฉพาะของ sampler op เมื่อใช้การแบ่งพาร์ติชัน
  • unigrams: รายการจำนวน unigram หรือความน่าจะเป็นหนึ่งรายการต่อ ID ตามลำดับ ควรส่ง vocab_file และ unigrams หนึ่งรายการไปยัง op นี้
  • seed: ถ้า seed หรือ seed2 ถูกตั้งค่าเป็น non-zero ตัวสร้างตัวเลขสุ่มจะถูก seed โดย seed ที่กำหนด มิฉะนั้นจะเพาะเมล็ดโดยการสุ่ม
  • seed2: เมล็ดพันธุ์ที่สองเพื่อหลีกเลี่ยงการชนกันของเมล็ด

ผลตอบแทน:

  • Output sampled_candidates: เวกเตอร์ที่มีความยาวเป็นตัวเลขซึ่งแต่ละองค์ประกอบเป็นรหัสของผู้สมัครที่สุ่มตัวอย่าง
  • Output true_ ไม่คาดคิด_count: เมทริกซ์ batch_size * num_true ซึ่งแสดงจำนวนครั้งที่ผู้สมัครแต่ละคนคาดว่าจะเกิดขึ้นในกลุ่มผู้สมัครที่สุ่มตัวอย่าง ถ้า unique = true นี่คือความน่าจะเป็น
  • Output sampled_ ไม่คาดคิด_count: เวกเตอร์ของความยาวที่เป็นตัวเลขสำหรับผู้สมัครที่สุ่มตัวอย่างแต่ละตัวที่แสดงจำนวนครั้งที่ผู้สมัครคาดว่าจะเกิดขึ้นในกลุ่มผู้สมัครที่สุ่มตัวอย่าง ถ้า unique = true นี่คือความน่าจะเป็น

ผู้สร้างและผู้ทำลาย

FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max)
FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max, const FixedUnigramCandidateSampler::Attrs & attrs)

คุณลักษณะสาธารณะ

operation
sampled_candidates
sampled_expected_count
true_expected_count

ฟังก์ชั่นคงที่สาธารณะ

Distortion (float x)
NumReservedIds (int64 x)
NumShards (int64 x)
Seed (int64 x)
Seed2 (int64 x)
Shard (int64 x)
Unigrams (const gtl::ArraySlice< float > & x)
VocabFile (StringPiece x)

โครงสร้าง

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

ตัวตั้งค่าแอตทริบิวต์ทางเลือกสำหรับ FixedUnigramCandidateSampler

คุณลักษณะสาธารณะ

การดำเนินการ

Operation operation

sampled_candidates

::tensorflow::Output sampled_candidates

sampled_ expected_count

::tensorflow::Output sampled_expected_count

true_ ไม่คาดคิด_count

::tensorflow::Output true_expected_count

หน้าที่สาธารณะ

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max
)

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max,
  const FixedUnigramCandidateSampler::Attrs & attrs
)

ฟังก์ชั่นคงที่สาธารณะ

การบิดเบือน

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

เมล็ดพันธุ์

Attrs Seed(
  int64 x
)

เมล็ดพันธุ์ 2

Attrs Seed2(
  int64 x
)

ชาร์ด

Attrs Shard(
  int64 x
)

Unigrams

Attrs Unigrams(
  const gtl::ArraySlice< float > & x
)

VocabFile

Attrs VocabFile(
  StringPiece x
)