Op tuần tự hóa các thông báo protobuf được cung cấp trong các tensor đầu vào.
Các loại tensor trong `values` phải khớp với lược đồ cho các trường được chỉ định trong `field_names`. Tất cả các tensor trong `values` phải có tiền tố hình dạng chung, batch_shape .
Tenxơ `sizes` chỉ định số lần lặp lại cho từng trường. Số lần lặp lại (chiều cuối cùng) của mỗi tensor trong `giá trị` phải lớn hơn hoặc bằng số lần lặp lại tương ứng trong `kích thước`.
Bạn phải cung cấp tên `message_type` để cung cấp ngữ cảnh cho tên trường. Bộ mô tả thông báo thực tế có thể được tra cứu trong nhóm bộ mô tả được liên kết hoặc tên tệp do người gọi cung cấp bằng cách sử dụng thuộc tính `descriptor_source`.
Đối với hầu hết các phần, việc ánh xạ giữa các loại trường Proto và các loại dtype TensorFlow rất đơn giản. Tuy nhiên có một số trường hợp đặc biệt:
- Trường proto chứa một tin nhắn con hoặc nhóm chỉ có thể được chuyển đổi thành `DT_STRING` (tin nhắn con được tuần tự hóa). Điều này nhằm giảm độ phức tạp của API. Chuỗi kết quả có thể được sử dụng làm đầu vào cho một phiên bản khác của op giải mã_proto.
- TensorFlow thiếu hỗ trợ cho số nguyên không dấu. Các op biểu thị các loại uint64 dưới dạng `DT_INT64` với cùng mẫu bit bổ sung twos (cách hiển nhiên). Các giá trị int32 không dấu có thể được biểu diễn chính xác bằng cách chỉ định loại `DT_INT64` hoặc sử dụng phần bù twos nếu người gọi chỉ định `DT_INT32` trong thuộc tính `output_types`.
Thuộc tính `descriptor_source` chọn nguồn của bộ mô tả giao thức để tham khảo khi tra cứu `message_type`. Điều này có thể:
- Một chuỗi trống hoặc "local://", trong trường hợp đó các bộ mô tả giao thức được tạo cho các định nghĩa nguyên mẫu C++ (không phải Python) được liên kết với tệp nhị phân.
- Một tệp, trong trường hợp này các bộ mô tả giao thức được tạo từ tệp, dự kiến sẽ chứa một `FileDescriptorSet` được tuần tự hóa dưới dạng một chuỗi. LƯU Ý: Bạn có thể tạo tệp `descriptor_source` bằng cách sử dụng tùy chọn `--descriptor_set_out` và `--include_imports` cho trình biên dịch giao thức `protoc`.
- Một "byte://
Các lớp lồng nhau
lớp học | EncodeProto.Options | Thuộc tính tùy chọn cho EncodeProto |
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công khai
Đầu ra < TString > | asOutput () Trả về tay cầm tượng trưng của tensor. |
Đầu ra < TString > | byte () Tensor của các proto được tuần tự hóa có hình dạng `batch_shape`. |
Mã hóa tĩnhProto | |
EncodeProto.Options tĩnh | descriptorSource (Chuỗi mô tảSource) |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công khai
Đầu ra công khai < TString > asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
Đầu ra công khai < TString > byte ()
Tensor của các proto được tuần tự hóa có hình dạng `batch_shape`.
công khai tĩnh EncodeProto tạo ( Phạm vi phạm vi , kích thước Toán hạng < TInt32 >, các giá trị Iterable< Toán hạng <?>>, Tên trường Danh sách<String>, Kiểu thông báo chuỗi, Tùy chọn... tùy chọn)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác EncodeProto mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
kích cỡ | Tenor của int32 có hình dạng `[batch_shape, len(field_names)]`. |
giá trị | Danh sách các tensor chứa các giá trị cho trường tương ứng. |
tên trường | Danh sách các chuỗi chứa tên trường proto. |
loại tin nhắn | Tên của loại tin nhắn nguyên mẫu cần giải mã. |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của EncodeProto