TensorBuffer

सार्वजनिक सार वर्ग TensorBuffer
ज्ञात प्रत्यक्ष उपवर्ग

किसी मॉडल के इनपुट या उसके आउटपुट के लिए डेटा बफर का प्रतिनिधित्व करता है।

सार्वजनिक तरीके

स्थिर टेंसरबफ़र
createDynamic ( डेटा प्रकार डेटा प्रकार)
निर्दिष्ट DataType के साथ एक खाली गतिशील TensorBuffer बनाता है।
स्थिर टेंसरबफ़र
createFixedSize (int[] आकार, डेटा प्रकार डेटा प्रकार)
निर्दिष्ट shape और DataType के साथ एक TensorBuffer बनाता है।
स्थिर टेंसरबफ़र
createFrom ( टेन्सरबफर बफर, डेटाटाइप डेटाटाइप)
निर्दिष्ट DataType के साथ, दूसरे से डेटा की डीप-कॉपी करके एक TensorBuffer बनाता है।
बाइटबफ़र
गेटबफर ()
डेटा बफ़र लौटाता है.
सार डेटा प्रकार
डेटाटाइप प्राप्त करें ()
इस बफ़र का डेटा प्रकार लौटाता है।
int यहाँ
फ़्लैटसाइज़ प्राप्त करें ()
बफ़र का फ़्लैटसाइज़ प्राप्त करता है।
सार फ्लोट[]
getFloatArray ()
इस बफ़र में संग्रहीत मानों की एक फ़्लोट सरणी लौटाता है।
अमूर्त फ्लोट
getFloatValue (int absIndex)
किसी दिए गए इंडेक्स पर फ़्लोट मान लौटाता है।
सार पूर्णांक[]
getIntArray ()
इस बफ़र में संग्रहीत मानों की एक पूर्णांक सरणी लौटाता है।
सार इंट
getIntValue (int absIndex)
किसी दिए गए सूचकांक पर एक पूर्णांक मान लौटाता है।
int[]
आकार प्राप्त करें ()
वर्तमान स्वरूप मिलता है.
सार इंट
getTypeSize ()
सरणी में किसी एकल तत्व के बाइट्स की संख्या लौटाता है।
बूलियन
गतिशील है ()
यदि TensorBuffer गतिशील आकार का है (मनमाने ढंग से आकार बदल सकता है) तो लौटाता है।
अमूर्त शून्य
लोडअरे (int[] src, int[] आकार)
विशिष्ट आकार के साथ इस बफ़र में एक पूर्णांक सरणी लोड करता है।
अमूर्त शून्य
लोडअरे (फ्लोट[] स्रोत, int[] आकार)
विशिष्ट आकार के साथ इस बफ़र में एक फ़्लोट ऐरे लोड करता है।
खालीपन
लोडअरे (फ्लोट[] स्रोत)
इस बफ़र में एक फ़्लोट ऐरे लोड करता है।
खालीपन
लोडअरे (int[] src)
इस बफ़र में एक int सरणी लोड करता है।
खालीपन
लोडबफ़र ( बाइटबफ़र बफ़र)
इस TensorBuffer में एक बाइट बफ़र लोड करता है।
खालीपन
लोडबफ़र ( बाइटबफ़र बफ़र, int[] आकार)
विशिष्ट आकार के साथ इस TensorBuffer में एक बाइट बफर लोड करता है।

विरासत में मिली विधियाँ

सार्वजनिक तरीके

सार्वजनिक स्थैतिक TensorBuffer createDynamic ( डेटा प्रकार डेटा प्रकार)

निर्दिष्ट DataType के साथ एक खाली गतिशील TensorBuffer बनाता है। निर्मित TensorBuffer का आकार {0} है।

विभिन्न बफ़र आकारों के सरणियों या डेटा बफ़र्स को लोड करते समय डायनेमिक टेन्सरबफ़र्स मेमोरी को पुनः आवंटित करेंगे। यहां कुछ उदाहरण दिए गए हैं:

 // 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.
 

पैरामीटर
डेटा प्रकार TensorBuffer का डेटा प्रकार बनाया जाना है।

सार्वजनिक स्थैतिक TensorBuffer createFixedSize (int[] आकार, डेटा प्रकार डेटा प्रकार)

निर्दिष्ट 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 का आकार बनाया जाना है।
डेटा प्रकार TensorBuffer का डेटा प्रकार बनाया जाना है।
फेंकता
शून्य सूचक का अपवाद यदि shape शून्य है.
अवैध तर्क अपवाद यदि shape में गैर-सकारात्मक तत्व हैं।

सार्वजनिक स्थैतिक TensorBuffer createFrom ( TensorBuffer बफर, डेटा प्रकार डेटा प्रकार)

निर्दिष्ट DataType के साथ, दूसरे से डेटा की डीप-कॉपी करके एक TensorBuffer बनाता है।

पैरामीटर
बफर जिस स्रोत TensorBuffer से प्रतिलिपि बनाई जानी है।
डेटा प्रकार नव निर्मित TensorBuffer का अपेक्षित DataType
फेंकता
शून्य सूचक का अपवाद यदि buffer शून्य है.

सार्वजनिक बाइटबफ़र getBuffer ()

डेटा बफ़र लौटाता है.

सार्वजनिक सार डेटा प्रकार getDataType ()

इस बफ़र का डेटा प्रकार लौटाता है।

सार्वजनिक int getFlatSize ()

बफ़र का फ़्लैटसाइज़ प्राप्त करता है।

फेंकता
IllegalStateException यदि अंतर्निहित डेटा दूषित है

सार्वजनिक सार फ्लोट[] getFloatArray ()

इस बफ़र में संग्रहीत मानों की एक फ़्लोट सरणी लौटाता है। यदि बफ़र फ़्लोट से भिन्न प्रकार का है, तो मान फ़्लोट में परिवर्तित हो जाएंगे। उदाहरण के लिए, TensorBufferUint8 में मानों को uint8 से फ़्लोट में परिवर्तित किया जाएगा।

सार्वजनिक सार फ्लोट getFloatValue (int absIndex)

किसी दिए गए इंडेक्स पर फ़्लोट मान लौटाता है। यदि बफ़र फ़्लोट से भिन्न प्रकार का है, तो मान फ़्लोट में परिवर्तित हो जाएगा। उदाहरण के लिए, TensorBufferUint8 से मान पढ़ते समय, मान को पहले 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);
 

पैरामीटर
absसूचकांक पढ़े जाने वाले मान का पूर्ण सूचकांक.

सार्वजनिक सार int[] getIntArray ()

इस बफ़र में संग्रहीत मानों की एक पूर्णांक सरणी लौटाता है। यदि बफ़र int से भिन्न प्रकार का है, तो मान int में परिवर्तित हो जाएंगे, और परिशुद्धता का नुकसान हो सकता है। उदाहरण के लिए, {400.32f, 23.04f} मानों के साथ TensorBufferFloat से एक int सरणी प्राप्त करना, आउटपुट {400, 23} है।

सार्वजनिक सार int 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.
 

पैरामीटर
absसूचकांक पढ़े जाने वाले मान का पूर्ण सूचकांक.

सार्वजनिक int[] getShape ()

वर्तमान स्वरूप मिलता है. (अप्रत्याशित संशोधन से बचने के लिए एक प्रति यहां लौटा रहा हूं।)

फेंकता
IllegalStateException यदि अंतर्निहित डेटा दूषित है

सार्वजनिक सार int getTypeSize ()

सरणी में किसी एकल तत्व के बाइट्स की संख्या लौटाता है। उदाहरण के लिए, एक फ्लोट बफ़र 4 लौटाएगा, और एक बाइट बफ़र 1 लौटाएगा।

सार्वजनिक बूलियन गतिशील है ()

यदि TensorBuffer गतिशील आकार का है (मनमाने ढंग से आकार बदल सकता है) तो लौटाता है।

सार्वजनिक सार शून्य लोडअरे (int[] src, int[] आकार)

विशिष्ट आकार के साथ इस बफ़र में एक पूर्णांक सरणी लोड करता है। यदि बफ़र int से भिन्न प्रकार का है, तो मान बफ़र में लोड होने से पहले बफ़र के प्रकार में परिवर्तित हो जाएंगे, और परिशुद्धता का नुकसान हो सकता है। उदाहरण के लिए, एक TensorBufferUint8 में मान {400, -23} के साथ एक int सरणी लोड करने पर, मानों को [0, 255] पर क्लैंप किया जाएगा और फिर {255, 0} द्वारा uint8 पर डाला जाएगा।

पैरामीटर
स्रोत स्रोत सरणी लोड की जानी है.
आकार टेंसर का आकार जो src दर्शाता है।
फेंकता
शून्य सूचक का अपवाद यदि src शून्य है.
शून्य सूचक का अपवाद यदि shape शून्य है.
अवैध तर्क अपवाद यदि लोड की जाने वाली सरणी का आकार निर्दिष्ट आकार से मेल नहीं खाता है।

सार्वजनिक सार शून्य लोडअरे (फ्लोट[] स्रोत, int[] आकार)

विशिष्ट आकार के साथ इस बफ़र में एक फ़्लोट ऐरे लोड करता है। यदि बफ़र फ़्लोट से भिन्न प्रकार का है, तो मान बफ़र में लोड होने से पहले बफ़र के प्रकार में परिवर्तित हो जाएंगे, और परिशुद्धता का नुकसान हो सकता है। उदाहरण के लिए, {400.32f, -23.04f} मानों के साथ TensorBufferUint8 में एक फ्लोट ऐरे को लोड करते हुए, मानों को [0, 255] पर क्लैंप किया जाएगा और फिर {255, 0} द्वारा uint8 पर डाला जाएगा।

पैरामीटर
स्रोत स्रोत सरणी लोड की जानी है.
आकार टेंसर का आकार जो src दर्शाता है।
फेंकता
शून्य सूचक का अपवाद यदि src शून्य है.
शून्य सूचक का अपवाद यदि shape शून्य है.
अवैध तर्क अपवाद यदि लोड की जाने वाली सरणी का आकार निर्दिष्ट आकार से मेल नहीं खाता है।

सार्वजनिक शून्य लोडअरे (फ्लोट[] स्रोत)

इस बफ़र में एक फ़्लोट ऐरे लोड करता है। यदि बफ़र फ़्लोट से भिन्न प्रकार का है, तो मान बफ़र में लोड होने से पहले बफ़र के प्रकार में परिवर्तित हो जाएंगे, और परिशुद्धता का नुकसान हो सकता है। उदाहरण के लिए, {400.32f, -23.04f} मानों के साथ TensorBufferUint8 में एक फ्लोट ऐरे को लोड करते हुए, मानों को [0, 255] पर क्लैंप किया जाएगा और फिर {255, 0} द्वारा uint8 पर डाला जाएगा।

इस विधि का उपयोग करने पर यह मान लिया जाता है कि src का आकार इस TensorBuffer के आकार के समान है। इस प्रकार buffer का आकार ( src.length ) हमेशा इस TensorBuffer के फ्लैट आकार से मेल खाना चाहिए, निश्चित आकार और गतिशील TensorBuffer दोनों के लिए। यदि src आकार भिन्न है तो loadArray(float[], int[]) उपयोग करें।

पैरामीटर
स्रोत स्रोत सरणी लोड की जानी है.

सार्वजनिक शून्य लोडअरे (int[] src)

इस बफ़र में एक int सरणी लोड करता है। यदि बफ़र int से भिन्न प्रकार का है, तो मान बफ़र में लोड होने से पहले बफ़र के प्रकार में परिवर्तित हो जाएंगे, और परिशुद्धता का नुकसान हो सकता है। उदाहरण के लिए, एक TensorBufferUint8 में मान {400, -23} के साथ एक int सरणी लोड करने पर, मानों को [0, 255] पर क्लैंप किया जाएगा और फिर {255, 0} द्वारा uint8 पर डाला जाएगा।

इस विधि का उपयोग करने पर यह मान लिया जाता है कि src का आकार इस TensorBuffer के आकार के समान है। इस प्रकार buffer का आकार ( src.length ) हमेशा इस TensorBuffer के फ्लैट आकार से मेल खाना चाहिए, निश्चित आकार और गतिशील TensorBuffer दोनों के लिए। यदि src आकार भिन्न है तो loadArray(int[], int[]) उपयोग करें।

पैरामीटर
स्रोत स्रोत सरणी लोड की जानी है.

सार्वजनिक शून्य लोडबफ़र ( बाइटबफ़र बफ़र)

इस TensorBuffer में एक बाइट बफ़र लोड करता है। बफ़र का आकार इस TensorBuffer के फ़्लैट आकार से मेल खाना चाहिए।

इस विधि का उपयोग करने पर यह मान लिया जाता है कि buffer का आकार इस TensorBuffer के आकार के समान है। इस प्रकार buffer का आकार ( buffer.limit() ) निश्चित आकार और गतिशील TensorBuffer दोनों के लिए हमेशा इस TensorBuffer के फ्लैट आकार से मेल खाना चाहिए। यदि buffer आकार भिन्न है तो loadBuffer(ByteBuffer, int[]) उपयोग करें।

महत्वपूर्ण: लोड किया गया बफ़र एक संदर्भ है। संशोधित न करें. प्रदर्शन संबंधी चिंता के कारण हम यहां कोई प्रतिलिपि नहीं बनाते हैं, लेकिन यदि संशोधन आवश्यक है, तो कृपया एक प्रतिलिपि बनाएं।

सर्वोत्तम प्रदर्शन के लिए, हमेशा एक सीधा ByteBuffer या किसी सरणी द्वारा समर्थित ByteBuffer लोड करें।

यदि buffer केवल-पढ़ने के लिए है, तो हम प्रदर्शन के लिए कॉपी-ऑन-राइट रणनीति अपनाते हैं।

पैरामीटर
बफर लोड करने के लिए बाइट बफ़र.

सार्वजनिक शून्य लोडबफ़र ( बाइटबफ़र बफ़र, int[] आकार)

विशिष्ट आकार के साथ इस TensorBuffer में एक बाइट बफर लोड करता है।

महत्वपूर्ण: लोड किया गया बफ़र एक संदर्भ है। संशोधित न करें. प्रदर्शन संबंधी चिंता के कारण हम यहां कोई प्रतिलिपि नहीं बनाते हैं, लेकिन यदि संशोधन आवश्यक है, तो कृपया एक प्रतिलिपि बनाएं।

सर्वोत्तम प्रदर्शन के लिए, हमेशा एक सीधा ByteBuffer या किसी सरणी द्वारा समर्थित ByteBuffer लोड करें।

पैरामीटर
बफर लोड करने के लिए बाइट बफ़र.
आकार
फेंकता
शून्य सूचक का अपवाद यदि buffer शून्य है.
अवैध तर्क अपवाद यदि buffer का आकार और typeSize मेल नहीं खाता है या buffer और flatSize का आकार मेल नहीं खाता है।