TensorLabel হল একটি অক্ষের উপর অর্থপূর্ণ লেবেল সহ TensorBuffers-এর জন্য একটি util wrapper।
উদাহরণস্বরূপ, একটি ইমেজ শ্রেণীবিভাগ মডেলের একটি আউটপুট টেনসর থাকতে পারে যার আকৃতি {1, 10}, যেখানে 1 হল ব্যাচের আকার এবং 10 হল বিভাগের সংখ্যা। প্রকৃতপক্ষে, ২য় অক্ষে, আমরা প্রতিটি সাব-টেনসরকে প্রতিটি সংশ্লিষ্ট বিভাগের নাম বা বিবরণ দিয়ে লেবেল করতে পারি। TensorLabel
TensorBuffer
প্লেইন টেনসরকে পূর্বনির্ধারিত লেবেল থেকে সাব-টেনসরে রূপান্তর করতে সাহায্য করতে পারে। এই ক্ষেত্রে, যদি দ্বিতীয় অক্ষের জন্য 10টি লেবেল প্রদান করা হয়, TensorLabel
মূল {1, 10} টেনসরকে একটি 10 উপাদান মানচিত্রে রূপান্তর করতে পারে, যার প্রতিটি মান টেনসর আকারে {} (স্কেলার)। ব্যবহারের উদাহরণ:
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 এর বেশি আকারের প্রথম লেবেলের জন্য শুধুমাত্র টেনসর-টু-ম্যাপ রূপান্তর সমর্থন করি।
পাবলিক কনস্ট্রাক্টর
টেনসরলেবেল ( মানচিত্র < পূর্ণসংখ্যা , তালিকা < স্ট্রিং >> অক্ষ লেবেল, টেনসরবাফার টেনসরবাফার) একটি টেনসরলেবেল অবজেক্ট তৈরি করে যা বহুমাত্রিক টেনসরের অক্ষগুলিতে লেবেল করতে সক্ষম। | |
টেনসরলেবেল ( তালিকা < স্ট্রিং > অক্ষ লেবেল, টেনসরবাফার টেনসরবাফার) একটি টেনসরলেবেল অবজেক্ট তৈরি করে যা বহুমাত্রিক টেনসরের একটি অক্ষে লেবেল করতে সক্ষম। |
পাবলিক পদ্ধতি
তালিকা < বিভাগ > | getCategoryList () TensorLabel অবজেক্ট থেকে Category একটি তালিকা পায়। |
মানচিত্র < স্ট্রিং , ফ্লোট > | getMapWithFloatValue () একটি মানচিত্র পায় যা ফ্লোট করার জন্য মানচিত্র লেবেল করে। |
মানচিত্র < স্ট্রিং , টেনসরবাফার > | getMapWithTensorBuffer () লেবেল এবং সংশ্লিষ্ট TensorBuffer এর একটি জোড়ার সাথে মানচিত্র পায়। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক কনস্ট্রাক্টর
সর্বজনীন টেনসরলেবেল ( মানচিত্র < পূর্ণসংখ্যা , তালিকা < স্ট্রিং >> অক্ষ লেবেল, টেনসরবাফার টেনসরবাফার)
একটি টেনসরলেবেল অবজেক্ট তৈরি করে যা বহুমাত্রিক টেনসরের অক্ষগুলিতে লেবেল করতে সক্ষম।
পরামিতি
axisLabels | একটি মানচিত্র, যার কী হল অক্ষ আইডি (0 থেকে শুরু) এবং মান হল সংশ্লিষ্ট লেবেল৷ দ্রষ্টব্য: লেবেলের আকার সেই অক্ষের টেনসরের আকারের সাথে একই হওয়া উচিত। |
---|---|
tensorBuffer | TensorBuffer লেবেল করা হবে. |
নিক্ষেপ করে
নাল পয়েন্টার ব্যতিক্রম | যদি axisLabels বা tensorBuffer নাল হয়, অথবা axisLabels এর কোন মান নাল হয়। |
---|---|
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি axisLabels এর কোন কী রেঞ্জের বাইরে থাকে ( tensorBuffer এর আকারের তুলনায়, বা যেকোন মান (লেবেল) প্রদত্ত মাত্রার tensorBuffer এর সাথে ভিন্ন আকারের থাকে। |
সর্বজনীন টেনসরলেবেল ( তালিকা < স্ট্রিং > অক্ষ লেবেল, টেনসরবাফার টেনসরবাফার)
একটি টেনসরলেবেল অবজেক্ট তৈরি করে যা বহুমাত্রিক টেনসরের একটি অক্ষে লেবেল করতে সক্ষম।
দ্রষ্টব্য: লেবেলগুলি প্রথম অক্ষে প্রয়োগ করা হয় যার আকার 1 এর চেয়ে বড়। উদাহরণস্বরূপ, যদি টেনসরের আকৃতি [1, 10, 3] হয়, তবে লেবেলগুলি অক্ষ 1-এ প্রয়োগ করা হবে (0 থেকে শুরু আইডি), এবং axisLabels
আকারও 10 হওয়া উচিত।
পরামিতি
axisLabels | লেবেলগুলির একটি তালিকা, যার আকার লেবেলযুক্ত অক্ষের টেনসরের আকারের সাথে একই হওয়া উচিত। |
---|---|
tensorBuffer | TensorBuffer লেবেল করা হবে. |
পাবলিক পদ্ধতি
সর্বজনীন তালিকা < বিভাগ > getCategoryList ()
TensorLabel
অবজেক্ট থেকে Category
একটি তালিকা পায়।
লেবেলের অক্ষটি কার্যকরভাবে শেষ অক্ষ হওয়া উচিত (যার অর্থ এই অক্ষ দ্বারা নির্দিষ্ট করা প্রতিটি সাব টেনসরের একটি ফ্ল্যাট আকার 1 হওয়া উচিত), যাতে প্রতিটি লেবেলযুক্ত সাব টেনসর একটি ফ্লোট মান স্কোরে রূপান্তরিত হতে পারে। উদাহরণ: আকৃতি {2, 5, 3}
এবং অক্ষ 2 সহ একটি TensorLabel
বৈধ। অক্ষ 1 বা 0 হলে, এটি একটি Category
রূপান্তর করা যাবে না।
getMapWithFloatValue()
একটি বিকল্প কিন্তু ফলাফল হিসাবে একটি Map
প্রদান করে।
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি প্রতিটি লেবেলে একটি সাব টেনসরের আকার 1 না হয়। |
---|
সর্বজনীন মানচিত্র < স্ট্রিং , ফ্লোট > getMapWithFloatValue ()
একটি মানচিত্র পায় যা ফ্লোট করার জন্য মানচিত্র লেবেল করে। শুধুমাত্র প্রথম অক্ষে 1 এর চেয়ে বড় আকারের ম্যাপিংয়ের অনুমতি দিন এবং অক্ষটি কার্যকরভাবে শেষ অক্ষ হতে হবে (যার মানে এই অক্ষ দ্বারা নির্দিষ্ট করা প্রতিটি সাব টেনসরের 1 এর সমতল আকার থাকা উচিত)।
getCategoryList()
ফলাফল পেতে একটি বিকল্প API।
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি প্রতিটি লেবেলে একটি সাব টেনসরের আকার 1 না হয়। |
---|
সর্বজনীন মানচিত্র < স্ট্রিং , টেনসরবাফার > getMapWithTensorBuffer ()
লেবেল এবং সংশ্লিষ্ট TensorBuffer এর একটি জোড়ার সাথে মানচিত্র পায়। শুধুমাত্র প্রথম অক্ষে ম্যাপিংয়ের অনুমতি দিন যার আকার বর্তমানে 1-এর বেশি।