Bilinen Doğrudan Alt Sınıflar |
Bir modelin girişi veya çıkışı için veri arabelleğini gösterir.
Herkese Açık Yöntemler
statik TensorBuffer |
createDynamic(DataType dataType)
Belirtilen
DataType değeriyle boş bir dinamik TensorBuffer oluşturur. |
statik TensorBuffer |
createFixedSize(int[] şekli, DataType dataType)
|
statik TensorBuffer |
createFrom(TensorBuffer arabelleği, DataType dataType)
Belirtilen
DataType ile başka bir cihazdan TensorBuffer derin kopyalama verileri oluşturur. |
ByteBuffer |
getBuffer()
Veri arabelleğini döndürür.
|
soyut DataType |
getDataType()
Bu arabelleğin veri türünü döndürür.
|
int |
getFlatSize()
Arabelleğin düz Boyutunu alır.
|
soyut float[] |
getFloatArray()
Bu arabellekte depolanan değerlerin kayan bir dizisini döndürür.
|
soyut kayan |
getFloatValue(int absIndex)
Belirli bir dizindeki kayan noktalı değeri döndürür.
|
soyut int[] |
getIntArray()
Bu arabellekte depolanan değerlerin bir int dizisini döndürür.
|
soyut tamsayı |
getIntValue(int absIndex)
Belirli bir dizindeki bir tamsayı değeri döndürür.
|
int[] |
getShape()
Geçerli şekli alır.
|
soyut tamsayı |
getTypeSize()
Dizideki tek bir öğenin bayt sayısını döndürür.
|
boolean |
isDynamic()
TensorBuffer dinamik boyutluysa döndürür (isteğe bağlı olarak yeniden boyutlandırılabilir). |
soyut geçersiz |
loadArray(int[] src, int[] şekli)
Bu arabelleğe belirli bir şekilde bir int dizisi yükler.
|
soyut geçersiz |
loadArray(float[] src, int[] şekli)
Bu arabelleğe belirli bir şekle sahip bir kayan dizi yükler.
|
geçersiz |
loadArray(float[] src)
Bu arabelleğe bir kayan dizi yükler.
|
geçersiz |
loadArray(int[] src)
Bu arabelleğe bir int dizisi yükler.
|
geçersiz | |
geçersiz |
loadBuffer(ByteBuffer arabelleği, int[] şekli)
Bu
TensorBuffer içine belirli bir şekilde 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
değeriyle boş bir dinamik TensorBuffer
oluşturur.
oluşturulan TensorBuffer
, {0}.
Dinamik TensorBuffers, dizileri veya veri arabelleklerini yüklerken belleği yeniden ayırır. farklı tampon boyutları olabilir. Aşağıda bazı örnekler verilmiştir:
// 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.
|
---|
herkese açık statik TensorBuffer createFixedSize (int[] şekil, DataType dataType)
Belirtilen shape
ve DataType
ile bir TensorBuffer
oluşturur. Aşağıda bazı örnekler verilmiştir:
ö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 TensorBuffer'ın boyutu oluşturulduktan sonra değiştirilemez.
Parametreler
şekil | Oluşturulacak TensorBuffer öğesinin şekli. |
---|---|
dataType | Oluşturulacak TensorBuffer öğesinin dataType. |
Fırlatma
NullPointerException | shape null ise. |
---|---|
IllegalArgumentException | shape pozitif olmayan öğeler içeriyorsa.
|
herkese açık statik TensorBuffer createFrom (TensorBuffer arabelleği, DataType veri türü)
Belirtilen DataType
ile başka bir cihazdan TensorBuffer
derin kopyalama verileri oluşturur.
Parametreler
tampon | kaynak TensorBuffer . |
---|---|
dataType | yeni oluşturulan TensorBuffer için beklenen DataType . |
Fırlatma
NullPointerException | buffer null ise.
|
---|
herkese açık tamsayı 'nı inceleyin. getFlatSize ()
Arabelleğin düz Boyutunu alır.
Fırlatma
IllegalStateException | temel veriler bozuksa |
---|
herkese açık soyut float[] 'nı inceleyin. getFloatArray ()
Bu arabellekte depolanan değerlerin kayan bir dizisini döndürür. Tampon farklı türdeyse
değerler kayan noktalı reklama dönüştürülür. Örneğin, TensorBufferUint8
içindeki değerler uint8'den kayan noktalı değere dönüştürülür.
herkese açık soyut kayan 'nı inceleyin. getFloatValue (int absIndex)
Belirli bir dizindeki kayan noktalı değeri döndürür. Tampon, kayan öğeden farklı türdeyse
değeri kayan noktalı değere dönüştürülür. Örneğin, TensorBufferUint8
aralığındaki bir değer okunurken değer önce uint8 olarak okunur, daha sonra bu değer
uint8'i kullanabilirsiniz.
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. |
---|
herkese açık soyut int[] 'nı inceleyin. getIntArray ()
Bu arabellekte depolanan değerlerin bir int dizisini döndürür. Tampon farklı türdeyse
değerler int'e dönüştürülür ve kesinlik kaybı geçerli olabilir. Örneğin,
{400.32f, 23.04f} değerlerine sahip bir TensorBufferFloat
öğesinden bir tam dizi alınıyor.
{400, 23}'tür.
herkese açık soyut tamsayı 'nı inceleyin. getIntValue (int absIndex)
Belirli bir dizindeki bir tamsayı değeri döndürür. Tampon, int değerinden farklı türdeyse değer
int'e dönüştürülür. Örneğin, TensorBufferFloat
aralığındaki bir değeri okurken
değer, ilk olarak kayan noktalı olarak okunacak ve daha sonra, kayan noktalı değerden int'e dönüştürülecektir. Mağlubiyet
hassasiyeti geçerli 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[] 'nı inceleyin. getShape ()
Geçerli şekli alır. (Beklenmeyen değişiklik yapılmasını önlemek için sayfanın bir kopyasını buraya veriyoruz.)
Fırlatma
IllegalStateException | temel veriler bozuksa |
---|
herkese açık soyut tamsayı 'nı inceleyin. getTypeSize ()
Dizideki tek bir öğenin bayt sayısını döndürür. Örneğin, bir kayan tamponu değeri 4 döndürülür, bayt arabelleği 1 değerini döndürür.
herkese açık Boole 'nı inceleyin. isDynamic ()
TensorBuffer
dinamik boyutluysa döndürür (isteğe bağlı olarak yeniden boyutlandırılabilir).
herkese açık soyut geçersiz 'nı inceleyin. loadArray (int[] src, int[] şekli)
Bu arabelleğe belirli bir şekilde bir int dizisi yükler. Tampon farklı türdeyse
değerler,
ve hassasiyet kaybı geçerli olabilir. Örneğin, {400,
-23} içine alınırsa değerler [0, 255] olarak sabitlenir ve ardındanTensorBufferUint8
{255, 0} tarafından uint8'e dönüştürülür.
Parametreler
kyn | Yüklenecek kaynak dizi. |
---|---|
şekil | src 'nin temsil ettiği tensörün şekli. |
Fırlatma
NullPointerException | src null ise. |
---|---|
NullPointerException | shape null ise. |
IllegalArgumentException | yüklenecek dizinin boyutu, belirtilen şekil. |
herkese açık soyut geçersiz 'nı inceleyin. loadArray (float[] src, int[] şekil)
Bu arabelleğe belirli bir şekle sahip bir kayan dizi yükler. Tampon farklı türdeyse
değeri, kayan noktalı reklama yüklenmeden önce arabelleğin türüne
ve hassasiyet kaybı geçerli olabilir. Örneğin, {400.32f, -23.04f} değerlerine sahip bir TensorBufferUint8
öğesine kayan dizi yüklendiğinde değerler [0, 255] değerine sabitlenir ve
sonra {255, 0} ile uint8'e dönüştürülür.
Parametreler
kyn | Yüklenecek kaynak dizi. |
---|---|
şekil | src 'nin temsil ettiği tensörün şekli. |
Fırlatma
NullPointerException | src null ise. |
---|---|
NullPointerException | shape null ise. |
IllegalArgumentException | yüklenecek dizinin boyutu, belirtilen şekil. |
herkese açık geçersiz 'nı inceleyin. loadArray (kayan[] src)
Bu arabelleğe bir kayan dizi yükler. Tampon, kayan öğeden farklı türdeyse
değerler, arabelleğe yüklenmeden önce tamponun türüne dönüştürülür ve
hassasiyeti geçerli olabilir. Örneğin, TensorBufferUint8
öğesine kayan bir dizi yükleme
{400.32f, -23.04f} değerlerine ayarlanırsa değerler [0, 255] değerine sabitlenir ve ardından
uint8'i {255, 0} duruma getirin.
Bu yöntem kullanıldığında src
şeklinin bu şeklin şekli ile aynı olduğu varsayılır
TensorBuffer
. Bu nedenle, buffer
(src.length
) boyutu her zaman
hem sabit boyutlu hem de dinamik TensorBuffer
için bu TensorBuffer
öğesinin düz boyutunu belirtir. src
farklı bir şekil içeriyorsa loadArray(float[], int[])
kullanın.
Parametreler
kyn | Yüklenecek kaynak dizi. |
---|
herkese açık geçersiz 'nı inceleyin. loadArray (int[] src)
Bu arabelleğe bir int dizisi yükler. Tampon, int değerinden farklı türdeyse değerler
tampona yüklenmeden önce tamponun türüne dönüştürülür ve
hassasiyet uygulanabilir. Örneğin, {400, -23} değerlerine sahip bir int dizisi TensorBufferUint8
değerine yüklendiğinde, değerler [0, 255] değerine sabitlenir ve ardından,
{255, 0}.
Bu yöntem kullanıldığında src
şeklinin bu şeklin şekli ile aynı olduğu varsayılır
TensorBuffer
. Bu nedenle, buffer
(src.length
) boyutu her zaman
hem sabit boyutlu hem de dinamik TensorBuffer
için bu TensorBuffer
öğesinin düz boyutunu belirtir. src
farklı bir şekil içeriyorsa loadArray(int[], int[])
kullanın.
Parametreler
kyn | Yüklenecek kaynak dizi. |
---|
herkese açık geçersiz 'nı inceleyin. loadBuffer (ByteBuffer arabelleği)
Bu TensorBuffer
içine bir bayt arabellek yükler. Arabellek boyutu,
bu TensorBuffer
.
Bu yöntem kullanıldığında buffer
şeklinin bu şeklin şekli ile aynı olduğu varsayılır
TensorBuffer
. Bu nedenle, buffer
(buffer.limit()
) boyutu her zaman
hem sabit boyutlu hem de dinamik TensorBuffer
için bu TensorBuffer
düz boyutuna eşit olmalıdır. buffer
için farklı bir değer varsa loadBuffer(ByteBuffer, int[])
kullanın
şekli.
Önemli: Yüklenen arabellek bir referanstır. DEĞİŞTİRMEYİN. Burada bu bilgilerin bir kopyasını oluşturmuyoruz performans endişesi var, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.
En iyi performans için her zaman doğrudan ByteBuffer
veya ByteBuffer
yükleyin
bir dizi tarafından desteklenir.
buffer
salt okunursa performans için yazmada kopyalama stratejisi uygularız.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|
herkese açık geçersiz 'nı inceleyin. loadBuffer (ByteBuffer arabelleği, int[] şekli)
Bu TensorBuffer
içine belirli bir şekilde bir bayt arabelleği yükler.
Önemli: Yüklenen arabellek bir referanstır. DEĞİŞTİRMEYİN. Burada bu bilgilerin bir kopyasını oluşturmuyoruz performans endişesi var, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.
En iyi performans için her zaman doğrudan ByteBuffer
veya ByteBuffer
yükleyin
bir dizi tarafından desteklenir.
Parametreler
tampon | Yüklenecek bayt arabelleği. |
---|---|
şekil |
Fırlatma
NullPointerException | buffer null ise. |
---|---|
IllegalArgumentException | buffer ve typeSize boyutları şu değilse
eşleşiyor ya da buffer ve flatSize boyutları eşleşmiyor.
|