ByteSequenceTensorBuffer

genel sınıf ByteSequenceTensorBuffer

Dize tensör verilerini depolamak için arabellek.

Değerler, aslında std::string taşınabilir bir sürümü olan tensorflow::tstring ile dahili olarak sarılmış bir TF_TString dizisi olarak saklanır.

Arabellek verileri yalnızca bir kez çağrılarak ERROR(/#init(NdArray, Function)) çağrılarak başlatılmalıdır ve ara belleğe önceden yeterli alan tahsis edilmiş olmalıdır (use ERROR(/#computeSize(NdArray, Function)) Verileri depolamak için tam olarak kaç bayt gerektiğini bilin).

Verileri başlatıldıktan sonra, tüm verileri yeniden başlatmadan bir değeri güvenli bir şekilde değiştirmek mümkün olmadığından arabellek salt okunurdur.

Genel Yöntemler

statik <T> uzun
computeSize ( ByteSequenceProvider <?> byteSequenceProvider)
Verilen verileri bir dize arabelleğinde depolamak için kaç bayt gerektiğini hesaplar.
DataBuffer <bayt[]>
copyTo ( DataBuffer <byte[]> dst, uzun boyut)
Kaynak dizideki nesnelerin referanslarını bu ara belleğe yazın.
bayt[]
getObject (uzun dizin)
<T> geçersiz
init ( ByteSequenceProvider <T> byteSequenceProvider)
Bu arabelleğin verilerini başlatın.
boolean
DataBuffer <bayt[]>
setObject (bayt[] değerleri, uzun dizin)
uzun
boyut ()
DataBuffer <bayt[]>
dilim (uzun dizin, uzun boyut)

Kalıtsal Yöntemler

Genel Yöntemler

public static long computeSize ( ByteSequenceProvider <?> byteSequenceProvider)

Verilen verileri bir dize arabelleğinde depolamak için kaç bayt gerektiğini hesaplar.

Parametreler
byteSequenceProvider bayt dizileri üretir
İadeler
  • verileri depolamak için gereken bayt sayısı.

public DataBuffer <byte[]> copyTo ( DataBuffer <byte[]> dst, uzun boyut)

Kaynak dizideki nesnelerin referanslarını bu ara belleğe yazın.

Kopyalanacak hedef arabellek boyutundan daha fazla değer varsa, yani size > dst.size() , o zaman hiçbir değer aktarılmaz ve bir BufferOverflowException oluşturulur. Öte yandan, kaynak arabellek boyutundan daha fazla kopyalanacak değer varsa (örneğin > src.size() , bu durumda bir BufferUnderfloatException oluşturulur.

Aksi takdirde, bu yöntem n = size değerlerini bu arabellekten hedef arabelleğe kopyalar.

Parametreler
dst değerlerin kopyalandığı hedef arabellek; bu arabellek olmamalı
boyut hedef ara belleğe kopyalanacak değer sayısı
İadeler
  • bu tampon

public byte[] getObject (uzun dizin)

public void init ( ByteSequenceProvider <T> byteSequenceProvider)

Bu arabelleğin verilerini başlatın.

Programlı olarak uygulanmasa da, bu yöntemin arabellek oluşturulduktan sonra yalnızca bir kez çağrılması zorunludur. Arabellek aynı veri kümesine göre tahsis edilmiş olmalı ve depolamak için yeterli alan olduğundan emin olmak için ERROR(/#computeSize(NdArray, Function)) öncelikli olarak çağrılmalıdır.

Parametreler
byteSequenceProvider tensör verileri olarak kullanılacak bayt dizilerini üretir

genel boolean Salt Okunur ()

public DataBuffer <byte[]> setObject (byte[] değerleri, uzun indeks)

halka açık uzun boy ()

public DataBuffer <byte[]> dilimi (uzun dizin, uzun boyut)