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 ( خريطة < عدد صحيح ، قائمة < سلسلة >> axisLabels، TensorBuffer TensorBuffer)
يقوم بإنشاء كائن TensorLabel قادر على وضع علامة على محاور الموترات متعددة الأبعاد.
TensorLabel ( قائمة <String> axisLabels، TensorBuffer TensorBuffer)
يقوم بإنشاء كائن TensorLabel قادر على وضع علامة على محور واحد من الموترات متعددة الأبعاد.

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

قائمة < الفئة >
قائمة الفئات ()
يحصل على قائمة Category من كائن TensorLabel .
خريطة < سلسلة ، تعويم >
الحصول على MapWithFloatValue ()
يحصل على خريطة تحدد التسمية لتطفو.
خريطة < سلسلة ، TensorBuffer >
الحصول على MapWithTensorBuffer ()
احصل على الخريطة مع زوج من الملصقات وTensorBuffer المطابق.

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

المقاولون العامون

TensorLabel العام ( خريطة < عدد صحيح ، قائمة < سلسلة >> axisLabels، TensorBuffer TensorBuffer)

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

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

TensorLabel العام ( قائمة <String> axisLabels، TensorBuffer TensorBuffer)

يقوم بإنشاء كائن 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 كنتيجة.

رميات
استثناء الدولة غير القانوني إذا كان حجم الموتر الفرعي في كل تسمية ليس 1.

الخريطة العامة < String ، Float > getMapWithFloatValue ()

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

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

رميات
استثناء الدولة غير القانوني إذا كان حجم الموتر الفرعي في كل تسمية ليس 1.

الخريطة العامة < String ، TensorBuffer > getMapWithTensorBuffer ()

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