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