TensorLabel هو برنامج تضمين استخدام لـ TensorBuffers مع تصنيفات ذات معنى على المحور.
على سبيل المثال، قد يحتوي نموذج تصنيف الصور على موتر إخراج له شكل {1, 10}،
حيث يمثل الرقم 1 حجم الدفعة و10 هو عدد الفئات. وفي الواقع، على المحور الثاني، يمكننا أن
لتسمية كل موتر فرعي باسم أو وصف كل فئة مقابلة. يمكن أن تساعد TensorLabel في تحويل Tensor العادية في TensorBuffer إلى خريطة من
تسميات محددة مسبقًا إلى الموتّرات الفرعية. في هذه الحالة، إذا تم توفير 10 تصنيفات للمحور الثاني، يمكن لـ TensorLabel تحويل {1, 10} Tensor إلى خريطة مكونة من 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 tensorBuffer)
تنشئ كائن TensorLabel الذي يمكنه التسمية على محاور الموجهات متعددة الأبعاد.
|
|
|
TensorLabel(List<String> axisتصنيفات, TensorBuffer tensorBuffer)
تنشئ كائن TensorLabel الذي يستطيع تصنيفه على محور واحد من عوامل المؤسّسات متعددة الأبعاد.
|
الطرق العامة
| القائمة<Category> |
getCategoryList()
للحصول على قائمة
Category من عنصر TensorLabel. |
| الخريطة<String, Float> |
getMapWithFloatValue()
الحصول على خريطة تعرض التصنيف لتطفو
|
| الخريطة<String, TensorBuffer> |
getMapWithTensorBuffer()
يحصل على الخريطة مع زوج من التصنيف وTensorBuffer المقابل.
|
الطرق المكتسبة
الشركات المصنّعة العامة
علنية TensorLabel (الخريطة<عدد صحيح، قائمة<سلسلة>> تصنيفات المحاور، TensorBuffer tensorBuffer)
تنشئ كائن TensorLabel الذي يمكنه التسمية على محاور الموجهات متعددة الأبعاد.
المعلمات
| axisLabels | خريطة، يكون مفتاحها هو رقم تعريف المحور (يبدأ من 0) والقيمة مقابلة الفعلية. ملاحظة: يجب أن يكون حجم التصنيفات متطابقًا مع حجم مؤشر التوتر على ذلك المحور. |
|---|---|
| tensorBuffer | سيتم تصنيف TensorBuffer. |
الرميات
| NullPointerException | إذا كانت السمة axisLabels أو tensorBuffer لا قيمة، أو أي قيمة
القيمة في axisLabels خالية. |
|---|---|
| IllegalArgumentException | إذا كان أي مفتاح في axisLabels خارج النطاق (مقارنة
شكل tensorBuffer، أو أي قيمة (تصنيفات) لها حجم مختلف مع tensorBuffer في البُعد المحدّد.
|
علنية TensorLabel (قائمة<سلسلة> تصنيفات المحاور، TensorBuffer tensorBuffer)
تنشئ كائن TensorLabel الذي يستطيع تصنيفه على محور واحد من عوامل المؤسّسات متعددة الأبعاد.
ملاحظة: يتم تطبيق التصنيفات على المحور الأول الذي يزيد حجمه عن 1. على سبيل المثال، إذا
شكل التيونس هو [1، 10، 3]، سيتم تطبيق التسميات على المحور 1 (رقم التعريف بدءًا من
0)، ويجب أن يكون حجم axisLabels 10 أيضًا.
المعلمات
| axisLabels | قائمة من التصنيفات التي يجب أن يكون حجمها متطابقًا مع حجم أداة "سينسور" في المحور الذي سيتم تسميته. |
|---|---|
| tensorBuffer | سيتم تصنيف TensorBuffer. |
الطرق العامة
علنية قائمة<Category> getCategoryList ()
للحصول على قائمة Category من عنصر TensorLabel.
يجب أن يكون محور التصنيف هو المحور الأخير بشكل فعال (ويعني ذلك أن كل متوتر فرعي
المحددة بهذا المحور يجب أن يكون حجمها مسطحًا بمقدار 1، بحيث يمكن وضع
ويتم تحويلها إلى نتيجة قيمة عائمة. مثال: TensorLabel ذات الشكل {2, 5, 3}
والمحور الثاني صالح. إذا كان المحور 1 أو 0، لا يمكن تحويله إلى Category.
إنّ getMapWithFloatValue() هو بديل، ولكن يتم عرض Map في شكل
النتيجة.
الرميات
| IllegalStateException | إذا كان حجم موتر فرعي في كل تصنيف ليس 1. |
|---|
علنية Map<String, Float> getMapWithFloatValue ()
الحصول على خريطة تعرض التصنيف لتطفو السماح فقط بالتعيين على المحور الأول بحجم أكبر من 1، ويجب أن يكون المحور هو المحور الأخير بشكل فعال (والذي يعني أن كل متوتر فرعي الذي يحدده هذا المحور يجب أن يكون الحجم الثابت 1).
getCategoryList() هي واجهة برمجة تطبيقات بديلة للحصول على النتيجة.
الرميات
| IllegalStateException | إذا كان حجم موتر فرعي في كل تصنيف ليس 1. |
|---|
علنية Map<String, TensorBuffer> getMapWithTensorBuffer ()
يحصل على الخريطة مع زوج من التصنيف وTensorBuffer المقابل. السماح فقط بـ التعيين على المحور الأول بحجم أكبر من 1 حاليًا.