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 | |
boolean | Salt Okunur () |
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 |
---|