TensorBuffer

genel soyut sınıf TensorBuffer
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)
Belirtilen shape ve DataType ile bir TensorBuffer oluşturur.
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
loadBuffer(ByteBuffer arabelleği)
Bu TensorBuffer içine bir bayt arabellek yükler.
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 ByteBuffer getBuffer ()

Veri arabelleğini döndürür.

herkese açık soyut DataType getDataType ()

Bu arabelleğin veri türünü döndürür.

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.