TensorLabel

فئة عامة TensorLabel

TensorLabel هو برنامج تضمين استخدام لـ TensorBuffers مع تصنيفات ذات مغزى على المحور.

على سبيل المثال، قد يتضمّن نموذج تصنيف الصور موصّل إخراج بالشكل {1, 10}، حيث يمثّل الرقم 1 حجم المجموعة والرقم 10 هو عدد الفئات. وفي المحور الثاني، يمكننا تسمية كل مجسّم فرعي باسم أو وصف كل فئة مقابلة. يمكن أن يساعد TensorLabel في تحويل Tensor العادي في TensorBuffer إلى خريطة من تصنيفات محددة مسبقًا إلى نطاقات فرعية. في هذه الحالة، إذا تم توفير 10 تصنيفات للمحور الثاني، يمكن لـ TensorLabel تحويل Tensor {1, 10} الأصلي إلى خريطة عناصر مكوّنة من 10 عناصر، تكون كل قيمة لها هي Tensor في الشكل {} (عددية). مثال على الاستخدام:

   TensorBuffer outputTensor = ...;
   List<String> labels = FileUtil.loadLabels(context, labelFilePath);
   // labels the first axis with size greater than one
   TensorLabel labeled = new TensorLabel(labels, outputTensor);
   // If each sub-tensor has effectively size 1, we can directly get a float value
   Map<String, Float> probabilities = labeled.getMapWithFloatValue();
   // Or get sub-tensors, when each sub-tensor has elements more than 1
   Map<String, TensorBuffer> subTensors = labeled.getMapWithTensorBuffer();
 

ملاحظة: نتيح حاليًا التحويل من خلال المعدّ إلى خريطة فقط للتصنيف الأول الذي يكون حجمه أكبر من 1.

الإنشاء العام

TensorLabel(خريطة<عدد صحيح، قائمة<سلسلة>> تصنيف المحور، TensorBuffer tenorBuffer)
تنشئ كائن TensorLabel يمكنه وضع علامة على محاور الموتّرات متعددة الأبعاد.
TensorLabel(List<String> axislabels، TensorBuffer tenorBuffer)
تنشئ كائن TensorLabel يمكنه تصنيفها على محور واحد من الموترات متعددة الأبعاد.

الطرق العامة

List<Category>
getCategoryList()
الحصول على قائمة Category من الكائن TensorLabel.
Map<StringFloat>
getMapWithFloatValue()
الحصول على خريطة تحدد التصنيف ليكون عائمًا.
Map<StringTensorBuffer>
getMapWithTensorBuffer()
الحصول على الخريطة مع زوج من التسمية وTensorBuffer المقابل.

الطرق المكتسَبة

الإنشاء العام

public TensorLabel (خريطة<عدد صحيح, قائمة<سلسلة>> محور التسميات، TensorBuffer tenorBuffer)

تنشئ كائن TensorLabel يمكنه وضع علامة على محاور الموتّرات متعددة الأبعاد.

المَعلمات
axisLabels خريطة يكون مفتاحها هو رقم تعريف المحور (بدءًا من 0) وقيمته هي التصنيفات المقابلة. ملاحظة: يجب أن يكون حجم التسميات متطابقًا مع حجم الموتر على هذا المحور.
tensorBuffer TensorBuffer المطلوب تصنيفها.
الرميات
NullPointerException إذا كانت السمة axisLabels أو tensorBuffer فارغة، أو إذا كانت أي قيمة في axisLabels فارغة.
IllegalArgumentException إذا كان أي مفتاح في axisLabels خارج النطاق (مقارنةً بشكل tensorBuffer، أو إذا كان لأي قيمة (التصنيفات) حجم مختلف مع tensorBuffer في السمة المعنيّة.

public TensorLabel (قائمة<سلسلة> تصنيفات المحور TensorBuffer tenorBuffer)

تنشئ كائن TensorLabel يمكنه تصنيفها على محور واحد من الموترات متعددة الأبعاد.

ملاحظة: يتم تطبيق التصنيفات على المحور الأول الذي يكون حجمه أكبر من 1. على سبيل المثال، إذا كان شكل الموصّل [1 و10 و3]، سيتم تطبيق التصنيفات على المحور 1 (رقم التعريف بدءًا من 0)، ويجب أن يكون حجم axisLabels أيضًا 10.

المَعلمات
axisLabels تمثّل هذه السمة قائمة بالتصنيفات التي يجب أن يكون حجمها مطابقًا لحجم الموصّل على المحور المطلوب تسميته.
tensorBuffer TensorBuffer المطلوب تصنيفها.

الطرق العامة

علنية القائمة<الفئة> getCategoryList ()

الحصول على قائمة Category من الكائن TensorLabel.

يجب أن يكون محور التصنيف هو المحور الأخير بشكل فعّال (ما يعني أنّ كل متوتر فرعي محدد بواسطة هذا المحور يجب أن يكون حجمه مسطحًا بقيمة 1)، بحيث يمكن تحويل كل مترابط فرعي مسمّى إلى نتيجة قيمة عائمة. مثال: يمكن استخدام TensorLabel مع الشكل {2, 5, 3} والمحور 2. إذا كان المحور هو 1 أو 0، لا يمكن تحويله إلى Category.

ويمكن استخدام getMapWithFloatValue() كبديل، ولكنه يعرض Map كنتيجة لذلك.

الرميات
IllegalStateException إذا كان حجم المتوتر الفرعي في كل تصنيف ليس 1.

public خريطة<سلسلة، عائم> getMapWithFloatValue ()

الحصول على خريطة تحدد التصنيف ليكون عائمًا. لا تسمح بالتعيين إلا على المحور الأول الذي يكون حجمه أكبر من 1، ويجب أن يكون المحور هو المحور الأخير بشكل فعّال (أي يجب أن يكون لكل موتر فرعي محدد من هذا المحور حجم مسطح قيمته 1).

getCategoryList() هي واجهة برمجة تطبيقات بديلة للحصول على النتيجة.

الرميات
IllegalStateException إذا كان حجم المتوتر الفرعي في كل تصنيف ليس 1.

public خريطة<سلسلةTensorBuffer> getMapWithTensorBuffer ()

الحصول على الخريطة مع زوج من التسمية وTensorBuffer المقابل. سيتم السماح بالتعيين فقط على المحور الأول بحجم أكبر من 1 حاليًا.