Operasyon, giriş tensörlerinde sağlanan protobuf mesajlarını serileştirir.
"Değerler"deki tensörlerin türleri, "alan_adları"nda belirtilen alanların şemasıyla eşleşmelidir. "Değerler"deki tüm tensörlerin ortak bir şekil öneki, toplu_şekil olması gerekir.
'Boyutlar' tensörü, her alan için tekrar sayısını belirtir. "Değerler"deki her bir tensörün tekrar sayısı (son boyut), "boyutlar"daki karşılık gelen tekrar sayısından büyük veya ona eşit olmalıdır.
Alan adlarına bağlam kazandırmak için bir "mesaj_türü" adı sağlanmalıdır. Gerçek mesaj tanımlayıcısı, bağlı tanımlayıcı havuzunda veya arayan tarafından "tanımlayıcı_kaynak" özelliği kullanılarak sağlanan dosya adında aranabilir.
Proto alan tipleri ile TensorFlow dtipleri arasındaki eşleme çoğunlukla basittir. Ancak birkaç özel durum vardır:
- Bir alt mesaj veya grup içeren bir protokol alanı yalnızca `DT_STRING`e (serileştirilmiş alt mesaj) dönüştürülebilir. Bunun amacı API'nin karmaşıklığını azaltmaktır. Ortaya çıkan dize, decode_proto işleminin başka bir örneğine girdi olarak kullanılabilir.
- TensorFlow imzasız tamsayılar için destekten yoksundur. Ops, uint64 türlerini aynı ikili tamamlayıcı bit düzenine sahip bir 'DT_INT64' olarak temsil eder (açık yol). İmzasız int32 değerleri tam olarak 'DT_INT64' tipi belirtilerek veya arayan kişinin 'output_types' özelliğinde 'DT_INT32' belirtmesi durumunda ikili tamamlayıcı kullanılarak temsil edilebilir.
"tanımlayıcı_kaynak" özelliği, "mesaj_türü" aranırken başvurulacak protokol tanımlayıcılarının kaynağını seçer. Bu olabilir:
- Boş bir dize veya "local://"; bu durumda, ikili dosyaya bağlı C++ (Python değil) protokol tanımları için protokol tanımlayıcıları oluşturulur.
- Bir dosya; bu durumda protokol tanımlayıcıları dosyadan oluşturulur ve bu dosyanın dize olarak serileştirilmiş bir 'FileDescriptorSet' içermesi beklenir. NOT: Protokol derleyicisi 'protoc' için '--descriptor_set_out' ve '--include_imports' seçeneklerini kullanarak bir 'descriptor_source' dosyası oluşturabilirsiniz.
- Bir "bayt://
İç İçe Sınıflar
sınıf | EncodeProto.Options | EncodeProto için isteğe bağlı özellikler |
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
Çıkış < TString > | Çıkış olarak () Tensörün sembolik tutamacını döndürür. |
Çıkış < TString > | bayt () 'Batch_shape' şeklindeki serileştirilmiş protoların tensörü. |
statik KodlamaProto | |
statik EncodeProto.Options | tanımlayıcıKaynak (Dize tanımlayıcıKaynak) |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
genel Çıkış < TString > asOutput ()
Tensörün sembolik tutamacını döndürür.
TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.
public static EncodeProto create ( Kapsam kapsamı, İşlenen < TInt32 > boyutları, Yinelenebilir< İşlenen <?>> değerleri, List<String> fieldNames, String messageType, Options... seçenekleri)
Yeni bir EncodeProto işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
boyutlar | '[batch_shape, len(field_names)]' şeklindeki int32 tensörü. |
değerler | İlgili alan için değerleri içeren tensörlerin listesi. |
alanAdları | Proto alan adlarını içeren dizelerin listesi. |
mesaj tipi | Kodu çözülecek protokol mesaj türünün adı. |
seçenekler | isteğe bağlı nitelik değerlerini taşır |
İadeler
- EncodeProto'nun yeni bir örneği