TensorBuffer

فئة مجردة عامة TensorBuffer
الفئات الفرعية المباشرة المعروفة

يمثل مخزن البيانات المؤقت لإدخال النموذج أو مخرجاته.

الأساليب العامة

ثابت TensorBuffer
createDynamic ( نوع البيانات نوع البيانات)
ينشئ TensorBuffer ديناميكيًا فارغًا باستخدام DataType المحدد.
ثابت TensorBuffer
createFixedSize (شكل int[]، DataType dataType)
ينشئ TensorBuffer shape المحدد ونوع DataType .
ثابت 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 في هذا المخزن المؤقت.
فارغ
LoadBuffer (المخزن المؤقت ByteBuffer )
يقوم بتحميل مخزن مؤقت للبايت في TensorBuffer .
فارغ
LoadBuffer (مخزن ByteBuffer ، شكل int[])
يقوم بتحميل مخزن مؤقت للبايت في TensorBuffer بشكل محدد.

الطرق الموروثة

الأساليب العامة

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 المؤقت فارغًا.

GetBuffer ByteBuffer العام ()

إرجاع المخزن المؤقت للبيانات.

الملخص العام DataType getDataType ()

إرجاع نوع البيانات لهذا المخزن المؤقت.

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 غير متطابقين.