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
DataBuffer <bayt[]> | copyTo ( DataBuffer <byte[]> dst, uzun boyut) Kaynak dizideki nesnelerin referanslarını bu ara belleğe yazın. |
boolean | eşittir (Nesne nesnesi) |
int | hash kodu () |
DataBuffer <bayt[]> | okuma (T[] dst, int ofset, int uzunluk) Bu arabellekteki nesnelerin referanslarını hedef diziye okuyun. |
DataBuffer <bayt[]> | yaz (T[] kaynak, int ofset, int uzunluk) İnt dizilerini kullanan toplu koyma yöntemi. |
boolean | eşittir (Nesne arg0) |
son Sınıf<?> | getClass () |
int | hash kodu () |
son boşluk | bildir () |
son boşluk | tümünü bildir () |
Sicim | toString () |
son boşluk | bekle (uzun arg0, int arg1) |
son boşluk | bekle (uzun arg0) |
son boşluk | Beklemek () |
özet <R> R | |
özet DataBuffer <bayt[]> | copyTo ( DataBuffer <byte[]> dst, uzun boyut) Kaynak dizideki nesnelerin referanslarını bu ara belleğe yazın. |
soyut boole | eşittir (Nesne nesnesi) Veri arabellekleri arasındaki eşitliği kontrol eder. |
soyut bayt[] | getObject (uzun dizin) Verilen indeksteki değeri okur. |
soyut boole | Salt Okunur () Bu arabelleğin erişilebilir bir dizi tarafından desteklenip desteklenmediğini belirtir. |
özet DataBuffer <bayt[]> | dar (uzun boy) İçeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan ve boyutu verilen değere ayarlanmış yeni bir arabellek oluşturur. |
özet DataBuffer <bayt[]> | ofset (uzun indeks) Verilen dizinden başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
özet DataBuffer <bayt[]> | oku (T[] dst) Bu arabellekteki nesnelerin referanslarını hedef diziye okuyun. |
özet DataBuffer <bayt[]> | okuma (T[] dst, int ofset, int uzunluk) Bu arabellekteki nesnelerin referanslarını hedef diziye okuyun. |
özet DataBuffer <bayt[]> | setObject (bayt[] değeri, uzun dizin) Verilen değeri, verilen dizindeki bu arabelleğe yazar. |
soyut uzun | boyut () Öğeler cinsinden arabelleğin boyutu. |
özet DataBuffer <bayt[]> | dilim (uzun dizin, uzun boyut) Verilen dizinden ve verilen boyuttan başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
özet DataBufferWindow <? DataBuffer'ı genişletir <T>> | pencere (uzun boy) Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow oluşturur. |
özet DataBuffer <bayt[]> | yaz (T[] kaynak) Kaynak dizideki nesnelerin referanslarını bu ara belleğe yazın. |
özet DataBuffer <bayt[]> | yaz (T[] kaynak, int ofset, int uzunluk) İnt dizilerini kullanan toplu koyma yöntemi. |
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 |
---|