Operasi ini membuat serial pesan protobuf yang disediakan di tensor input.
Jenis tensor di `nilai` harus cocok dengan skema untuk bidang yang ditentukan dalam `nama_bidang`. Semua tensor di `values` harus memiliki awalan bentuk yang umum, batch_shape .
Tensor `ukuran` menentukan jumlah pengulangan untuk setiap bidang. Jumlah pengulangan (dimensi terakhir) dari setiap tensor dalam `nilai` harus lebih besar dari atau sama dengan jumlah pengulangan yang sesuai dalam `ukuran`.
Nama `message_type` harus diberikan untuk memberikan konteks pada nama bidang. Deskriptor pesan sebenarnya dapat dicari di kumpulan deskriptor tertaut atau nama file yang disediakan oleh pemanggil menggunakan atribut `descriptor_source`.
Secara umum, pemetaan antara tipe kolom Proto dan tipe TensorFlow sangatlah mudah. Namun, ada beberapa kasus khusus:
- Bidang proto yang berisi subpesan atau grup hanya dapat dikonversi ke `DT_STRING` (subpesan berseri). Hal ini untuk mengurangi kompleksitas API. String yang dihasilkan dapat digunakan sebagai input ke instance lain dari operasi decode_proto.
- TensorFlow tidak memiliki dukungan untuk bilangan bulat yang tidak ditandatangani. Operasi mewakili tipe uint64 sebagai `DT_INT64` dengan pola bit dua komplemen yang sama (cara yang jelas). Nilai int32 yang tidak ditandatangani dapat direpresentasikan secara tepat dengan menentukan tipe `DT_INT64`, atau menggunakan pelengkap ganda jika pemanggil menentukan `DT_INT32` dalam atribut `output_types`.
Atribut `descriptor_source` memilih sumber deskriptor protokol untuk dilihat saat mencari `message_type`. Ini mungkin:
- String kosong atau "local://", dalam hal ini deskriptor protokol dibuat untuk definisi proto C++ (bukan Python) yang ditautkan ke biner.
- Sebuah file, dalam hal ini deskriptor protokol dibuat dari file tersebut, yang diharapkan berisi `FileDescriptorSet` yang diserialkan sebagai string. CATATAN: Anda dapat membuat file `descriptor_source` menggunakan opsi `--descriptor_set_out` dan `--include_imports` ke kompiler protokol `protoc`.
- A "byte: //
Kelas Bersarang
kelas | EncodeProto.Options | Atribut opsional untuk EncodeProto |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
Keluaran <TString> | sebagai Keluaran () Mengembalikan pegangan simbolik tensor. |
Keluaran <TString> | byte () Tensor proto berseri dengan bentuk `batch_shape`. |
EncodeProto statis | |
EncodeProto.Options statis | descriptorSource (String descriptorSource) |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
Keluaran publik < TString > asOutput ()
Mengembalikan pegangan simbolik tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static EncodeProto membuat ( Lingkup cakupan , ukuran Operand < TInt32 >, nilai Iterable< Operand <?>>, Daftar<String> fieldNames, String messageType, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi EncodeProto baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
ukuran | Tensor int32 dengan bentuk `[batch_shape, len(field_names)]`. |
nilai-nilai | Daftar tensor yang berisi nilai untuk bidang terkait. |
Nama bidang | Daftar string yang berisi nama bidang proto. |
tipe pesan | Nama jenis pesan proto yang akan didekode. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru EncodeProto