जाने-पहचाने डायरेक्ट सब-क्लास |
यह किसी मॉडल के इनपुट या उसके आउटपुट के लिए, डेटा बफ़र को दिखाता है.
सार्वजनिक तरीके
स्टैटिक TensorBuffer | |
स्टैटिक TensorBuffer |
createFixedSize(int[] आकार, DataType dataType)
|
स्टैटिक TensorBuffer |
createFrom(TensorBuffer बफ़र, DataType dataType)
यह विकल्प
DataType के साथ किसी दूसरे डेटा को कॉपी करके, TensorBuffer को डीप-कॉपी करता है. |
ByteBuffer |
getBuffer()
डेटा बफ़र दिखाता है.
|
ऐब्सट्रैक्ट DataType |
getDataType()
इस बफ़र का डेटा टाइप दिखाता है.
|
int |
getFlatSize()
बफ़र का चपटा साइज़ फ़ेच करता है.
|
ऐब्सट्रैक्ट float[] |
getFloatArray()
इस बफ़र में सेव की गई वैल्यू का फ़्लोट अरे दिखाता है.
|
ऐब्सट्रैक्ट फ़्लोट |
getFloatValue(int absIndex)
दिए गए इंडेक्स में फ़्लोट वैल्यू दिखाता है.
|
ऐब्सट्रैक्ट पूर्णांक[] |
getIntArray()
इस बफ़र में सेव की गई वैल्यू का पूर्णांक दिखाता है.
|
ऐब्सट्रैक्ट आईएनटी |
getIntValue(int absIndex)
किसी दिए गए इंडेक्स में इंटेजर वैल्यू दिखाता है.
|
पूर्णांक[] |
getShape()
मौजूदा आकार देता है.
|
ऐब्सट्रैक्ट आईएनटी |
getTypeSize()
अरे में मौजूद एक एलिमेंट के बाइट की संख्या दिखाता है.
|
बूलियन |
isDynamic()
यह फ़ंक्शन तब दिखाता है, जब
TensorBuffer डाइनैमिक साइज़ का हो (इसमें मनचाहे तरीके से साइज़ बदला जा सकता है). |
ऐब्सट्रैक्ट अमान्य |
loadArray(int[] src, int[] shape)
खास आकार वाले इस बफ़र में एक पूर्णांक को लोड करता है.
|
ऐब्सट्रैक्ट अमान्य |
loadArray(float[] src, int[] आकार)
इस बफ़र में, एक खास आकार वाले फ़्लोट अरे को लोड करता है.
|
अमान्य |
loadArray(float[] src)
इस बफ़र में एक फ़्लोट अरे लोड करता है.
|
अमान्य |
loadArray(int[] src)
इस बफ़र में इंटेजर को लोड करता है.
|
अमान्य | |
अमान्य |
इनहेरिट किए गए तरीके
सार्वजनिक तरीके
सार्वजनिक स्टैटिक TensorBuffer createDynamic (DataType डेटा टाइप)
बताए गए DataType
के साथ एक खाली डाइनैमिक TensorBuffer
बनाता है. इसका मतलब है
बनाई गई TensorBuffer
, {0} है.
डाइनैमिक TensorBuffers, अरे या इसके डेटा बफ़र को लोड करते समय मेमोरी का फिर से इस्तेमाल करेंगे अलग-अलग साइज़ का बफ़र होना चाहिए. यहां कुछ उदाहरण दिए गए हैं:
// 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.
पैरामीटर
dataType | बनाया जाने वाला TensorBuffer का dataType.
|
---|
सार्वजनिक स्टैटिक TensorBuffer createFixedSize (int[] आकार, DataType डेटाType)
बताए गए shape
और DataType
के साथ TensorBuffer
बनाता है. यहां कुछ
उदाहरण:
// 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);
तय साइज़ वाला TensorBuffer बनाने के बाद, उसका साइज़ नहीं बदला जा सकता.
पैरामीटर
आकार | बनाए जाने वाले TensorBuffer का आकार. |
---|---|
dataType | बनाया जाने वाला TensorBuffer का dataType. |
थ्रो
NullPointerException | अगर shape खाली है. |
---|---|
IllegalArgumentException | अगर shape में ऐसे एलिमेंट हैं जो पॉज़िटिव नहीं हैं.
|
सार्वजनिक स्टैटिक TensorBuffer createFrom (TensorBuffer बफ़र, DataType dataType)
यह विकल्प DataType
के साथ किसी दूसरे डेटा को कॉपी करके, TensorBuffer
को डीप-कॉपी करता है.
पैरामीटर
बफ़र | कॉपी करने के लिए, सोर्स TensorBuffer . |
---|---|
dataType | नए बनाए गए TensorBuffer में से DataType होना चाहिए. |
थ्रो
NullPointerException | अगर buffer खाली है.
|
---|
सार्वजनिक आईएनटी getFlatSize ()
बफ़र का चपटा साइज़ फ़ेच करता है.
थ्रो
IllegalStateException | अगर दिए गए डेटा में कोई गड़बड़ी है |
---|
सार्वजनिक ऐब्सट्रैक्ट float[] getFloatArray ()
इस बफ़र में सेव की गई वैल्यू का फ़्लोट अरे दिखाता है. अगर बफ़र अलग-अलग तरह का है
फ़्लोट के मुकाबले वैल्यू, फ़्लोट में बदल जाएंगी. उदाहरण के लिए, TensorBufferUint8
में मौजूद वैल्यू को uint8 से फ़्लोट में बदल दिया जाएगा.
सार्वजनिक ऐब्सट्रैक्ट फ़्लोट getFloatValue (int absIndex)
दिए गए इंडेक्स में फ़्लोट वैल्यू दिखाता है. अगर बफ़र, फ़्लोट से अलग तरह का है, तो
वैल्यू को फ़्लोट में बदल दिया जाएगा. उदाहरण के लिए, TensorBufferUint8
से कोई वैल्यू पढ़ते समय, उस वैल्यू को पहले uint8 के तौर पर पढ़ा जाएगा. इसके बाद, उसे uint8 के तौर पर बदला जाएगा
फ़्लोट के लिए uint8.
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);
पैरामीटर
absIndex | पढ़ी जाने वाली वैल्यू का ऐब्सलूट इंडेक्स. |
---|
सार्वजनिक ऐब्सट्रैक्ट पूर्णांक[] getIntArray ()
इस बफ़र में सेव की गई वैल्यू का पूर्णांक दिखाता है. अगर बफ़र अलग तरह का है
पूर्णांक की तुलना में वैल्यू को पूर्णांक में बदल दिया जाएगा और सटीक जानकारी का नुकसान लागू हो सकता है. उदाहरण के लिए,
TensorBufferFloat
से, {400.32f, 23.04f} वैल्यू वाले पूर्णांक अरे को पाने के लिए आउटपुट
है {400, 23}.
सार्वजनिक ऐब्सट्रैक्ट आईएनटी getIntValue (int absIndex)
किसी दिए गए इंडेक्स में इंटेजर वैल्यू दिखाता है. अगर बफ़र, int से अलग तरह का है, तो मान
को int में बदल दिया जाएगा. उदाहरण के लिए, TensorBufferFloat
से कोई वैल्यू पढ़ते समय,
वैल्यू को पहले फ़्लोट के रूप में पढ़ा जाएगा और फिर उसे फ़्लोट से पूर्णांक में बदल दिया जाएगा. नुकसान
लागू हो सकती है.
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.
पैरामीटर
absIndex | पढ़ी जाने वाली वैल्यू का ऐब्सलूट इंडेक्स. |
---|
सार्वजनिक पूर्णांक[] getShape ()
मौजूदा आकार देता है. (अचानक होने वाले बदलाव से बचने के लिए, यहां एक कॉपी दी जा रही है.)
थ्रो
IllegalStateException | अगर दिए गए डेटा में कोई गड़बड़ी है |
---|
सार्वजनिक ऐब्सट्रैक्ट आईएनटी getTypeSize ()
अरे में मौजूद एक एलिमेंट के बाइट की संख्या दिखाता है. उदाहरण के लिए, एक फ़्लोट बफ़र मान 4 है और बाइट बफ़र डालने पर 1 दिखेगा.
सार्वजनिक बूलियन isDynamic ()
यह फ़ंक्शन तब दिखाता है, जब TensorBuffer
डाइनैमिक साइज़ का हो (इसमें मनचाहे तरीके से साइज़ बदला जा सकता है).
सार्वजनिक ऐब्सट्रैक्ट अमान्य loadArray (int[] src, int[] shape)
खास आकार वाले इस बफ़र में एक पूर्णांक को लोड करता है. अगर बफ़र अलग-अलग तरह का है
पूर्णांक की तुलना में, मानों को
बफ़र और सटीक होने की कमी का असर पड़ सकता है. उदाहरण के लिए, {400} वैल्यू वाली पूर्णांक अरे लोड करना,
-23} को TensorBufferUint8
में, वैल्यू को [0, 255] से जोड़ा जाएगा. इसके बाद,
{255, 0} से uint8 पर कास्ट किया गया.
पैरामीटर
स्रोत | लोड किया जाने वाला सोर्स अरे. |
---|---|
आकार | उस टेंसर का आकार जिसे src दिखाता है. |
थ्रो
NullPointerException | अगर src खाली है. |
---|---|
NullPointerException | अगर shape खाली है. |
IllegalArgumentException | अगर लोड की जाने वाली अरे का साइज़, दिया गया आकार. |
सार्वजनिक ऐब्सट्रैक्ट अमान्य loadArray (float[] src, int[] का आकार)
इस बफ़र में, एक खास आकार वाले फ़्लोट अरे को लोड करता है. अगर बफ़र अलग-अलग तरह का है
फ़्लोट से कम है, तो मानों को
बफ़र और सटीक होने की कमी का असर पड़ सकता है. उदाहरण के लिए, किसी फ़्लोट अरे को {400.32f, -23.04f} वैल्यू वाले TensorBufferUint8
में लोड करने पर, उसे [0, 255] पर सेट किया जाएगा और
फिर {255, 0} तक uint8 पर कास्ट किया जाएगा.
पैरामीटर
स्रोत | लोड किया जाने वाला सोर्स अरे. |
---|---|
आकार | उस टेंसर का आकार जिसे src दिखाता है. |
थ्रो
NullPointerException | अगर src खाली है. |
---|---|
NullPointerException | अगर shape खाली है. |
IllegalArgumentException | अगर लोड की जाने वाली अरे का साइज़, दिया गया आकार. |
सार्वजनिक अमान्य loadArray (फ़्लोट[] src)
इस बफ़र में एक फ़्लोट अरे लोड करता है. अगर बफ़र, फ़्लोट से अलग तरह का है, तो
मान को बफ़र में लोड किए जाने से पहले, बफ़र के टाइप में बदल दिया जाएगा. साथ ही, ये मान मिट जाएंगे
लागू हो सकती है. उदाहरण के लिए, किसी फ़्लोट अरे को TensorBufferUint8
में लोड करना
{400.32f, -23.04f} की वैल्यू के साथ, ये वैल्यू [0, 255] से जोड़ी जाएंगी और फिर इस पर कास्ट की जाएंगी
uint8 by {255, 0}.
इस तरीके का इस्तेमाल करने पर यह माना जाता है कि src
का आकार, इसके आकार के जैसा ही है
TensorBuffer
. इसलिए, buffer
(src.length
) का साइज़ हमेशा मेल खाना चाहिए
इस TensorBuffer
का फ़्लैट साइज़, फ़िक्स्ड साइज़ और डाइनैमिक TensorBuffer
, दोनों के लिए है. अगर src
का आकार अलग है, तो loadArray(float[], int[])
का इस्तेमाल करें.
पैरामीटर
स्रोत | लोड किया जाने वाला सोर्स अरे. |
---|
सार्वजनिक अमान्य loadArray (int[] src)
इस बफ़र में इंटेजर को लोड करता है. अगर बफ़र, int से अलग तरह का है, तो वैल्यू
को बफ़र में लोड किए जाने से पहले बफ़र के टाइप में बदल दिया जाएगा. साथ ही,
सटीक जानकारी लागू हो सकती है. उदाहरण के लिए, किसी TensorBufferUint8
में {400, -23} वैल्यू वाले किसी पूर्णांक को लोड करने पर, वैल्यू को [0, 255] पर सेट किया जाएगा. इसके बाद, uint8 पर कास्ट किया जाएगा
{255, 0}.
इस तरीके का इस्तेमाल करने पर यह माना जाता है कि src
का आकार, इसके आकार के जैसा ही है
TensorBuffer
. इसलिए, buffer
(src.length
) का साइज़ हमेशा मेल खाना चाहिए
इस TensorBuffer
का फ़्लैट साइज़, फ़िक्स्ड साइज़ और डाइनैमिक TensorBuffer
, दोनों के लिए है. अगर src
का आकार अलग है, तो loadArray(int[], int[])
का इस्तेमाल करें.
पैरामीटर
स्रोत | लोड किया जाने वाला सोर्स अरे. |
---|
सार्वजनिक अमान्य loadBuffer (ByteBuffer बफ़र)
इस TensorBuffer
में एक बाइट बफ़र लोड करता है. बफ़र का साइज़, इसके फ़्लैट साइज़ से मेल खाना चाहिए
यह TensorBuffer
.
इस तरीके का इस्तेमाल करने पर यह माना जाता है कि buffer
का आकार, इसके आकार के जैसा ही है
TensorBuffer
. इसलिए, buffer
(buffer.limit()
) का साइज़ हमेशा यह होना चाहिए
तय साइज़ और डाइनैमिक TensorBuffer
, दोनों के लिए, इस TensorBuffer
के फ़्लैट साइज़ से मैच करें. अगर buffer
में कोई दूसरी वैल्यू है, तो loadBuffer(ByteBuffer, int[])
का इस्तेमाल करें
आकार.
अहम जानकारी: लोड किया गया बफ़र एक रेफ़रंस होता है. बदलाव न करें. हम यहां कॉपी नहीं बनाते लेकिन यदि संशोधन आवश्यक है, तो कृपया एक कॉपी बनाएं.
सबसे अच्छी परफ़ॉर्मेंस के लिए, हमेशा डायरेक्ट ByteBuffer
या ByteBuffer
लोड करें
का इस्तेमाल एक कलेक्शन में किया जा सकता है.
अगर buffer
रीड-ओनली मोड में है, तो हम परफ़ॉर्मेंस के लिए, कॉपी-ऑन-राइट रणनीति का इस्तेमाल करते हैं.
पैरामीटर
बफ़र | लोड होने वाला बाइट बफ़र. |
---|
सार्वजनिक अमान्य loadBuffer (ByteBuffer बफ़र, int[] आकार)
इस TensorBuffer
में खास आकार वाले बाइट बफ़र को लोड करता है.
अहम जानकारी: लोड किया गया बफ़र एक रेफ़रंस होता है. बदलाव न करें. हम यहां कॉपी नहीं बनाते लेकिन यदि संशोधन आवश्यक है, तो कृपया एक कॉपी बनाएं.
सबसे अच्छी परफ़ॉर्मेंस के लिए, हमेशा डायरेक्ट ByteBuffer
या ByteBuffer
लोड करें
का इस्तेमाल एक कलेक्शन में किया जा सकता है.
पैरामीटर
बफ़र | लोड होने वाला बाइट बफ़र. |
---|---|
आकार |
थ्रो
NullPointerException | अगर buffer खाली है. |
---|---|
IllegalArgumentException | अगर buffer और typeSize का साइज़
मिलान या buffer और flatSize का आकार मेल नहीं खाता.
|