op สร้างลำดับข้อความ protobuf ที่ให้ไว้ในเทนเซอร์อินพุต
ประเภทของเทนเซอร์ใน "ค่า" ต้องตรงกับสคีมาสำหรับฟิลด์ที่ระบุใน "field_names" ทั้งหมดเทนเซอร์ใน `values` ต้องมีคำนำหน้ารูปร่างทั่วไป batch_shape
เมตริก "ขนาด" ระบุจำนวนการทำซ้ำสำหรับแต่ละฟิลด์ จำนวนซ้ำ (มิติสุดท้าย) ของเมตริกซ์แต่ละตัวใน "ค่า" ต้องมากกว่าหรือเท่ากับจำนวนซ้ำที่สอดคล้องกันใน "ขนาด"
ต้องระบุชื่อ `message_type' เพื่อให้บริบทสำหรับชื่อฟิลด์ ตัวอธิบายข้อความจริงสามารถค้นหาได้ในพูล descriptor ที่เชื่อมโยงหรือชื่อไฟล์ที่ผู้เรียกให้มาโดยใช้แอตทริบิวต์ `descriptor_source`
โดยส่วนใหญ่ การแมประหว่างประเภทฟิลด์ Proto และ TensorFlow dtypes นั้นตรงไปตรงมา อย่างไรก็ตาม มีบางกรณีพิเศษ:
- ฟิลด์โปรโตที่มีข้อความย่อยหรือกลุ่มสามารถแปลงเป็น `DT_STRING` เท่านั้น (ข้อความย่อยที่ต่อเนื่องกัน) ซึ่งเป็นการลดความซับซ้อนของ API สตริงผลลัพธ์สามารถใช้เป็นอินพุตไปยังอินสแตนซ์อื่นของ decode_proto op
- TensorFlow ขาดการสนับสนุนสำหรับจำนวนเต็มที่ไม่ได้ลงนาม ops เป็นตัวแทนของประเภท uint64 เป็น `DT_INT64` ที่มีรูปแบบบิตเสริมสองส่วนเหมือนกัน (วิธีที่ชัดเจน) ค่า int32 ที่ไม่ได้ลงนามสามารถแสดงได้โดยการระบุประเภท `DT_INT64` หรือใช้ twos-complement หากผู้เรียกระบุ `DT_INT32' ในแอตทริบิวต์ `output_types`
แอตทริบิวต์ "descriptor_source" จะเลือกแหล่งที่มาของตัวอธิบายโปรโตคอลที่ต้องการปรึกษาเมื่อค้นหา "message_type" นี่อาจเป็น:
- สตริงว่างหรือ "local://" ซึ่งในกรณีนี้ตัวบอกโปรโตคอลจะถูกสร้างขึ้นสำหรับคำจำกัดความโปรโต C++ (ไม่ใช่ Python) ที่เชื่อมโยงกับไบนารี
- ไฟล์ ซึ่งในกรณีนี้ protocol descriptor ถูกสร้างขึ้นจากไฟล์ ซึ่งคาดว่าจะมี `FileDescriptorSet' ที่จัดลำดับเป็นสตริง หมายเหตุ: คุณสามารถสร้างไฟล์ "descriptor_source" โดยใช้ตัวเลือก "--descriptor_set_out" และ "--include_imports" ให้กับคอมไพเลอร์โปรโตคอล "protoc"
- เป็น "ไบต์: //
คลาสที่ซ้อนกัน
ระดับ | EncodeProto.Options | คุณลักษณะที่จำเป็นสำหรับการ EncodeProto |
วิธีการสาธารณะ
เอาท์พุท <String> | asOutput () ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์ |
เอาท์พุท <String> | ไบต์ () เทนเซอร์ของโปรโตแบบต่อเนื่องที่มีรูปร่าง "batch_shape" |
คง EncodeProto | สร้าง ( ขอบเขต ขอบเขต Operand <Integer> ขนาด Iterable < Operand <? >> ค่ารายการ <String> fieldNames, String messageType, ตัวเลือก ... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ EncodeProto ใหม่ |
คง EncodeProto.Options | descriptorSource (String descriptorSource) |
วิธีการสืบทอด
วิธีการสาธารณะ
ประชาชน เอาท์พุท <String> asOutput ()
ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการทำงานของ TensorFlow เป็นเอาต์พุตของการดำเนินการอื่นของ TensorFlow วิธีนี้ใช้เพื่อขอรับหมายเลขอ้างอิงเชิงสัญลักษณ์ที่แสดงถึงการคำนวณของอินพุต
สาธารณะคง EncodeProto สร้าง ( ขอบเขต ขอบเขต Operand <Integer> ขนาด Iterable < Operand <? >> ค่ารายการ <String> fieldNames, String messageType, ตัวเลือก ... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ EncodeProto ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ขนาด | เทนเซอร์ของ int32 ที่มีรูปร่าง `[batch_shape, len(field_names)]` |
ค่า | รายการเทนเซอร์ที่มีค่าสำหรับฟิลด์ที่เกี่ยวข้อง |
fieldNames | รายการสตริงที่มีชื่อฟิลด์โปรโต |
ประเภทข้อความ | ชื่อของประเภทข้อความโปรโตที่จะถอดรหัส |
ตัวเลือก | ดำเนินการค่าแอตทริบิวต์ทางเลือก |
คืนสินค้า
- อินสแตนซ์ใหม่ของ EncodeProto