Bilinen Doğrudan Alt Sınıflar |
Bir modelin girişi veya çıkışı için veri arabelleğini temsil eder.
Genel Yöntemler
Statik TensorBuffer | |
Statik TensorBuffer | createFixedSize (int[] şekli, DataType dataType) |
Statik TensorBuffer | createFrom ( TensorBuffer tamponu, DataType dataType) Belirtilen DataType ile başka birinden derin kopyalayan bir TensorBuffer verisi oluşturur. |
Bayt Tamponu | getBuffer () Veri arabelleğini döndürür. |
özet Veri Türü | getDataType () Bu arabelleğin veri türünü döndürür. |
int | getFlatSize () Tamponun düzSize değerini alır. |
soyut kayan nokta[] | getFloatArray () Bu arabellekte depolanan değerlerin kayan dizisini döndürür. |
soyut kayan nokta | getFloatValue (int absIndex) Belirli bir dizindeki kayan nokta değerini döndürür. |
soyut int[] | getIntArray () Bu arabellekte depolanan değerlerin int dizisini döndürür. |
soyut int | getIntValue (int absIndex) Belirli bir dizindeki int değerini döndürür. |
int[] | getShape () Geçerli şekli alır. |
soyut int | getTypeSize () Dizideki tek bir öğenin bayt sayısını döndürür. |
boolean | Dinamik () TensorBuffer dinamik boyutlu olup olmadığını döndürür (isteğe bağlı olarak yeniden boyutlandırılabilir). |
soyut geçersiz | loadArray (int[] kaynak, int[] şekli) Bu ara belleğe belirli bir şekle sahip bir int dizisi yükler. |
soyut geçersiz | loadArray (float[] src, int[] şekli) Bu ara belleğe belirli bir şekle sahip bir kayan dizi yükler. |
geçersiz | loadArray (float[] kaynak) Bu ara belleğe bir kayan dizi yükler. |
geçersiz | loadArray (int[] kaynak) Bu arabelleğe bir int dizisi yükler. |
geçersiz | |
geçersiz | loadBuffer ( ByteBuffer arabelleği, int[] şekli) Bu TensorBuffer belirli bir şekle sahip bir bayt arabelleği yükler. |
Kalıtsal Yöntemler
Genel Yöntemler
genel statik TensorBuffer createDynamic ( DataType dataType)
Belirtilen DataType
ile boş bir dinamik TensorBuffer
oluşturur. Oluşturulan TensorBuffer
şekli {0}'dir.
Dinamik TensorBuffer'lar, farklı arabellek boyutlarındaki dizileri veya veri arabelleklerini yüklerken belleği yeniden tahsis edecektir. İşte bazı örnekler:
// Creating a float dynamic TensorBuffer: TensorBuffer tensorBuffer = TensorBuffer.createDynamic(DataType.FLOAT32); // Loading a float array: float[] arr1 = new float[] {1, 2, 3}; tensorBuffer.loadArray(arr, new int[] {arr1.length}); // loading another float array: float[] arr2 = new float[] {1, 2, 3, 4, 5}; tensorBuffer.loadArray(arr, new int[] {arr2.length}); // loading a third float array with the same size as arr2, assuming shape doesn't change: float[] arr3 = new float[] {5, 4, 3, 2, 1}; tensorBuffer.loadArray(arr); // loading a forth float array with different size as arr3 and omitting the shape will result // in error: float[] arr4 = new float[] {3, 2, 1}; tensorBuffer.loadArray(arr); // Error: The size of byte buffer and the shape do not match.
Parametreler
veri tipi | Oluşturulacak TensorBuffer dataType'ı. |
---|
public static TensorBuffer createFixedSize (int[] şekli, DataType dataType)
Belirtilen shape
ve DataType
ile bir TensorBuffer
oluşturur. İşte bazı örnekler:
// Creating a float TensorBuffer with shape {2, 3}: int[] shape = new int[] {2, 3}; TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.FLOAT32);
// Creating an uint8 TensorBuffer of a scalar: int[] shape = new int[] {}; TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
// Creating an empty uint8 TensorBuffer: int[] shape = new int[] {0}; TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
Sabit boyutlu bir TensorBuffer'ın boyutu, oluşturulduktan sonra değiştirilemez.
Parametreler
şekil | Oluşturulacak TensorBuffer şekli. |
---|---|
veri tipi | Oluşturulacak TensorBuffer dataType'ı. |
Atar
NullPointerException | shape null ise. |
---|---|
YasadışıTartışmaİstisna | shape pozitif olmayan öğeleri varsa. |
genel statik TensorBuffer createFrom ( TensorBuffer arabelleği, DataType dataType)
Belirtilen DataType
ile başka birinden derin kopyalayan bir TensorBuffer
verisi oluşturur.
Parametreler
tampon | kopyalanacak kaynak TensorBuffer . |
---|---|
veri tipi | yeni oluşturulan TensorBuffer beklenen DataType . |
Atar
NullPointerException | buffer boşsa. |
---|
public int getFlatSize ()
Tamponun düzSize değerini alır.
Atar
Yasadışı Durum İstisnası | temel veriler bozuksa |
---|
genel soyut kayan nokta[] getFloatArray ()
Bu arabellekte depolanan değerlerin kayan dizisini döndürür. Tamponun tipi float'tan farklıysa değerler float'a dönüştürülür. Örneğin, TensorBufferUint8
değerler uint8'den float'a dönüştürülecektir.
genel soyut kayan nokta getFloatValue (int absIndex)
Belirli bir dizindeki kayan nokta değerini döndürür. Tamponun tipi float'tan farklıysa değer float'a dönüştürülür. Örneğin, TensorBufferUint8
bir değer okunurken, değer önce uint8 olarak okunacak ve daha sonra uint8'den float'a dönüştürülecektir.
For example, a TensorBuffer with shape {2, 3} that represents the following array, [[0.0f, 1.0f, 2.0f], [3.0f, 4.0f, 5.0f]]. The fourth element (whose value is 3.0f) in the TensorBuffer can be retrieved by: float v = tensorBuffer.getFloatValue(3);
Parametreler
absIndex | Okunacak değerin mutlak indeksi. |
---|
genel soyut int[] getIntArray ()
Bu arabellekte depolanan değerlerin int dizisini döndürür. Arabellek int'ten farklı türdeyse değerler int'ye dönüştürülür ve hassasiyet kaybı yaşanabilir. Örneğin, TensorBufferFloat
{400.32f, 23.04f} değerlerine sahip bir int dizisi alındığında çıktı {400, 23} olur.
genel özet int getIntValue (int absIndex)
Belirli bir dizindeki int değerini döndürür. Arabellek int'ten farklı türdeyse değer int'ye dönüştürülür. Örneğin, TensorBufferFloat
bir değer okunurken, değer önce float olarak okunacak, daha sonra floattan int'ye dönüştürülecektir. Hassasiyet kaybı söz konusu olabilir.
For example, a TensorBuffer with shape {2, 3} that represents the following array, [[0.0f, 1.0f, 2.0f], [3.0f, 4.0f, 5.0f]]. The fourth element (whose value is 3.0f) in the TensorBuffer can be retrieved by: int v = tensorBuffer.getIntValue(3); Note that v is converted from 3.0f to 3 as a result of type conversion.
Parametreler
absIndex | Okunacak değerin mutlak indeksi. |
---|
genel int[] getShape ()
Geçerli şekli alır. (Beklenmeyen değişiklikleri önlemek için bir kopyayı buraya gönderiyorum.)
Atar
Yasadışı Durum İstisnası | temel veriler bozuksa |
---|
genel soyut int getTypeSize ()
Dizideki tek bir öğenin bayt sayısını döndürür. Örneğin, kayan arabellek 4 değerini, bayt arabelleği ise 1 değerini döndürecektir.
genel boolean isDynamic ()
TensorBuffer
dinamik boyutlu olup olmadığını döndürür (isteğe bağlı olarak yeniden boyutlandırılabilir).
genel soyut void loadArray (int[] src, int[] şekli)
Bu ara belleğe belirli bir şekle sahip bir int dizisi yükler. Arabellek int'den farklı türdeyse, değerler arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve hassasiyet kaybı söz konusu olabilir. Örneğin, {400, -23} değerlerine sahip bir int dizisini TensorBufferUint8
yüklerken, değerler [0, 255]'e sabitlenecek ve ardından {255, 0} tarafından uint8'e dönüştürülecektir.
Parametreler
kaynak | Yüklenecek kaynak dizisi. |
---|---|
şekil | src temsil ettiği tensörün şekli. |
Atar
NullPointerException | eğer src boşsa. |
---|---|
NullPointerException | shape null ise. |
YasadışıTartışmaİstisna | yüklenecek dizinin boyutu belirtilen şekille eşleşmiyorsa. |
genel soyut void loadArray (float[] src, int[] şekli)
Bu ara belleğe belirli bir şekle sahip bir kayan dizi yükler. Arabellek, kayan noktadan farklı türdeyse, değerler ara belleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve hassasiyet kaybı söz konusu olabilir. Örneğin, {400.32f, -23.04f} değerlerine sahip bir TensorBufferUint8
bir float dizisi yüklendiğinde, değerler [0, 255]'e sabitlenecek ve ardından {255, 0} tarafından uint8'e dönüştürülecektir.
Parametreler
kaynak | Yüklenecek kaynak dizisi. |
---|---|
şekil | src temsil ettiği tensörün şekli. |
Atar
NullPointerException | eğer src boşsa. |
---|---|
NullPointerException | shape null ise. |
YasadışıTartışmaİstisna | yüklenecek dizinin boyutu belirtilen şekille eşleşmiyorsa. |
genel geçersiz loadArray (float[] src)
Bu ara belleğe bir kayan dizi yükler. Arabellek, kayan noktadan farklı türdeyse, değerler ara belleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve hassasiyet kaybı söz konusu olabilir. Örneğin, {400.32f, -23.04f} değerlerine sahip bir TensorBufferUint8
bir float dizisi yüklendiğinde, değerler [0, 255]'e sabitlenecek ve ardından {255, 0} tarafından uint8'e dönüştürülecektir.
Bu yöntemin kullanılması, src
şeklinin bu TensorBuffer
şekliyle aynı olduğunu varsayar. Bu nedenle buffer
boyutu ( src.length
), hem sabit boyutlu hem de dinamik TensorBuffer
için her zaman bu TensorBuffer
düz boyutuyla eşleşmelidir. src
farklı bir şekle sahipse loadArray(float[], int[])
kullanın.
Parametreler
kaynak | Yüklenecek kaynak dizisi. |
---|
genel geçersiz loadArray (int[] src)
Bu arabelleğe bir int dizisi yükler. Arabellek int'den farklı türdeyse, değerler arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve hassasiyet kaybı söz konusu olabilir. Örneğin, {400, -23} değerlerine sahip bir int dizisini TensorBufferUint8
yüklerken, değerler [0, 255]'e sabitlenecek ve ardından {255, 0} tarafından uint8'e dönüştürülecektir.
Bu yöntemin kullanılması, src
şeklinin bu TensorBuffer
şekliyle aynı olduğunu varsayar. Bu nedenle buffer
boyutu ( src.length
), hem sabit boyutlu hem de dinamik TensorBuffer
için her zaman bu TensorBuffer
düz boyutuyla eşleşmelidir. src
farklı bir şekle sahipse loadArray(int[], int[])
kullanın.
Parametreler
kaynak | Yüklenecek kaynak dizisi. |
---|
genel geçersiz loadBuffer ( ByteBuffer arabelleği)
Bu TensorBuffer
bir bayt arabelleği yükler. Arabellek boyutu bu TensorBuffer
düz boyutuyla eşleşmelidir.
Bu yöntemin kullanılması, buffer
şeklinin bu TensorBuffer
şekliyle aynı olduğunu varsayar. Bu nedenle, hem sabit boyutlu hem de dinamik TensorBuffer
için buffer
boyutu ( buffer.limit()
), her zaman bu TensorBuffer
düz boyutuyla eşleşmelidir. buffer
farklı bir şekle sahipse loadBuffer(ByteBuffer, int[])
kullanın.
Önemli: Yüklenen arabellek bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.
En iyi performans için her zaman doğrudan bir ByteBuffer
veya bir dizi tarafından desteklenen bir ByteBuffer
yükleyin.
buffer
salt okunursa, performans için yazarken kopyala stratejisini benimseriz.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|
public void loadBuffer ( ByteBuffer tamponu, int[] şekli)
Bu TensorBuffer
belirli bir şekle sahip bir bayt arabelleği yükler.
Önemli: Yüklenen arabellek bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.
En iyi performans için her zaman doğrudan bir ByteBuffer
veya bir dizi tarafından desteklenen bir ByteBuffer
yükleyin.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|---|
şekil |
Atar
NullPointerException | buffer boşsa. |
---|---|
YasadışıTartışmaİstisna | buffer ve typeSize boyutu eşleşmiyorsa veya buffer ve flatSize boyutu eşleşmiyorsa. |