الفئات الفرعية المباشرة المعروفة |
يمثل المخزن المؤقت للبيانات لمدخل النموذج أو مُخرجاته.
الطرق العامة
ثابتة TensorBuffer |
createDynamic(نوع البيانات DataType)
تنشئ قيمة
TensorBuffer ديناميكية فارغة باستخدام DataType محدّد. |
ثابتة TensorBuffer |
createFixedSize(int[] shape, DataType dataType)
|
ثابتة TensorBuffer |
createFrom(مخزن مؤقّت في TensorBuffer ونوع البيانات DataType)
تنشئ هذه الدالة بيانات
TensorBuffer للنسخ العميق من أخرى، باستخدام DataType المحددة. |
ByteBuffer |
getBuffer()
تعرض المخزن المؤقت للبيانات.
|
تجريدي DataType |
getDataType()
تعرض نوع البيانات لهذا المخزن المؤقت.
|
int |
getFlatSize()
للحصول على الحجم الثابت للمخزن المؤقت.
|
تجريدي float[] |
getFloatArray()
تعرض صفيفًا عائمًا من القيم المخزنة في هذا المخزن المؤقت.
|
تجريدي عدد عائم |
getFloatValue(int absIndex)
لعرض قيمة عائمة في فهرس معين.
|
تجريدي int[] |
getIntArray()
تعرض صفيفة int من القيم المخزّنة في هذا المخزن المؤقت.
|
تجريدي تدخُّل دفاعي |
getIntValue(int absIndex)
لعرض قيمة عدد صحيح في فهرس معين.
|
int[] |
getShape()
الحصول على الشكل الحالي
|
تجريدي تدخُّل دفاعي |
getTypeSize()
تعرض عدد وحدات البايت لعنصر واحد في المصفوفة.
|
منطقي |
isDynamic()
يتم عرض إذا كان حجم
TensorBuffer ديناميكيًا (يمكن تغيير حجمه عشوائيًا). |
تجريدي فراغ |
loadArray(int[] src, int[] shape)
تحميل صفيفة int إلى هذا المخزن المؤقت بشكل معيّن.
|
تجريدي فراغ |
loadArray(float[] src, int[] shape)
لتحميل صفيف عائم في هذا المخزن المؤقت بشكل محدد.
|
فراغ |
loadArray(float[] src)
تحمِّل صفيفًا عائمًا إلى هذا المخزن المؤقت.
|
فراغ |
loadArray(int[] src)
تحمِّل صفيفة int إلى هذا المخزن المؤقت.
|
فراغ | |
فراغ |
loadBuffer(التخزين المؤقت في ByteBuffer، شكل int[])
تحمِّل مخزنًا مؤقتًا بايت في
TensorBuffer بشكل محدَّد. |
الطرق المكتسبة
الطرق العامة
علنية ثابتة TensorBuffer createDynamic (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.
المعلمات
dataType | نوع البيانات "TensorBuffer " المطلوب إنشاؤه.
|
---|
علنية ثابتة TensorBuffer createFixedSize (int[] shape, 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 المطلوب إنشاؤه. |
---|---|
dataType | نوع البيانات "TensorBuffer " المطلوب إنشاؤه. |
الرميات
NullPointerException | إذا كانت shape خالية. |
---|---|
IllegalArgumentException | إذا كانت السمة shape تحتوي على عناصر غير موجبة.
|
علنية ثابتة TensorBuffer createFrom (TensorBuffer المخزن المؤقت، DataType dataType)
تنشئ هذه الدالة بيانات TensorBuffer
للنسخ العميق من أخرى، باستخدام DataType
المحددة.
المعلمات
المخزن المؤقت | والمصدر TensorBuffer للنسخ منه. |
---|---|
dataType | القيمة المتوقّعة لـ DataType من TensorBuffer التي تم إنشاؤها حديثًا. |
الرميات
NullPointerException | إذا كانت buffer خالية.
|
---|
علنية تدخُّل دفاعي getFlatSize ()
للحصول على الحجم الثابت للمخزن المؤقت.
الرميات
IllegalStateException | في حالة تلف البيانات الأساسية |
---|
علنية تجريدي float[] getFloatArray ()
تعرض صفيفًا عائمًا من القيم المخزنة في هذا المخزن المؤقت. إذا كان المورد الاحتياطي من أنواع مختلفة
من العدد العشري، سيتم تحويل القيم إلى عدد عشري. على سبيل المثال، سيتم تحويل القيم في TensorBufferUint8
من uint8 إلى float.
علنية تجريدي عدد عائم 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);
المعلمات
absIndex | الفهرس المطلق للقيمة المراد قراءتها. |
---|
علنية تجريدي int[] getIntArray ()
تعرض صفيفة int من القيم المخزّنة في هذا المخزن المؤقت. إذا كان المخزن المؤقت من نوع مختلف
من int، ستتحول القيم إلى عدد صحيح، وقد يحدث فقدان للدقة. على سبيل المثال:
للحصول على صفيفة Int من TensorBufferFloat
بالقيم {400.32f, 23.04f}، يكون الناتج
هي {400, 23}.
علنية تجريدي تدخُّل دفاعي getIntValue (int absIndex)
لعرض قيمة عدد صحيح في فهرس معين. إذا كان المخزن المؤقت من أنواع مختلفة عن int، فإن القيمة
سيتم تحويله إلى عدد صحيح. على سبيل المثال، عند قراءة قيمة من TensorBufferFloat
،
تُقرأ القيمة أولاً على أنها float، ثم يتم تحويلها من 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: int v = tensorBuffer.getIntValue(3); Note that v is converted from 3.0f to 3 as a result of type conversion.
المعلمات
absIndex | الفهرس المطلق للقيمة المراد قراءتها. |
---|
علنية int[] getShape ()
الحصول على الشكل الحالي (عرض نسخة هنا لتجنب التعديل غير المتوقع).
الرميات
IllegalStateException | في حالة تلف البيانات الأساسية |
---|
علنية تجريدي تدخُّل دفاعي getTypeSize ()
تعرض عدد وحدات البايت لعنصر واحد في المصفوفة. على سبيل المثال، سيقوم المخزن المؤقت العائم إرجاع 4، وسيعرض المخزن المؤقت للبايت القيمة 1.
علنية تجريدي فراغ loadArray (int[] src, int[] shape)
تحميل صفيفة int إلى هذا المخزن المؤقت بشكل معيّن. إذا كان المورد الاحتياطي من أنواع مختلفة
من int، فسيتم تحويل القيم إلى نوع المخزن المؤقت قبل تحميلها إلى
وقد ينطبق فقدان الدقة. على سبيل المثال، يؤدي تحميل صفيفة int بالقيم {400,
-23} في TensorBufferUint8
، سيتم تثبيت القيم على [0, 255] وبعد ذلك
تم إرسالها إلى uint8 من قِبل {255, 0}.
المعلمات
src | مصفوفة المصدر المراد تحميلها. |
---|---|
الشكل | شكل المتسّع الذي تمثّله src . |
الرميات
NullPointerException | إذا كانت src خالية. |
---|---|
NullPointerException | إذا كانت shape خالية. |
IllegalArgumentException | إذا كان حجم الصفيفة المطلوب تحميلها لا يتطابق مع الشكل المحدد. |
علنية تجريدي فراغ loadArray (float[] src, int[] shape)
لتحميل صفيف عائم في هذا المخزن المؤقت بشكل محدد. إذا كان المورد الاحتياطي من أنواع مختلفة
من القيمة العائمة، ستتحول القيم إلى نوع المخزن المؤقت قبل تحميلها إلى
وقد ينطبق فقدان الدقة. على سبيل المثال، عند تحميل صفيف عائم في TensorBufferUint8
بالقيم {400.32f, -23.04f}، سيتم تثبيت القيم على [0، 255]
يتم إرسالها إلى uint8 من خلال {255, 0}.
المعلمات
src | مصفوفة المصدر المراد تحميلها. |
---|---|
الشكل | شكل المتسّع الذي تمثّله src . |
الرميات
NullPointerException | إذا كانت src خالية. |
---|---|
NullPointerException | إذا كانت shape خالية. |
IllegalArgumentException | إذا كان حجم الصفيفة المطلوب تحميلها لا يتطابق مع الشكل المحدد. |
علنية فراغ loadArray (float[] src)
تحمِّل صفيفًا عائمًا إلى هذا المخزن المؤقت. إذا كان المورد الاحتياطي أنواعًا مختلفة عن الفترة العائمة،
سوف يتم تحويل القيم إلى نوع المخزن المؤقت قبل أن يتم تحميلها إلى المخزن المؤقت، ونفقدها
الدقة قد تنطبق. على سبيل المثال، تحميل صفيف عائم في TensorBufferUint8
ذات القيمتين {400.32f, -23.04f}، فسيتم تثبيت القيم بـ [0, 255] ثم تحويلها إلى
uint8 by {255, 0}.
من خلال استخدام هذه الطريقة، نفترض أنّ شكل src
هو نفسه شكل هذه
TensorBuffer
وبالتالي، يجب أن يتطابق حجم buffer
(src.length
) دائمًا.
الحجم الثابت لهذه TensorBuffer
، لكل من الحجم الثابت والإصدار الديناميكي من TensorBuffer
. استخدِم loadArray(float[], int[])
إذا كان لـ src
شكل مختلف.
المعلمات
src | مصفوفة المصدر المراد تحميلها. |
---|
علنية فراغ loadArray (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 | مصفوفة المصدر المراد تحميلها. |
---|
علنية فراغ loadBuffer (المخزن المؤقت لـ ByteBuffer)
يتم تحميل مخزن مؤقت بايت في TensorBuffer
. يجب أن يتطابق حجم المخزن المؤقت مع الحجم الثابت
هذا TensorBuffer
.
من خلال استخدام هذه الطريقة، نفترض أنّ شكل buffer
هو نفسه شكل هذه
TensorBuffer
وبالتالي يجب أن يكون حجم buffer
(buffer.limit()
) دائمًا
تتطابق مع الحجم الثابت لـ TensorBuffer
هذه، لكل من الحجم الثابت والإصدار الديناميكي من TensorBuffer
. استخدِم loadBuffer(ByteBuffer, int[])
إذا كان الحقل buffer
مختلفًا.
الشكل.
ملاحظة مهمة: المخزن المؤقت الذي تم تحميله هو مرجع. يُرجى عدم التعديل. لا ننشئ نسخة هنا المشكلات المتعلقة بالأداء، ولكن إذا لزم الأمر، يُرجى إنشاء نسخة.
للحصول على أفضل أداء، حمِّل دائمًا ByteBuffer
أو ByteBuffer
بشكل مباشر.
مدعومة بصفيفة.
إذا كان buffer
للقراءة فقط، سنعتمد استراتيجية النسخ عند الكتابة لتحسين الأداء.
المعلمات
المخزن المؤقت | المخزن المؤقت للبايت المطلوب تحميله. |
---|
علنية فراغ loadBuffer (ByteBuffer المخزن المؤقت، الشكل int[])
تحمِّل مخزنًا مؤقتًا بايت في TensorBuffer
بشكل محدَّد.
ملاحظة مهمة: المخزن المؤقت الذي تم تحميله هو مرجع. يُرجى عدم التعديل. لا ننشئ نسخة هنا المشكلات المتعلقة بالأداء، ولكن إذا لزم الأمر، يُرجى إنشاء نسخة.
للحصول على أفضل أداء، حمِّل دائمًا ByteBuffer
أو ByteBuffer
بشكل مباشر.
مدعومة بصفيفة.
المعلمات
المخزن المؤقت | المخزن المؤقت للبايت المطلوب تحميله. |
---|---|
الشكل |
الرميات
NullPointerException | إذا كانت buffer خالية. |
---|---|
IllegalArgumentException | إذا كان حجم buffer وtypeSize لا
متطابق أو حجم buffer وflatSize غير متطابقين.
|