টাস্ক লাইব্রেরি BertNLClassifier
এপিআইটি NLClassifier
অনুরূপ যা ইনপুট টেক্সটকে বিভিন্ন বিভাগে শ্রেণীবদ্ধ করে, এই এপিআইটি বিশেষভাবে বার্ট সম্পর্কিত মডেলগুলির জন্য তৈরি করা হয়েছে যার জন্য TFLite মডেলের বাইরে Wordpiece এবং Sentencepiece টোকেনাইজেশন প্রয়োজন।
BertNLCclassifier API-এর মূল বৈশিষ্ট্য
ইনপুট হিসাবে একটি একক স্ট্রিং নেয়, স্ট্রিং এবং আউটপুটগুলির সাথে শ্রেণীবিভাগ সম্পাদন করে
ইনপুট টেক্সটে গ্রাফের বাইরের ওয়ার্ডপিস বা সেন্টেন্সপিস টোকেনাইজেশন সম্পাদন করে।
সমর্থিত BertNLC ক্লাসিফায়ার মডেল
নিম্নলিখিত মডেলগুলি BertNLClassifier
API-এর সাথে সামঞ্জস্যপূর্ণ।
টেক্সট ক্লাসফিকেশনের জন্য টেনসরফ্লো লাইট মডেল মেকার দ্বারা তৈরি বার্ট মডেল।
কাস্টম মডেল যা মডেল সামঞ্জস্যের প্রয়োজনীয়তা পূরণ করে।
জাভাতে অনুমান চালান
ধাপ 1: Gradle নির্ভরতা এবং অন্যান্য সেটিংস আমদানি করুন
.tflite
মডেল ফাইলটি Android মডিউলের সম্পদ ডিরেক্টরিতে অনুলিপি করুন যেখানে মডেলটি চালানো হবে৷ নির্দিষ্ট করুন যে ফাইলটি সংকুচিত করা উচিত নয়, এবং মডিউলের build.gradle
ফাইলে TensorFlow Lite লাইব্রেরি যোগ করুন:
android {
// Other settings
// Specify tflite file should not be compressed for the app apk
aaptOptions {
noCompress "tflite"
}
}
dependencies {
// Other dependencies
// Import the Task Text Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-text:0.4.4'
}
ধাপ 2: API ব্যবহার করে অনুমান চালান
// Initialization
BertNLClassifierOptions options =
BertNLClassifierOptions.builder()
.setBaseOptions(BaseOptions.builder().setNumThreads(4).build())
.build();
BertNLClassifier classifier =
BertNLClassifier.createFromFileAndOptions(context, modelFile, options);
// Run inference
List<Category> results = classifier.classify(input);
আরো বিস্তারিত জানার জন্য সোর্স কোড দেখুন.
সুইফটে অনুমান চালান
ধাপ 1: কোকোপড আমদানি করুন
Podfile এ TensorFlowLiteTaskText পড যোগ করুন
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
ধাপ 2: API ব্যবহার করে অনুমান চালান
// Initialization
let bertNLClassifier = TFLBertNLClassifier.bertNLClassifier(
modelPath: bertModelPath)
// Run inference
let categories = bertNLClassifier.classify(text: input)
আরো বিস্তারিত জানার জন্য সোর্স কোড দেখুন.
C++ এ অনুমান চালান
// Initialization
BertNLClassifierOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<BertNLClassifier> classifier = BertNLClassifier::CreateFromOptions(options).value();
// Run inference with your input, `input_text`.
std::vector<core::Category> categories = classifier->Classify(input_text);
আরো বিস্তারিত জানার জন্য সোর্স কোড দেখুন.
পাইথনে অনুমান চালান
ধাপ 1: পিপ প্যাকেজ ইনস্টল করুন
pip install tflite-support
ধাপ 2: মডেল ব্যবহার
# Imports
from tflite_support.task import text
# Initialization
classifier = text.BertNLClassifier.create_from_file(model_path)
# Run inference
text_classification_result = classifier.classify(text)
BertNLClassifier
কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোড দেখুন।
উদাহরণ ফলাফল
মডেল মেকার থেকে মোবাইলবার্ট মডেল ব্যবহার করে মুভি পর্যালোচনার শ্রেণীবিভাগ ফলাফলের একটি উদাহরণ এখানে দেওয়া হল।
ইনপুট: "এটি একটি কমনীয় এবং প্রায়ই ভ্রমণকে প্রভাবিত করে"
আউটপুট:
category[0]: 'negative' : '0.00006'
category[1]: 'positive' : '0.99994'
আপনার নিজস্ব মডেল এবং পরীক্ষার ডেটা সহ BertNLCclassifier-এর জন্য সাধারণ CLI ডেমো টুল ব্যবহার করে দেখুন।
মডেল সামঞ্জস্যের প্রয়োজনীয়তা
BetNLClassifier
API বাধ্যতামূলক TFLite মডেল মেটাডেটা সহ একটি TFLite মডেল আশা করে।
মেটাডেটা নিম্নলিখিত প্রয়োজনীয়তা পূরণ করা উচিত:
Wordpiece/Sentencepiece Tokenizer-এর জন্য input_process_units
টোকেনাইজারের আউটপুটের জন্য "আইডি", "মাস্ক" এবং "সেগমেন্ট_আইডিস" নামের 3টি ইনপুট টেনসর
একটি ঐচ্ছিকভাবে সংযুক্ত লেবেল ফাইল সহ float32 টাইপের 1 আউটপুট টেনসর। যদি একটি লেবেল ফাইল সংযুক্ত থাকে, তাহলে ফাইলটি প্রতি লাইনে একটি লেবেল সহ একটি প্লেইন টেক্সট ফাইল হওয়া উচিত এবং লেবেলের সংখ্যাটি মডেল আউটপুট হিসাবে বিভাগের সংখ্যার সাথে মেলে।