Op membuat serial pesan protobuf yang disediakan di tensor input.
Jenis tensor dalam `nilai` harus cocok dengan skema untuk bidang yang ditentukan dalam `nama_bidang`. Semua tensor `values` harus memiliki awalan bentuk umum, batch_shape.
Tensor `sizes` 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 nama bidang. Deskriptor pesan yang sebenarnya dapat dicari baik di kumpulan deskriptor yang ditautkan atau nama file yang disediakan oleh pemanggil menggunakan atribut `descriptor_source`.
Untuk sebagian besar, pemetaan antara tipe bidang Proto dan tipe d TensorFlow sangat mudah. Namun, ada beberapa kasus khusus:
- Bidang proto yang berisi subpesan atau grup hanya dapat dikonversi ke `DT_STRING` (subpesan bersambung). 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-pelengkap yang sama (cara yang jelas). Nilai int32 yang tidak ditandatangani dapat direpresentasikan secara tepat dengan menentukan tipe `DT_INT64`, atau menggunakan pelengkap dua jika pemanggil menetapkan `DT_INT32` dalam atribut `output_types`.
Atribut `descriptor_source` memilih sumber deskriptor protokol untuk dikonsultasikan 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.
- File, di mana deskriptor protokol dibuat dari file, yang diharapkan berisi `FileDescriptorSet` yang diserialisasi sebagai string. CATATAN: Anda dapat membuat file `descriptor_source` menggunakan opsi `--descriptor_set_out` dan `--include_imports` ke kompiler protokol `protoc`.
- Sebuah "byte://
Kelas Bersarang
kelas | EncodeProto.Options | Atribut opsional untuk EncodeProto |
Metode Publik
Output <String> | asOutput () Mengembalikan pegangan simbolis tensor. |
Output <String> | byte () Tensor dari proto serial dengan bentuk `batch_shape`. |
statis EncodeProto | membuat ( Lingkup lingkup, Operan <Integer> ukuran, Iterable < Operan <? >> nilai-nilai, Daftar <String> fieldnames, String messageType, Options ... pilihan) Metode pabrik untuk membuat kelas yang membungkus operasi EncodeProto baru. |
statis EncodeProto.Options | descriptorSource (String descriptorSource) |
Metode yang Diwarisi
Metode Publik
publik Keluaran <String> asOutput ()
Mengembalikan pegangan simbolis tensor.
Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static EncodeProto membuat ( Scope lingkup, Operan <Integer> ukuran, Iterable < Operan <? >> nilai-nilai, Daftar <String> fieldnames, String messageType, Options ... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi EncodeProto baru.
Parameter
cakupan | 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. |
jenis pesan | Nama jenis pesan proto yang akan didekode. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari EncodeProto