Bilinen Doğrudan Alt Sınıflar |
Bir modelin girişi veya çıkışı için veri arabelleğini temsil eder.
Herkese Açık Yöntemler
statik TensorBuffer | |
statik TensorBuffer |
createFixedSize(int[] şekil, DataType dataType)
|
statik TensorBuffer |
createFrom(TensorBuffer arabelleği, DataType dataType)
Belirtilen
DataType ile başka bir veriden TensorBuffer derin kopyalama verileri oluşturur. |
ByteBuffer |
getBuffer()
Veri arabelleğini döndürür.
|
abstract DataType |
getDataType()
Bu arabelleğin veri türünü döndürür.
|
int |
getFlatSize()
Arabelleğin levelSize değerini alır.
|
soyut kayan noktalı[] |
getFloatArray()
Bu arabellekte depolanan değerlerin kayan bir dizisini döndürür.
|
soyut kayan |
getFloatValue(int absIndex)
Belirli bir dizinde kayan bir değer döndürür.
|
soyut int[] |
getIntArray()
Bu arabellekte depolanan değerlerin tam dizisini döndürür.
|
soyut int |
getIntValue(int absIndex)
Belirli bir dizinde bir int değeri 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 |
isDynamic()
TensorBuffer dinamik boyutluysa (isteğe bağlı olarak yeniden boyutlandırılabilir) bunu döndürür. |
soyut geçersiz |
loadArray(int[] src; int[] şekli)
Bu arabelleğe belirli bir şekle sahip bir int dizisi yükler.
|
soyut geçersiz |
loadArray(kayan[] src, int[] şekli)
Bu arabelleğe belirli bir şekle sahip kayan diziyi yükler.
|
void |
loadArray(kayan[] src)
Bu arabelleğe bir kayan dizi yükler.
|
void |
loadArray(int[] src)
Bu arabelleğe bir int dizisi yükler.
|
void | |
void |
loadBuffer(ByteBuffer arabelleği, int[] şekli)
Belirli bir şekle sahip bu
TensorBuffer öğesine bir bayt arabelleği yükler. |
Devralınan Yöntemler
Herkese Açık Yöntemler
herkese açık statik TensorBuffer createDynamic (DataType dataType)
Belirtilen DataType
ile boş bir dinamik TensorBuffer
oluşturur. Oluşturulan TensorBuffer
{0} şeklidir.
Dinamik TensorBuffers, farklı arabellek boyutlarındaki dizileri veya veri arabelleklerini yüklerken belleği yeniden ayırır. 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
dataType | Oluşturulacak TensorBuffer öğesinin dataType öğesi.
|
---|
herkese açık statik TensorBuffer createFixedSize (int[] shape, DataType dataType)
Belirtilen shape
ve DataType
ile bir TensorBuffer
oluşturur. Aşağıda birkaç örnek verilmiştir:
// 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 TensorBuffer'ın boyutu oluşturulduktan sonra değiştirilemez.
Parametreler
shape | Oluşturulacak TensorBuffer şekli. |
---|---|
dataType | Oluşturulacak TensorBuffer öğesinin dataType öğesi. |
Dekoratif yastıklar
NullPointerException | shape null ise. |
---|---|
IllegalArgumentException | shape pozitif olmayan öğelere sahipse
|
herkese açık statik TensorBuffer createFrom (TensorBuffer arabelleği, DataType dataType)
Belirtilen DataType
ile başka bir veriden TensorBuffer
derin kopyalama verileri oluşturur.
Parametreler
tampon | kopyalanacak kaynak TensorBuffer . |
---|---|
dataType | yeni oluşturulan TensorBuffer için beklenen DataType . |
Dekoratif yastıklar
NullPointerException | buffer null ise.
|
---|
herkese açık int getFlatSize ()
Arabelleğin levelSize değerini alır.
Dekoratif yastıklar
IllegalStateException | temel veriler bozuksa |
---|
herkese açık soyut float[] getFloatArray ()
Bu arabellekte depolanan değerlerin kayan bir dizisini döndürür. Tampon, kayan öğeden farklı türlerdeyse değerler kayan noktalı değere dönüştürülür. Örneğin, TensorBufferUint8
içindeki değerler uint8 değerinden hareketli değerine dönüştürülür.
herkese açık soyut kayan nokta getFloatValue (int absIndex)
Belirli bir dizinde kayan bir değer döndürür. Tampon, kayan öğeden farklı türlerdeyse değer, hareketli değere dönüştürülür. Örneğin, TensorBufferUint8
öğesinden bir değer okunurken, değer önce uint8 olarak okunur, ardından uint8'den float'a dönüştürülür.
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 dizini. |
---|
genel soyut int[] getIntArray ()
Bu arabellekte depolanan değerlerin tam dizisini döndürür. Tampon, int'ten farklı bir türdeyse değerler int'e dönüştürülür ve kesinlik kaybı uygulanabilir. Örneğin, {400.32f, 23.04f} değerlerine sahip bir TensorBufferFloat
öğesinden int dizisi alındığında çıktı {400, 23} olur.
herkese açık abstract int getIntValue (int absIndex)
Belirli bir dizinde bir int değeri döndürür. Tampon, int'ten farklı türlerdeyse değer, int'e dönüştürülür. Örneğin, TensorBufferFloat
değerinden bir değer okunurken değer önce kayan noktalı olarak okunur, ardından kayan öğeden int'e dönüştürülür. 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 dizini. |
---|
herkese açık int[] getShape ()
Geçerli şekli alır. (Beklenmeyen değişiklikten kaçınmak için bir kopyasını buraya geri döndürüyoruz.)
Dekoratif yastıklar
IllegalStateException | temel veriler bozuksa |
---|
herkese açık abstract int getTypeSize ()
Dizideki tek bir öğenin bayt sayısını döndürür. Örneğin, kayan arabelleği 4, bayt arabelleği ise 1 değerini döndürür.
herkese açık boole isDynamic ()
TensorBuffer
dinamik boyutluysa (isteğe bağlı olarak yeniden boyutlandırılabilir) bunu döndürür.
genel soyut void loadArray (int[] src, int[] şekil)
Bu arabelleğe belirli bir şekle sahip bir int dizisi yükler. Tampon, int'ten farklı türlerdeyse değerler, arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve kesinlik kaybı uygulanabilir. Örneğin, {400, -23} değerlerine sahip bir tam diziyi TensorBufferUint8
içine yüklerseniz değerler [0, 255] olarak sabitlenir ve ardından {255, 0} tarafından uint8'e yayınlanır.
Parametreler
src | Yüklenecek kaynak dizi. |
---|---|
shape | src tarafından temsil edilen tensörün şekli. |
Dekoratif yastıklar
NullPointerException | src null ise. |
---|---|
NullPointerException | shape null ise. |
IllegalArgumentException | değeri, yüklenecek dizinin boyutu belirtilen şekille eşleşmezse |
herkese açık soyut void loadArray (float[] src, int[] şekil)
Bu arabelleğe belirli bir şekle sahip kayan diziyi yükler. Tampon, kayan öğeden farklı türdeyse değerler, arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve kesinlik kaybı uygulanabilir. Örneğin, {400.32f, -23.04f} değerlerine sahip bir TensorBufferUint8
içine bir kayan dizi yüklendiğinde, değerler [0, 255] olarak sabitlenir ve ardından {255, 0} tarafından uint8'e yayınlanır.
Parametreler
src | Yüklenecek kaynak dizi. |
---|---|
shape | src tarafından temsil edilen tensörün şekli. |
Dekoratif yastıklar
NullPointerException | src null ise. |
---|---|
NullPointerException | shape null ise. |
IllegalArgumentException | değeri, yüklenecek dizinin boyutu belirtilen şekille eşleşmezse |
herkese açık void loadArray (float[] src)
Bu arabelleğe bir kayan dizi yükler. Tampon, kayan öğeden farklı türdeyse değerler, arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve kesinlik kaybı uygulanabilir. Örneğin, {400.32f, -23.04f} değerlerine sahip bir TensorBufferUint8
içine bir kayan dizi yüklendiğinde, değerler [0, 255] olarak sabitlenir ve ardından {255, 0} tarafından uint8'e yayınlanır.
Bu yöntem kullanıldığında, src
şeklinin bu TensorBuffer
şekliyle aynı olduğu varsayılır. Bu nedenle, hem sabit boyutlu hem de dinamik TensorBuffer
için buffer
(src.length
) boyutu her zaman bu TensorBuffer
öğesinin düz boyutuyla eşleşmelidir. src
farklı bir şekle sahipse loadArray(float[], int[])
öğesini kullanın.
Parametreler
src | Yüklenecek kaynak dizi. |
---|
herkese açık void loadArray (int[] src)
Bu arabelleğe bir int dizisi yükler. Tampon, int'ten farklı türlerdeyse değerler, arabelleğe yüklenmeden önce arabelleğin türüne dönüştürülür ve kesinlik kaybı uygulanabilir. Örneğin, {400, -23} değerlerine sahip bir tam diziyi TensorBufferUint8
içine yüklerseniz değerler [0, 255] olarak sabitlenir ve ardından {255, 0} tarafından uint8'e yayınlanır.
Bu yöntem kullanıldığında, src
şeklinin bu TensorBuffer
şekliyle aynı olduğu varsayılır. Bu nedenle, hem sabit boyutlu hem de dinamik TensorBuffer
için buffer
(src.length
) boyutu her zaman bu TensorBuffer
öğesinin düz boyutuyla eşleşmelidir. src
farklı bir şekle sahipse loadArray(int[], int[])
öğesini kullanın.
Parametreler
src | Yüklenecek kaynak dizi. |
---|
herkese açık void loadBuffer (ByteBuffer arabelleği)
Bu TensorBuffer
öğesine bir bayt arabelleği yükler. Arabellek boyutu, bu TensorBuffer
öğesinin düz boyutuyla eşleşmelidir.
Bu yöntem kullanıldığında, buffer
şeklinin bu TensorBuffer
şekliyle aynı olduğu varsayılır. Bu nedenle, hem sabit boyutlu hem de dinamik TensorBuffer
için buffer
(buffer.limit()
) boyutu her zaman bu TensorBuffer
öğesinin düz boyutuyla eşleşmelidir. buffer
farklı bir şekle sahipse loadBuffer(ByteBuffer, int[])
öğesini kullanın.
Önemli: Yüklenen arabellek bir referans. DEĞİŞTİRMEYİN. Performansla ilgili endişe 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 ByteBuffer
veya bir dizi tarafından desteklenen ByteBuffer
yükleyin.
buffer
salt okunursa performans için "yazılırken kopyalama" stratejisini uyguluyoruz.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|
herkese açık void loadBuffer (ByteBuffer arabelleği, int[] şekli)
Belirli bir şekle sahip bu TensorBuffer
öğesine bir bayt arabelleği yükler.
Önemli: Yüklenen arabellek bir referans. DEĞİŞTİRMEYİN. Performansla ilgili endişe 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 ByteBuffer
veya bir dizi tarafından desteklenen ByteBuffer
yükleyin.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|---|
shape |
Dekoratif yastıklar
NullPointerException | buffer null ise. |
---|---|
IllegalArgumentException | buffer ve typeSize boyutları eşleşmiyorsa veya buffer ile flatSize eşleşmiyor.
|