EncodeProto

lớp cuối cùng công khai EncodeProto

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:// ", trong đó các bộ mô tả giao thức được tạo từ ` `, dự kiến ​​sẽ là một `FileDescriptorSet` được tuần tự hóa dưới dạng một chuỗi.

Các lớp lồng nhau

lớp học EncodeProto.Options Thuộc tính tùy chọn cho EncodeProto

Phương pháp công khai

Đầu ra <Chuỗi>
asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
Đầu ra <Chuỗi>
byte ()
Tensor của các proto được tuần tự hóa có hình dạng `batch_shape`.
hóa tĩnhProto
tạo ( Phạm vi phạm vi, kích thước Toán hạng <Số nguyên>, 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.
EncodeProto.Options tĩnh
descriptorSource (Chuỗi mô tảSource)

Phương pháp kế thừa

Phương pháp công khai

Đầu ra công khai <String> asOutput ()

Trả về phần điều khiển tượng trưng của một tenxơ.

Đầ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 <String> byte ()

Tensor của các proto được tuần tự hóa có hình dạng `batch_shape`.

public static EncodeProto tạo ( Phạm vi phạm vi, kích thước Toán hạng <Integer>, Giá trị Iterable< Toán hạng <?>>, Tên trường Danh sách<String>, Loại 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 thướ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

bộ mô tả tĩnh công khai EncodeProto.OptionsSource (Bộ mô tả chuỗiSource)