บัฟเฟอร์สำหรับจัดเก็บข้อมูลเทนเซอร์สตริง
ค่าจะถูกจัดเก็บเป็นอาร์เรย์ของ TF_TString
ซึ่งห่อภายในด้วย tensorflow::tstring
ซึ่งเป็นเวอร์ชันพกพาของ std::string
ข้อมูลของบัฟเฟอร์จะต้องเริ่มต้นได้เพียงครั้งเดียว โดยการเรียก ERROR(/#init(NdArray, Function))
และบัฟเฟอร์จะต้องได้รับการจัดสรรโดยมีพื้นที่เพียงพอ (ใช้ ERROR(/#computeSize(NdArray, Function))
ลำดับความสำคัญ ทราบแน่ชัดว่าต้องเก็บข้อมูลกี่ไบต์)
หลังจากที่ข้อมูลได้รับการเตรียมใช้งานแล้ว บัฟเฟอร์จะเป็นแบบอ่านอย่างเดียว เนื่องจากไม่สามารถเปลี่ยนค่าได้อย่างปลอดภัยโดยไม่ต้องเตรียมข้อมูลใหม่ทั้งหมด
วิธีการสาธารณะ
คงที่ <T> ยาว | computeSize ( ByteSequenceProvider <?> byteSequenceProvider) คำนวณจำนวนไบต์ที่จำเป็นในการจัดเก็บข้อมูลที่กำหนดในบัฟเฟอร์สตริง |
DataBuffer <ไบต์[]> | copyTo ( DataBuffer <byte[]> dst ขนาดยาว) เขียนการอ้างอิงของออบเจ็กต์ในอาร์เรย์ต้นทางลงในบัฟเฟอร์นี้ |
ไบต์[] | getObject (ดัชนีแบบยาว) |
<T> ถือเป็นโมฆะ | |
บูลีน | |
DataBuffer <ไบต์[]> | setObject (ค่าไบต์ [] ดัชนีแบบยาว) |
ยาว | ขนาด () |
DataBuffer <ไบต์[]> | ชิ้น (ดัชนียาว, ขนาดยาว) |
วิธีการสืบทอด
วิธีการสาธารณะ
ขนาดการคำนวณ แบบคงที่สาธารณะ ( ByteSequenceProvider <?> byteSequenceProvider)
คำนวณจำนวนไบต์ที่จำเป็นในการจัดเก็บข้อมูลที่กำหนดในบัฟเฟอร์สตริง
พารามิเตอร์
byteSequenceProvider | สร้างลำดับของไบต์ |
---|
การส่งคืน
- จำนวนไบต์ที่ต้องใช้ในการจัดเก็บข้อมูล
DataBuffer สาธารณะ <byte[]> copyTo ( DataBuffer <byte[]> dst ขนาดยาว)
เขียนการอ้างอิงของออบเจ็กต์ในอาร์เรย์ต้นทางลงในบัฟเฟอร์นี้
หากมีค่าที่จะคัดลอกมากกว่าขนาดบัฟเฟอร์ปลายทาง เช่น size > dst.size()
จะไม่มีการถ่ายโอนค่าใด ๆ และ BufferOverflowException จะถูกส่งออกไป ในทางกลับกัน หากมีค่ามากกว่าที่จะคัดลอกขนาดบัฟเฟอร์ต้นทาง เช่น > src.size()
ดังนั้น BufferUnderfloatException จะถูกส่งออกไป
มิฉะนั้น วิธีการนี้จะคัดลอกค่า n = size
จากบัฟเฟอร์นี้ไปยังบัฟเฟอร์ปลายทาง
พารามิเตอร์
วันเวลา | บัฟเฟอร์ปลายทางที่จะคัดลอกค่า ต้องไม่ใช่บัฟเฟอร์นี้ |
---|---|
ขนาด | จำนวนค่าที่จะคัดลอกไปยังบัฟเฟอร์ปลายทาง |
การส่งคืน
- บัฟเฟอร์นี้
ไบต์สาธารณะ [] getObject (ดัชนีแบบยาว)
โมฆะสาธารณะ init ( ByteSequenceProvider <T> byteSequenceProvider)
เตรียมใช้งานข้อมูลของบัฟเฟอร์นี้
แม้ว่าจะไม่มีการบังคับใช้ทางโปรแกรม แต่ก็จำเป็นที่วิธีนี้จะถูกเรียกเพียงครั้งเดียวหลังจากการสร้างบัฟเฟอร์ บัฟเฟอร์จะต้องได้รับการจัดสรรตามชุดข้อมูลเดียวกัน โดยเรียก ERROR(/#computeSize(NdArray, Function))
Priory เพื่อให้แน่ใจว่ามีพื้นที่เพียงพอสำหรับจัดเก็บ
พารามิเตอร์
byteSequenceProvider | สร้างลำดับไบต์เพื่อใช้เป็นข้อมูลเทนเซอร์ |
---|