الفئات الفرعية المباشرة المعروفة |
يمثل مخزن البيانات المؤقت لإدخال النموذج أو مخرجاته.
الأساليب العامة
ثابت TensorBuffer | createDynamic ( نوع البيانات نوع البيانات) ينشئ TensorBuffer ديناميكيًا فارغًا باستخدام DataType المحدد. |
ثابت TensorBuffer | |
ثابت TensorBuffer | createFrom (المخزن المؤقت TensorBuffer ، DataType dataType) ينشئ TensorBuffer نسخًا عميقًا لبيانات من أخرى، باستخدام DataType المحدد. |
ByteBuffer | الحصول على المخزن المؤقت () إرجاع المخزن المؤقت للبيانات. |
نوع البيانات المجردة | الحصول على نوع البيانات () إرجاع نوع البيانات لهذا المخزن المؤقت. |
كثافة العمليات | الحصول على حجم مسطح () الحصول على الحجم المسطح للمخزن المؤقت. |
تعويم مجردة[] | الحصول علىFloatArray () تقوم بإرجاع مصفوفة عائمة من القيم المخزنة في هذا المخزن المؤقت. |
تعويم مجردة | getFloatValue (int absIndex) تُرجع قيمة عائمة عند فهرس معين. |
كثافة العمليات مجردة[] | الحصول علىIntArray () تقوم بإرجاع مصفوفة من القيم المخزنة في هذا المخزن المؤقت. |
كثافة العمليات مجردة | getIntValue (int absIndex) تقوم بإرجاع قيمة int في فهرس معين. |
كثافة العمليات [] | الحصول على الشكل () يحصل على الشكل الحالي. |
كثافة العمليات مجردة | الحصول علىTypeSize () إرجاع عدد البايتات لعنصر واحد في المصفوفة. |
منطقية | ديناميكي () يُرجع إذا كان TensorBuffer ذو حجم ديناميكي (يمكن تغيير حجمه بشكل تعسفي). |
الفراغ المجرد | LoadArray (شكل int[] src، شكل int[]) يقوم بتحميل مصفوفة int في هذا المخزن المؤقت بشكل محدد. |
الفراغ المجرد | LoadArray (الشكل العائم [] src، الشكل int []) يقوم بتحميل مصفوفة عائمة في هذا المخزن المؤقت بشكل محدد. |
فارغ | تحميل صفيف (تعويم [] سرك) يقوم بتحميل مصفوفة عائمة في هذا المخزن المؤقت. |
فارغ | تحميل صفيف (int[] src) يقوم بتحميل مصفوفة int في هذا المخزن المؤقت. |
فارغ | |
فارغ |
الطرق الموروثة
الأساليب العامة
TensorBuffer ثابت عام createDynamic ( DataType dataType)
ينشئ TensorBuffer
ديناميكيًا فارغًا باستخدام DataType
المحدد. شكل 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.
حدود
نوع البيانات | نوع البيانات الخاص بـ TensorBuffer المراد إنشاؤه. |
---|
TensorBuffer ثابت عام createFixedSize (شكل int[]، DataType dataType)
ينشئ TensorBuffer
shape
المحدد ونوع DataType
. فيما يلي بعض الأمثلة:
// 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 المراد إنشاؤه. |
رميات
NullPointerException | إذا كان shape خاليا. |
---|---|
غير الشرعيين استثناء حجة | إذا كان shape يحتوي على عناصر غير إيجابية. |
إنشاء TensorBuffer ثابت عام ( TensorBuffer buffer، DataType dataType)
ينشئ TensorBuffer
نسخًا عميقًا لبيانات من أخرى، باستخدام DataType
المحدد.
حدود
متعادل | مصدر TensorBuffer للنسخ منه. |
---|---|
نوع البيانات | DataType المتوقع لـ TensorBuffer الذي تم إنشاؤه حديثًا. |
رميات
NullPointerException | إذا كان buffer المؤقت فارغًا. |
---|
int public getFlatSize ()
الحصول على الحجم المسطح للمخزن المؤقت.
رميات
استثناء الدولة غير القانوني | إذا كانت البيانات الأساسية تالفة |
---|
تعويم الملخص العام [] getFloatArray ()
تقوم بإرجاع مصفوفة عائمة من القيم المخزنة في هذا المخزن المؤقت. إذا كان المخزن المؤقت من أنواع مختلفة عن النوع العائم، فسيتم تحويل القيم إلى تعويم. على سبيل المثال، سيتم تحويل القيم في TensorBufferUint8
من uint8 إلى float.
getFloatValue لتعويم الملخص العام (int absIndex)
تُرجع قيمة عائمة عند فهرس معين. إذا كان المخزن المؤقت من أنواع مختلفة عن النوع العائم، فسيتم تحويل القيمة إلى نوع عائم. على سبيل المثال، عند قراءة قيمة من TensorBufferUint8
، ستتم قراءة القيمة أولاً كـ uint8، ثم سيتم تحويلها من uint8 إلى float.
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 | الفهرس المطلق للقيمة المراد قراءتها. |
---|
الملخص العام int[] getIntArray ()
تقوم بإرجاع مصفوفة من القيم المخزنة في هذا المخزن المؤقت. إذا كان المخزن المؤقت من نوع مختلف عن int، فسيتم تحويل القيم إلى int، وقد يؤدي ذلك إلى فقدان الدقة. على سبيل المثال، عند الحصول على مصفوفة int من TensorBufferFloat
بالقيم {400.32f, 23.04f}، يكون الإخراج {400, 23}.
الملخص العام int getIntValue (int absIndex)
تقوم بإرجاع قيمة int في فهرس معين. إذا كان المخزن المؤقت من أنواع مختلفة عن int، فسيتم تحويل القيمة إلى int. على سبيل المثال، عند قراءة قيمة من TensorBufferFloat
، ستتم قراءة القيمة أولاً كتعويم، ثم سيتم تحويلها من float إلى int. قد يتم تطبيق فقدان الدقة.
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 ()
يحصل على الشكل الحالي. (إعادة نسخة هنا لتجنب التعديل غير المتوقع.)
رميات
استثناء الدولة غير القانوني | إذا كانت البيانات الأساسية تالفة |
---|
الملخص العام int getTypeSize ()
إرجاع عدد البايتات لعنصر واحد في المصفوفة. على سبيل المثال، سيُرجع المخزن المؤقت العائم 4، وسيُرجع المخزن المؤقت للبايت 1.
المنطق العام هو الديناميكي ()
يُرجع إذا كان TensorBuffer
ذو حجم ديناميكي (يمكن تغيير حجمه بشكل تعسفي).
الملخص العام LoadArray (int[] src، int[] الشكل)
يقوم بتحميل مصفوفة int في هذا المخزن المؤقت بشكل محدد. إذا كان المخزن المؤقت من أنواع مختلفة عن int، فسيتم تحويل القيم إلى نوع المخزن المؤقت قبل تحميله في المخزن المؤقت، وقد يتم تطبيق فقدان الدقة. على سبيل المثال، عند تحميل مصفوفة int بالقيم {400, -23} في TensorBufferUint8
، سيتم تثبيت القيم على [0, 255] ثم يتم إرسالها إلى uint8 بواسطة {255, 0}.
حدود
src | المصفوفة المصدر المراد تحميلها. |
---|---|
شكل | شكل الموتر الذي يمثله src . |
رميات
NullPointerException | إذا كان src فارغًا. |
---|---|
NullPointerException | إذا كان shape خاليا. |
غير الشرعيين استثناء حجة | إذا كان حجم المصفوفة المراد تحميلها لا يتطابق مع الشكل المحدد. |
الملخص العام LoadArray (float[] src، int[] الشكل)
يقوم بتحميل مصفوفة عائمة في هذا المخزن المؤقت بشكل محدد. إذا كان المخزن المؤقت من أنواع مختلفة عن النوع العائم، فسيتم تحويل القيم إلى نوع المخزن المؤقت قبل تحميله في المخزن المؤقت، وقد يتم تطبيق فقدان الدقة. على سبيل المثال، عند تحميل مصفوفة عائمة في TensorBufferUint8
بالقيم {400.32f, -23.04f}، سيتم تثبيت القيم على [0, 255] ثم يتم إرسالها إلى uint8 بواسطة {255, 0}.
حدود
src | المصفوفة المصدر المراد تحميلها. |
---|---|
شكل | شكل الموتر الذي يمثله src . |
رميات
NullPointerException | إذا كان src فارغًا. |
---|---|
NullPointerException | إذا كان shape خاليا. |
غير الشرعيين استثناء حجة | إذا كان حجم المصفوفة المراد تحميلها لا يتطابق مع الشكل المحدد. |
تحميل الفراغ العام (float[] src)
يقوم بتحميل مصفوفة عائمة في هذا المخزن المؤقت. إذا كان المخزن المؤقت من أنواع مختلفة عن النوع العائم، فسيتم تحويل القيم إلى نوع المخزن المؤقت قبل تحميله في المخزن المؤقت، وقد يتم تطبيق فقدان الدقة. على سبيل المثال، عند تحميل مصفوفة عائمة في TensorBufferUint8
بالقيم {400.32f, -23.04f}، سيتم تثبيت القيم على [0, 255] ثم يتم إرسالها إلى uint8 بواسطة {255, 0}.
يفترض استخدام هذه الطريقة أن شكل src
هو نفس شكل TensorBuffer
. وبالتالي، يجب أن يتطابق حجم buffer
( src.length
) دائمًا مع الحجم المسطح لـ TensorBuffer
، لكل من TensorBuffer
ذو الحجم الثابت والديناميكي. استخدم loadArray(float[], int[])
إذا كان لـ src
شكل مختلف.
حدود
src | المصفوفة المصدر المراد تحميلها. |
---|
تحميل الفراغ العام (int[] src)
يقوم بتحميل مصفوفة int في هذا المخزن المؤقت. إذا كان المخزن المؤقت من أنواع مختلفة عن int، فسيتم تحويل القيم إلى نوع المخزن المؤقت قبل تحميله في المخزن المؤقت، وقد يتم تطبيق فقدان الدقة. على سبيل المثال، عند تحميل مصفوفة int بالقيم {400, -23} في TensorBufferUint8
، سيتم تثبيت القيم على [0, 255] ثم يتم إرسالها إلى uint8 بواسطة {255, 0}.
يفترض استخدام هذه الطريقة أن شكل src
هو نفس شكل TensorBuffer
. وبالتالي، يجب أن يتطابق حجم buffer
( src.length
) دائمًا مع الحجم المسطح لـ TensorBuffer
، لكل من TensorBuffer
ذو الحجم الثابت والديناميكي. استخدم loadArray(int[], int[])
إذا كان لـ src
شكل مختلف.
حدود
src | المصفوفة المصدر المراد تحميلها. |
---|
تحميل الفراغ العام ( ByteBuffer buffer)
يقوم بتحميل مخزن مؤقت للبايت في TensorBuffer
. يجب أن يتطابق حجم المخزن المؤقت مع الحجم المسطح لـ TensorBuffer
.
يفترض استخدام هذه الطريقة أن شكل buffer
هو نفس شكل TensorBuffer
هذا. وبالتالي فإن حجم buffer
( buffer.limit()
) يجب أن يتطابق دائمًا مع الحجم المسطح لـ TensorBuffer
هذا، لكل من TensorBuffer
ذو الحجم الثابت والديناميكي. استخدم loadBuffer(ByteBuffer, int[])
إذا كان buffer
شكل مختلف.
هام: المخزن المؤقت الذي تم تحميله هو مرجع. لا تقم بالتعديل. نحن لا نقوم بإنشاء نسخة هنا لأسباب تتعلق بالأداء، ولكن إذا كان التعديل ضروريًا، فيرجى عمل نسخة.
للحصول على أفضل أداء، قم دائمًا بتحميل ByteBuffer
المباشر أو ByteBuffer
المدعوم بمصفوفة.
إذا كان buffer
للقراءة فقط، فإننا نعتمد استراتيجية النسخ عند الكتابة للأداء.
حدود
متعادل | المخزن المؤقت للبايت للتحميل. |
---|
تحميل الفراغ العام ( ByteBuffer buffer، int[] الشكل)
يقوم بتحميل مخزن مؤقت للبايت في TensorBuffer
بشكل محدد.
هام: المخزن المؤقت الذي تم تحميله هو مرجع. لا تقم بالتعديل. نحن لا نقوم بإنشاء نسخة هنا لأسباب تتعلق بالأداء، ولكن إذا كان التعديل ضروريًا، فيرجى عمل نسخة.
للحصول على أفضل أداء، قم دائمًا بتحميل ByteBuffer
المباشر أو ByteBuffer
المدعوم بمصفوفة.
حدود
متعادل | المخزن المؤقت للبايت للتحميل. |
---|---|
شكل |
رميات
NullPointerException | إذا كان buffer المؤقت فارغًا. |
---|---|
غير الشرعيين استثناء حجة | إذا كان حجم buffer و typeSize غير متطابقين أو كان حجم buffer و flatSize غير متطابقين. |