টেনসরফ্লো লাইট এবং ফায়ারবেস - iOS কোডল্যাবের সাথে আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

টেনসরফ্লো লাইট এবং ফায়ারবেস - iOS কোডল্যাবের সাথে আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

এই কোডল্যাব সম্পর্কে

subjectসেপ ৪, ২০২৪-এ শেষবার আপডেট করা হয়েছে
account_circleulukaya@, morganchen@-এর লেখা

1. ওভারভিউ

classification_result_screen.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলকে প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • Firebase অ্যানালিটিক্সের মাধ্যমে মডেলের যথার্থতা পরিমাপ করতে ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করুন
  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে প্রোফাইল মডেল পারফরম্যান্স
  • রিমোট কনফিগারেশনের মাধ্যমে একাধিক স্থাপন করা মডেলের মধ্যে কোনটি লোড করা হয়েছে তা নির্বাচন করুন
  • Firebase A/B পরীক্ষার মাধ্যমে বিভিন্ন মডেলের সাথে পরীক্ষা করুন

আপনি কি প্রয়োজন হবে

  • Xcode 11 (বা উচ্চতর)
  • CocoaPods 1.9.1 (বা উচ্চতর)

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

2. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. নতুন প্রজেক্ট তৈরি করুন নির্বাচন করুন এবং আপনার প্রকল্পের নাম দিন "Firebase ML iOS Codelab"।

3. নমুনা প্রকল্প পান

কোডটি ডাউনলোড করুন

নমুনা প্রকল্প ক্লোন করে শুরু করুন এবং প্রকল্প ডিরেক্টরিতে pod update চালান:

git clone https://github.com/FirebaseExtended/codelab-textclassification-ios.git
cd codelab-textclassification-ios
pod install --repo-update

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন। একবার আপনি প্রকল্পটি ডাউনলোড করার পরে, এটিকে Xcode-এ চালান এবং এটি কীভাবে কাজ করে তার অনুভূতি পেতে পাঠ্য শ্রেণীবিভাগের সাথে খেলুন।

Firebase সেট আপ করুন

একটি নতুন ফায়ারবেস প্রকল্প তৈরি করতে ডকুমেন্টেশন অনুসরণ করুন। একবার আপনি আপনার প্রকল্পটি পেয়ে গেলে, Firebase কনসোল থেকে আপনার প্রকল্পের GoogleService-Info.plist ফাইলটি ডাউনলোড করুন এবং এটিকে Xcode প্রকল্পের মূলে টেনে আনুন৷

9efb62a92f27e939.png

আপনার Podfile এ Firebase যোগ করুন এবং পড ইনস্টল চালান।

pod 'FirebaseMLModelDownloader', '9.3.0-beta'

আপনার AppDelegate এর didFinishLaunchingWithOptions পদ্ধতিতে, ফাইলের শীর্ষে Firebase আমদানি করুন

import FirebaseCore

এবং Firebase কনফিগার করতে একটি কল যোগ করুন।

FirebaseApp.configure()

অ্যাপটি সঠিকভাবে কনফিগার করা হয়েছে এবং লঞ্চের সময় ক্র্যাশ না হয় তা নিশ্চিত করতে প্রকল্পটি আবার চালান।

4. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

5. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

6. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

ModelLoader.swift এর শীর্ষে, Firebase মডিউল আমদানি করুন।

import FirebaseCore
import FirebaseMLModelDownloader

তারপর নিম্নলিখিত পদ্ধতিগুলি বাস্তবায়ন করুন।

static func downloadModel(named name: String,
                          completion: @escaping (CustomModel?, DownloadError?) -> Void) {
  guard FirebaseApp.app() != nil else {
    completion(nil, .firebaseNotInitialized)
    return
  }
  guard success == nil && failure == nil else {
    completion(nil, .downloadInProgress)
    return
  }
  let conditions = ModelDownloadConditions(allowsCellularAccess: false)
  ModelDownloader.modelDownloader().getModel(name: name, downloadType: .localModelUpdateInBackground, conditions: conditions) { result in
          switch (result) {
          case .success(let customModel):
                  // Download complete.
                  // The CustomModel object contains the local path of the model file,
                  // which you can use to instantiate a TensorFlow Lite classifier.
                  return completion(customModel, nil)
          case .failure(let error):
              // Download was unsuccessful. Notify error message.
            completion(nil, .downloadFailed(underlyingError: error))
          }
  }
}

ViewController.swift এর viewDidLoad এ, আমাদের নতুন মডেল ডাউনলোড পদ্ধতি দিয়ে loadModel() এ কলটি প্রতিস্থাপন করুন।

// Download the model from Firebase
print("Fetching model...")
ModelLoader.downloadModel(named: "sentiment_analysis") { (customModel, error) in
  guard let customModel = customModel else {
    if let error = error {
      print(error)
    }
    return
  }

  print("Model download complete")

  // TODO: Initialize an NLClassifier from the downloaded model
}

আপনার অ্যাপ পুনরায় চালান। কয়েক সেকেন্ড পরে, আপনি দূরবর্তী মডেল সফলভাবে ডাউনলোড হয়েছে নির্দেশ করে Xcode একটি লগ দেখতে হবে. কিছু টেক্সট টাইপ করার চেষ্টা করুন এবং অ্যাপটির আচরণ পরিবর্তন হয়নি তা নিশ্চিত করুন।

7. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি TFLNLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের পডফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন। নিশ্চিত করুন যে আপনি target 'TextClassification' ঘোষণার অধীনে নির্ভরতা যোগ করেছেন।

pod 'TensorFlowLiteTaskText', '~> 0.2.0'

নতুন নির্ভরতা ইনস্টল করতে pod install চালান।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

ViewController.swift

আসুন একটি TFLNLCক্ল্যাসিফায়ার ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। ফাইলের শীর্ষে, নতুন নির্ভরতা আমদানি করুন:

import TensorFlowLiteTaskText

শেষ ধাপে আমরা যে পদ্ধতিটি সংশোধন করেছি তার উপরে এই মন্তব্যটি খুঁজুন:

// TODO: Add a TFLNLClassifier property.

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

private var classifier: TFLNLClassifier?

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। আমরা শেষ ধাপে যোগ করা এই মন্তব্যটি খুঁজুন:

// TODO: Initialize an NLClassifier from the downloaded model

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

let options = TFLNLClassifierOptions()
self.classifier = TFLNLClassifier.nlClassifier(modelPath: customModel.path, options: options)

পাঠ্য শ্রেণিবদ্ধ করুন

একবার classifier ইন্সট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।

ViewController.swift

classify(text:) পদ্ধতিতে, TODO মন্তব্যটি খুঁজুন:

// TODO: Run sentiment analysis on the input text

নিম্নলিখিত কোড দিয়ে মন্তব্য প্রতিস্থাপন করুন:

guard let classifier = self.classifier else { return }

// Classify the text
let classifierResults
= classifier.classify(text: text)

// Append the results to the list of results
let result
= ClassificationResult(text: text, results: classifierResults)
results
.append(result)

8. চূড়ান্ত অ্যাপটি চালান

আপনি অনুভূতি বিশ্লেষণ মডেলটি অ্যাপটিতে সংহত করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার iOS ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png ) এক্সকোড টুলবারে।

অ্যাপটি আপনার প্রবেশ করা মুভি পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

classification_result_screen.png

9. আরও Firebase বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন৷

আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের কেসগুলিকে শক্তিশালী করতে আরও বেশ কিছু বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমান গতি পরিমাপ করতে Firebase পারফরম্যান্স মনিটরিং।
  • ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করতে Firebase Analytics।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
  • আপনার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষিত করেছি? কোন সংস্করণ উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার জন্য A/B পরীক্ষা একটি ভালো উপায়!

আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

10. অভিনন্দন!

এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি অনুভূতি বিশ্লেষণ TFLite মডেলকে প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে আপনার মোবাইল অ্যাপে এটি স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে আপনার মডেলের অনুমানের গতি পরিমাপ করুন।
  • Firebase ML মডেল ম্যানেজমেন্ট API-এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
  • ভবিষ্যদ্বাণী ফলাফলের উপর ব্যবহারকারীদের প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করার অনুমতি দেওয়ার জন্য একটি প্রক্রিয়া যোগ করুন।
  • A/B ফায়ারবেস A/B পরীক্ষার মাধ্যমে গড় ওয়ার্ড ভেক্টর মডেল এবং MobileBERT মডেল পরীক্ষা করে।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,
টেনসরফ্লো লাইট এবং ফায়ারবেস - iOS কোডল্যাবের সাথে আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

এই কোডল্যাব সম্পর্কে

subjectসেপ ৪, ২০২৪-এ শেষবার আপডেট করা হয়েছে
account_circleulukaya@, morganchen@-এর লেখা

1. ওভারভিউ

classification_result_screen.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলকে প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • Firebase অ্যানালিটিক্সের মাধ্যমে মডেলের যথার্থতা পরিমাপ করতে ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করুন
  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে প্রোফাইল মডেল পারফরম্যান্স
  • রিমোট কনফিগারেশনের মাধ্যমে একাধিক স্থাপন করা মডেলের মধ্যে কোনটি লোড করা হয়েছে তা নির্বাচন করুন
  • Firebase A/B পরীক্ষার মাধ্যমে বিভিন্ন মডেলের সাথে পরীক্ষা করুন

আপনি কি প্রয়োজন হবে

  • Xcode 11 (বা উচ্চতর)
  • CocoaPods 1.9.1 (বা উচ্চতর)

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

2. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. নতুন প্রজেক্ট তৈরি করুন নির্বাচন করুন এবং আপনার প্রকল্পের নাম দিন "Firebase ML iOS Codelab"।

3. নমুনা প্রকল্প পান

কোডটি ডাউনলোড করুন

নমুনা প্রকল্প ক্লোন করে শুরু করুন এবং প্রকল্প ডিরেক্টরিতে pod update চালান:

git clone https://github.com/FirebaseExtended/codelab-textclassification-ios.git
cd codelab-textclassification-ios
pod install --repo-update

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন। একবার আপনি প্রকল্পটি ডাউনলোড করার পরে, এটিকে Xcode-এ চালান এবং এটি কীভাবে কাজ করে তার অনুভূতি পেতে পাঠ্য শ্রেণীবিভাগের সাথে খেলুন।

Firebase সেট আপ করুন

একটি নতুন ফায়ারবেস প্রকল্প তৈরি করতে ডকুমেন্টেশন অনুসরণ করুন। একবার আপনি আপনার প্রকল্পটি পেয়ে গেলে, Firebase কনসোল থেকে আপনার প্রকল্পের GoogleService-Info.plist ফাইলটি ডাউনলোড করুন এবং এটিকে Xcode প্রকল্পের মূলে টেনে আনুন৷

9efb62a92f27e939.png

আপনার Podfile এ Firebase যোগ করুন এবং পড ইনস্টল চালান।

pod 'FirebaseMLModelDownloader', '9.3.0-beta'

আপনার AppDelegate এর didFinishLaunchingWithOptions পদ্ধতিতে, ফাইলের শীর্ষে Firebase আমদানি করুন

import FirebaseCore

এবং Firebase কনফিগার করতে একটি কল যোগ করুন।

FirebaseApp.configure()

অ্যাপটি সঠিকভাবে কনফিগার করা হয়েছে এবং লঞ্চের সময় ক্র্যাশ না হয় তা নিশ্চিত করতে প্রকল্পটি আবার চালান।

4. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

5. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

6. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

ModelLoader.swift এর শীর্ষে, Firebase মডিউল আমদানি করুন।

import FirebaseCore
import FirebaseMLModelDownloader

তারপর নিম্নলিখিত পদ্ধতিগুলি বাস্তবায়ন করুন।

static func downloadModel(named name: String,
                          completion: @escaping (CustomModel?, DownloadError?) -> Void) {
  guard FirebaseApp.app() != nil else {
    completion(nil, .firebaseNotInitialized)
    return
  }
  guard success == nil && failure == nil else {
    completion(nil, .downloadInProgress)
    return
  }
  let conditions = ModelDownloadConditions(allowsCellularAccess: false)
  ModelDownloader.modelDownloader().getModel(name: name, downloadType: .localModelUpdateInBackground, conditions: conditions) { result in
          switch (result) {
          case .success(let customModel):
                  // Download complete.
                  // The CustomModel object contains the local path of the model file,
                  // which you can use to instantiate a TensorFlow Lite classifier.
                  return completion(customModel, nil)
          case .failure(let error):
              // Download was unsuccessful. Notify error message.
            completion(nil, .downloadFailed(underlyingError: error))
          }
  }
}

ViewController.swift এর viewDidLoad এ, আমাদের নতুন মডেল ডাউনলোড পদ্ধতি দিয়ে loadModel() এ কলটি প্রতিস্থাপন করুন।

// Download the model from Firebase
print("Fetching model...")
ModelLoader.downloadModel(named: "sentiment_analysis") { (customModel, error) in
  guard let customModel = customModel else {
    if let error = error {
      print(error)
    }
    return
  }

  print("Model download complete")

  // TODO: Initialize an NLClassifier from the downloaded model
}

আপনার অ্যাপ পুনরায় চালান। কয়েক সেকেন্ড পরে, আপনি দূরবর্তী মডেল সফলভাবে ডাউনলোড হয়েছে নির্দেশ করে Xcode একটি লগ দেখতে হবে. কিছু টেক্সট টাইপ করার চেষ্টা করুন এবং অ্যাপটির আচরণ পরিবর্তন হয়নি তা নিশ্চিত করুন।

7. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি TFLNLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের পডফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন। নিশ্চিত করুন যে আপনি target 'TextClassification' ঘোষণার অধীনে নির্ভরতা যোগ করেছেন।

pod 'TensorFlowLiteTaskText', '~> 0.2.0'

নতুন নির্ভরতা ইনস্টল করতে pod install চালান।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

ViewController.swift

আসুন একটি TFLNLCক্ল্যাসিফায়ার ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। ফাইলের শীর্ষে, নতুন নির্ভরতা আমদানি করুন:

import TensorFlowLiteTaskText

শেষ ধাপে আমরা যে পদ্ধতিটি সংশোধন করেছি তার উপরে এই মন্তব্যটি খুঁজুন:

// TODO: Add a TFLNLClassifier property.

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

private var classifier: TFLNLClassifier?

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। আমরা শেষ ধাপে যোগ করা এই মন্তব্যটি খুঁজুন:

// TODO: Initialize an NLClassifier from the downloaded model

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

let options = TFLNLClassifierOptions()
self.classifier = TFLNLClassifier.nlClassifier(modelPath: customModel.path, options: options)

পাঠ্য শ্রেণিবদ্ধ করুন

একবার classifier ইন্সট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।

ViewController.swift

classify(text:) পদ্ধতিতে, TODO মন্তব্যটি খুঁজুন:

// TODO: Run sentiment analysis on the input text

নিম্নলিখিত কোড দিয়ে মন্তব্য প্রতিস্থাপন করুন:

guard let classifier = self.classifier else { return }

// Classify the text
let classifierResults
= classifier.classify(text: text)

// Append the results to the list of results
let result
= ClassificationResult(text: text, results: classifierResults)
results
.append(result)

8. চূড়ান্ত অ্যাপটি চালান

আপনি অনুভূতি বিশ্লেষণ মডেলটি অ্যাপটিতে সংহত করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার iOS ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png ) এক্সকোড টুলবারে।

অ্যাপটি আপনার প্রবেশ করা মুভি পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

classification_result_screen.png

9. আরও Firebase বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন৷

আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের কেসগুলিকে শক্তিশালী করতে আরও বেশ কিছু বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমান গতি পরিমাপ করতে Firebase পারফরম্যান্স মনিটরিং।
  • ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করতে Firebase Analytics।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
  • আপনার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষিত করেছি? কোন সংস্করণ উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার জন্য A/B পরীক্ষা একটি ভালো উপায়!

আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

10. অভিনন্দন!

এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি অনুভূতি বিশ্লেষণ TFLite মডেলকে প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে আপনার মোবাইল অ্যাপে এটি স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে আপনার মডেলের অনুমানের গতি পরিমাপ করুন।
  • Firebase ML মডেল ম্যানেজমেন্ট API-এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
  • ভবিষ্যদ্বাণী ফলাফলের উপর ব্যবহারকারীদের প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করার অনুমতি দেওয়ার জন্য একটি প্রক্রিয়া যোগ করুন।
  • A/B ফায়ারবেস A/B পরীক্ষার মাধ্যমে গড় ওয়ার্ড ভেক্টর মডেল এবং MobileBERT মডেল পরীক্ষা করে।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,
টেনসরফ্লো লাইট এবং ফায়ারবেস - iOS কোডল্যাবের সাথে আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

এই কোডল্যাব সম্পর্কে

subjectসেপ ৪, ২০২৪-এ শেষবার আপডেট করা হয়েছে
account_circleulukaya@, morganchen@-এর লেখা

1. ওভারভিউ

classification_result_screen.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলকে প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • Firebase অ্যানালিটিক্সের মাধ্যমে মডেলের যথার্থতা পরিমাপ করতে ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করুন
  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে প্রোফাইল মডেল পারফরম্যান্স
  • রিমোট কনফিগারেশনের মাধ্যমে একাধিক স্থাপন করা মডেলের মধ্যে কোনটি লোড করা হয়েছে তা নির্বাচন করুন
  • Firebase A/B পরীক্ষার মাধ্যমে বিভিন্ন মডেলের সাথে পরীক্ষা করুন

আপনি কি প্রয়োজন হবে

  • Xcode 11 (বা উচ্চতর)
  • CocoaPods 1.9.1 (বা উচ্চতর)

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

2. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. নতুন প্রজেক্ট তৈরি করুন নির্বাচন করুন এবং আপনার প্রকল্পের নাম দিন "Firebase ML iOS Codelab"।

3. নমুনা প্রকল্প পান

কোডটি ডাউনলোড করুন

নমুনা প্রকল্প ক্লোন করে শুরু করুন এবং প্রকল্প ডিরেক্টরিতে pod update চালান:

git clone https://github.com/FirebaseExtended/codelab-textclassification-ios.git
cd codelab-textclassification-ios
pod install --repo-update

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন। একবার আপনি প্রকল্পটি ডাউনলোড করার পরে, এটিকে Xcode-এ চালান এবং এটি কীভাবে কাজ করে তার অনুভূতি পেতে পাঠ্য শ্রেণীবিভাগের সাথে খেলুন।

Firebase সেট আপ করুন

একটি নতুন ফায়ারবেস প্রকল্প তৈরি করতে ডকুমেন্টেশন অনুসরণ করুন। একবার আপনি আপনার প্রকল্পটি পেয়ে গেলে, Firebase কনসোল থেকে আপনার প্রকল্পের GoogleService-Info.plist ফাইলটি ডাউনলোড করুন এবং এটিকে Xcode প্রকল্পের মূলে টেনে আনুন৷

9efb62a92f27e939.png

আপনার Podfile এ Firebase যোগ করুন এবং পড ইনস্টল চালান।

pod 'FirebaseMLModelDownloader', '9.3.0-beta'

আপনার AppDelegate এর didFinishLaunchingWithOptions পদ্ধতিতে, ফাইলের শীর্ষে Firebase আমদানি করুন

import FirebaseCore

এবং Firebase কনফিগার করতে একটি কল যোগ করুন।

FirebaseApp.configure()

অ্যাপটি সঠিকভাবে কনফিগার করা হয়েছে এবং লঞ্চের সময় ক্র্যাশ না হয় তা নিশ্চিত করতে প্রকল্পটি আবার চালান।

4. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

5. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

6. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

ModelLoader.swift এর শীর্ষে, Firebase মডিউল আমদানি করুন।

import FirebaseCore
import FirebaseMLModelDownloader

তারপর নিম্নলিখিত পদ্ধতিগুলি বাস্তবায়ন করুন।

static func downloadModel(named name: String,
                          completion: @escaping (CustomModel?, DownloadError?) -> Void) {
  guard FirebaseApp.app() != nil else {
    completion(nil, .firebaseNotInitialized)
    return
  }
  guard success == nil && failure == nil else {
    completion(nil, .downloadInProgress)
    return
  }
  let conditions = ModelDownloadConditions(allowsCellularAccess: false)
  ModelDownloader.modelDownloader().getModel(name: name, downloadType: .localModelUpdateInBackground, conditions: conditions) { result in
          switch (result) {
          case .success(let customModel):
                  // Download complete.
                  // The CustomModel object contains the local path of the model file,
                  // which you can use to instantiate a TensorFlow Lite classifier.
                  return completion(customModel, nil)
          case .failure(let error):
              // Download was unsuccessful. Notify error message.
            completion(nil, .downloadFailed(underlyingError: error))
          }
  }
}

ViewController.swift এর viewDidLoad এ, আমাদের নতুন মডেল ডাউনলোড পদ্ধতি দিয়ে loadModel() এ কলটি প্রতিস্থাপন করুন।

// Download the model from Firebase
print("Fetching model...")
ModelLoader.downloadModel(named: "sentiment_analysis") { (customModel, error) in
  guard let customModel = customModel else {
    if let error = error {
      print(error)
    }
    return
  }

  print("Model download complete")

  // TODO: Initialize an NLClassifier from the downloaded model
}

আপনার অ্যাপ পুনরায় চালান। কয়েক সেকেন্ড পরে, আপনি দূরবর্তী মডেল সফলভাবে ডাউনলোড হয়েছে নির্দেশ করে Xcode একটি লগ দেখতে হবে. কিছু টেক্সট টাইপ করার চেষ্টা করুন এবং অ্যাপটির আচরণ পরিবর্তন হয়নি তা নিশ্চিত করুন।

7. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি TFLNLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের পডফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন। নিশ্চিত করুন যে আপনি target 'TextClassification' ঘোষণার অধীনে নির্ভরতা যোগ করেছেন।

pod 'TensorFlowLiteTaskText', '~> 0.2.0'

নতুন নির্ভরতা ইনস্টল করতে pod install চালান।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

ViewController.swift

আসুন একটি TFLNLCক্ল্যাসিফায়ার ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। ফাইলের শীর্ষে, নতুন নির্ভরতা আমদানি করুন:

import TensorFlowLiteTaskText

শেষ ধাপে আমরা যে পদ্ধতিটি সংশোধন করেছি তার উপরে এই মন্তব্যটি খুঁজুন:

// TODO: Add a TFLNLClassifier property.

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

private var classifier: TFLNLClassifier?

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। আমরা শেষ ধাপে যোগ করা এই মন্তব্যটি খুঁজুন:

// TODO: Initialize an NLClassifier from the downloaded model

নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:

let options = TFLNLClassifierOptions()
self.classifier = TFLNLClassifier.nlClassifier(modelPath: customModel.path, options: options)

পাঠ্য শ্রেণিবদ্ধ করুন

একবার classifier ইন্সট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।

ViewController.swift

classify(text:) পদ্ধতিতে, TODO মন্তব্যটি খুঁজুন:

// TODO: Run sentiment analysis on the input text

নিম্নলিখিত কোড দিয়ে মন্তব্য প্রতিস্থাপন করুন:

guard let classifier = self.classifier else { return }

// Classify the text
let classifierResults
= classifier.classify(text: text)

// Append the results to the list of results
let result
= ClassificationResult(text: text, results: classifierResults)
results
.append(result)

8. চূড়ান্ত অ্যাপটি চালান

আপনি অনুভূতি বিশ্লেষণ মডেলটি অ্যাপটিতে সংহত করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার iOS ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png ) এক্সকোড টুলবারে।

অ্যাপটি আপনার প্রবেশ করা মুভি পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

classification_result_screen.png

9. আরও Firebase বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন৷

আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের কেসগুলিকে শক্তিশালী করতে আরও বেশ কিছু বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমান গতি পরিমাপ করতে Firebase পারফরম্যান্স মনিটরিং।
  • ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করতে Firebase Analytics।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
  • আপনার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষিত করেছি? কোন সংস্করণ উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার জন্য A/B পরীক্ষা একটি ভালো উপায়!

আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

10. অভিনন্দন!

এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি অনুভূতি বিশ্লেষণ TFLite মডেলকে প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে আপনার মোবাইল অ্যাপে এটি স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে আপনার মডেলের অনুমানের গতি পরিমাপ করুন।
  • Firebase ML মডেল ম্যানেজমেন্ট API-এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
  • ভবিষ্যদ্বাণী ফলাফলের উপর ব্যবহারকারীদের প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করার অনুমতি দেওয়ার জন্য একটি প্রক্রিয়া যোগ করুন।
  • A/B ফায়ারবেস A/B পরীক্ষার মাধ্যমে গড় ওয়ার্ড ভেক্টর মডেল এবং MobileBERT মডেল পরীক্ষা করে।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,
টেনসরফ্লো লাইট এবং ফায়ারবেস - iOS কোডল্যাবের সাথে আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

এই কোডল্যাব সম্পর্কে

subjectসেপ ৪, ২০২৪-এ শেষবার আপডেট করা হয়েছে
account_circleulukaya@, morganchen@-এর লেখা

1. ওভারভিউ

classification_result_screen.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলকে প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • Firebase অ্যানালিটিক্সের মাধ্যমে মডেলের যথার্থতা পরিমাপ করতে ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করুন
  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে প্রোফাইল মডেল পারফরম্যান্স
  • রিমোট কনফিগারেশনের মাধ্যমে একাধিক স্থাপন করা মডেলের মধ্যে কোনটি লোড করা হয়েছে তা নির্বাচন করুন
  • Firebase A/B পরীক্ষার মাধ্যমে বিভিন্ন মডেলের সাথে পরীক্ষা করুন

আপনি কি প্রয়োজন হবে

  • Xcode 11 (বা উচ্চতর)
  • CocoaPods 1.9.1 (বা উচ্চতর)

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

2. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. নতুন প্রজেক্ট তৈরি করুন নির্বাচন করুন এবং আপনার প্রকল্পের নাম দিন "Firebase ML iOS Codelab"।

3. নমুনা প্রকল্প পান

কোডটি ডাউনলোড করুন

নমুনা প্রকল্প ক্লোন করে শুরু করুন এবং প্রকল্প ডিরেক্টরিতে pod update চালান:

git clone https://github.com/FirebaseExtended/codelab-textclassification-ios.git
cd codelab-textclassification-ios
pod install --repo-update

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন। একবার আপনি প্রকল্পটি ডাউনলোড করার পরে, এটিকে Xcode-এ চালান এবং এটি কীভাবে কাজ করে তার অনুভূতি পেতে পাঠ্য শ্রেণীবিভাগের সাথে খেলুন।

Firebase সেট আপ করুন

একটি নতুন ফায়ারবেস প্রকল্প তৈরি করতে ডকুমেন্টেশন অনুসরণ করুন। একবার আপনি আপনার প্রকল্পটি পেয়ে গেলে, Firebase কনসোল থেকে আপনার প্রকল্পের GoogleService-Info.plist ফাইলটি ডাউনলোড করুন এবং এটিকে Xcode প্রকল্পের মূলে টেনে আনুন৷

9efb62a92f27e939.png

আপনার Podfile এ Firebase যোগ করুন এবং পড ইনস্টল চালান।

pod 'FirebaseMLModelDownloader', '9.3.0-beta'

আপনার AppDelegate এর didFinishLaunchingWithOptions পদ্ধতিতে, ফাইলের শীর্ষে Firebase আমদানি করুন

import FirebaseCore

এবং Firebase কনফিগার করতে একটি কল যোগ করুন।

FirebaseApp.configure()

অ্যাপটি সঠিকভাবে কনফিগার করা হয়েছে এবং লঞ্চের সময় ক্র্যাশ না হয় তা নিশ্চিত করতে প্রকল্পটি আবার চালান।

4. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন।

Colab-এ খুলুন

এই পদক্ষেপটি শেষ করার পরে, আপনার কাছে একটি টেনসরফ্লো লাইট সংবেদন বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনার জন্য প্রস্তুত।

5. ফায়ারবেস এমএল -তে একটি মডেল স্থাপন করুন

ফায়ারবেস এমএল -তে একটি মডেল স্থাপন করা দুটি প্রধান কারণে দরকারী:

  1. আমরা অ্যাপটি ইনস্টল আকারটি ছোট রাখতে পারি এবং প্রয়োজনে কেবল মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত এবং পুরো অ্যাপ্লিকেশনটির চেয়ে আলাদা প্রকাশের চক্র সহ আপডেট করা যেতে পারে

ফায়ারবেস অ্যাডমিন এসডিকে ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রামিকভাবে মোতায়েন করা যেতে পারে। এই পদক্ষেপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে ফায়ারবেস কনসোলটি খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিংয়ে ক্লিক করুন। আপনি যদি এই প্রথমবার খুলছেন তবে 'শুরু করুন' ক্লিক করুন। তারপরে "কাস্টম" এ নেভিগেট করুন এবং "মডেল যুক্ত করুন" বোতামে ক্লিক করুন।

যখন অনুরোধ জানানো হয়, মডেলটি sentiment_analysis নাম দিন এবং পূর্ববর্তী পদক্ষেপে আপনি কোলাব থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3C3C50E6EF12B3B.PNG

6. ফায়ারবেস এমএল থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস থেকে রিমোট মডেলটি কখন ডাউনলোড করবেন তা নির্বাচন করা জটিল হতে পারে যেহেতু টিএফএলাইট মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপ্লিকেশনটি চালু হওয়ার সাথে সাথে আমরা মডেলটি লোড করা এড়াতে চাই, যেহেতু যদি আমাদের মডেলটি কেবলমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহৃত হয় এবং ব্যবহারকারী কখনও সেই বৈশিষ্ট্যটি ব্যবহার করেন না, আমরা অকারণে উল্লেখযোগ্য পরিমাণে ডেটা ডাউনলোড করব। আমরা ওয়াইফাইয়ের সাথে সংযুক্ত থাকাকালীন কেবল ডাউনলোড করার মতো মডেলগুলিও ডাউনলোড বিকল্পগুলি সেট করতে পারি। আপনি যদি নিশ্চিত করতে চান যে মডেলটি কোনও নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ রয়েছে, তবে ব্যাকআপ হিসাবে অ্যাপটি ছাড়াই এটি বান্ডিল করাও গুরুত্বপূর্ণ।

সরলতার স্বার্থে, আমরা ডিফল্ট বান্ডিল মডেলটি সরিয়ে ফেলব এবং অ্যাপ্লিকেশনটি প্রথমবারের মতো শুরু হওয়ার পরে সর্বদা ফায়ারবেস থেকে একটি মডেল ডাউনলোড করব। এইভাবে সংবেদন বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে সরবরাহিত মডেলটির সাথে অনুমানটি চলছে।

ModelLoader.swift শীর্ষে, ফায়ারবেস মডিউলটি আমদানি করুন।

import FirebaseCore
import FirebaseMLModelDownloader

তারপরে নিম্নলিখিত পদ্ধতিগুলি প্রয়োগ করুন।

static func downloadModel(named name: String,
                          completion: @escaping (CustomModel?, DownloadError?) -> Void) {
  guard FirebaseApp.app() != nil else {
    completion(nil, .firebaseNotInitialized)
    return
  }
  guard success == nil && failure == nil else {
    completion(nil, .downloadInProgress)
    return
  }
  let conditions = ModelDownloadConditions(allowsCellularAccess: false)
  ModelDownloader.modelDownloader().getModel(name: name, downloadType: .localModelUpdateInBackground, conditions: conditions) { result in
          switch (result) {
          case .success(let customModel):
                  // Download complete.
                  // The CustomModel object contains the local path of the model file,
                  // which you can use to instantiate a TensorFlow Lite classifier.
                  return completion(customModel, nil)
          case .failure(let error):
              // Download was unsuccessful. Notify error message.
            completion(nil, .downloadFailed(underlyingError: error))
          }
  }
}

ViewController.swift viewDidLoad , আমাদের নতুন মডেল ডাউনলোড পদ্ধতির সাথে কলটি loadModel() এ প্রতিস্থাপন করুন।

// Download the model from Firebase
print("Fetching model...")
ModelLoader.downloadModel(named: "sentiment_analysis") { (customModel, error) in
  guard let customModel = customModel else {
    if let error = error {
      print(error)
    }
    return
  }

  print("Model download complete")

  // TODO: Initialize an NLClassifier from the downloaded model
}

আপনার অ্যাপ্লিকেশনটি পুনরায় চালান। কয়েক সেকেন্ড পরে, আপনার এক্সকোডে একটি লগ দেখতে হবে যা দূরবর্তী মডেলটি সফলভাবে ডাউনলোড হয়েছে তা নির্দেশ করে। কিছু পাঠ্য টাইপ করার চেষ্টা করুন এবং অ্যাপ্লিকেশনটির আচরণ পরিবর্তন হয়নি তা নিশ্চিত করুন।

7. আপনার অ্যাপ্লিকেশনটিতে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইনের সাথে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে সংহত করতে সহায়তা করে। আমরা ফায়ারবেস থেকে ডাউনলোড করা টেনসরফ্লো লাইট মডেলটি ব্যবহার করে একটি TFLNLClassifier উদাহরণ শুরু করব। তারপরে আমরা এটি অ্যাপ ব্যবহারকারীদের কাছ থেকে পাঠ্য ইনপুট শ্রেণিবদ্ধ করতে এবং ইউআই -তে ফলাফল প্রদর্শন করতে ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের পোডফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (পাঠ্য) যুক্ত করুন। নিশ্চিত করুন যে আপনি target 'TextClassification' ঘোষণার অধীনে নির্ভরতা যুক্ত করেছেন।

pod 'TensorFlowLiteTaskText', '~> 0.2.0'

নতুন নির্ভরতা ইনস্টল করতে pod install চালান।

একটি পাঠ্য শ্রেণিবদ্ধ শুরু করুন

তারপরে আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে ফায়ারবেস থেকে ডাউনলোড করা সংবেদন বিশ্লেষণ মডেলটি লোড করব।

ভিউকন্ট্রোলার.সুইফ্ট

আসুন একটি tflnlclassifier উদাহরণ ভেরিয়েবল ঘোষণা করি। ফাইলের শীর্ষে, নতুন নির্ভরতা আমদানি করুন:

import TensorFlowLiteTaskText

আমরা শেষ পদক্ষেপে পরিবর্তিত পদ্ধতির উপরে এই মন্তব্যটি সন্ধান করুন:

// TODO: Add a TFLNLClassifier property.

নীচের কোডটি দিয়ে টোডো প্রতিস্থাপন করুন:

private var classifier: TFLNLClassifier?

ফায়ারবেস থেকে ডাউনলোড করা সংবেদন বিশ্লেষণ মডেলের সাথে textClassifier ভেরিয়েবলটি আরম্ভ করুন। আমরা শেষ পদক্ষেপে যুক্ত এই মন্তব্যটি সন্ধান করুন:

// TODO: Initialize an NLClassifier from the downloaded model

নীচের কোডটি দিয়ে টোডো প্রতিস্থাপন করুন:

let options = TFLNLClassifierOptions()
self.classifier = TFLNLClassifier.nlClassifier(modelPath: customModel.path, options: options)

পাঠ্য শ্রেণিবদ্ধ করুন

classifier উদাহরণটি সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সংবেদন বিশ্লেষণ চালাতে পারেন।

ভিউকন্ট্রোলার.সুইফ্ট

classify(text:) পদ্ধতিতে, টোডো মন্তব্যটি সন্ধান করুন:

// TODO: Run sentiment analysis on the input text

নিম্নলিখিত কোডের সাথে মন্তব্যটি প্রতিস্থাপন করুন:

guard let classifier = self.classifier else { return }

// Classify the text
let classifierResults
= classifier.classify(text: text)

// Append the results to the list of results
let result
= ClassificationResult(text: text, results: classifierResults)
results
.append(result)

8. চূড়ান্ত অ্যাপ্লিকেশন চালান

আপনি অ্যাপ্লিকেশনটিতে সংবেদন বিশ্লেষণ মডেলটি সংহত করেছেন, সুতরাং আসুন এটি পরীক্ষা করুন। আপনার আইওএস ডিভাইসটি সংযুক্ত করুন এবং রান ক্লিক করুন ( ecute.png ) এক্সকোড সরঞ্জামদণ্ডে।

অ্যাপ্লিকেশনটি আপনি যে মুভি পর্যালোচনা প্রবেশ করেছেন তার অনুভূতির সঠিকভাবে পূর্বাভাস দিতে সক্ষম হওয়া উচিত।

শ্রেণিবিন্যাস_রেসল্ট_স্ক্রিন.পিএনজি

9. আরও ফায়ারবেস বৈশিষ্ট্য সহ অ্যাপটি পাওয়ার আপ করুন

আপনার টিফ্লাইট মডেলগুলি হোস্টিংয়ের পাশাপাশি, ফায়ারবেস আপনার মেশিন লার্নিং ব্যবহারের ক্ষেত্রে পাওয়ার জন্য আরও বেশ কয়েকটি বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমানের গতি পরিমাপ করতে ফায়ারবেস পারফরম্যান্স মনিটরিং।
  • আপনার মডেল ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে উত্পাদনে কতটা ভাল সম্পাদন করে তা পরিমাপ করতে ফায়ারবেস অ্যানালিটিক্স।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করতে ফায়ারবেস এ/বি টেস্টিং
  • আপনি কি মনে আছে আমরা আমাদের টিএফএলাইট মডেলের দুটি সংস্করণ আগে প্রশিক্ষণ দিয়েছি? এ/বি টেস্টিং কোন সংস্করণটি উত্পাদনে আরও ভাল সম্পাদন করে তা খুঁজে বের করার একটি ভাল উপায়!

আপনার অ্যাপ্লিকেশনটিতে এই বৈশিষ্ট্যগুলি কীভাবে উপার্জন করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

10. অভিনন্দন!

এই কোডল্যাব -এ, আপনি কীভাবে একটি সংবেদন বিশ্লেষণ টিফ্লাইট মডেলটি প্রশিক্ষণ দিতে এবং ফায়ারবেস ব্যবহার করে এটি আপনার মোবাইল অ্যাপে স্থাপন করতে শিখেছেন। টিফ্লাইট এবং ফায়ারবেস সম্পর্কে আরও জানতে, অন্যান্য টিফ্লাইট নমুনা এবং ফায়ারবেস শুরু করা গাইডগুলি একবার দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের সাথে আপনার মডেল অনুমানের গতি পরিমাপ করুন।
  • ফায়ারবেস এমএল মডেল ম্যানেজমেন্ট এপিআইয়ের মাধ্যমে সরাসরি ফায়ারবেসে মডেলটি ফায়ারবেসে মোতায়েন করুন।
  • ব্যবহারকারীদের ভবিষ্যদ্বাণী ফলাফলের বিষয়ে প্রতিক্রিয়া জানাতে একটি প্রক্রিয়া যুক্ত করুন এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে ফায়ারবেস অ্যানালিটিক্স ব্যবহার করুন।
  • এ/বি পরীক্ষা গড় শব্দ ভেক্টর মডেল এবং ফায়ারবেস এ/বি পরীক্ষার সাথে মোবাইলবার্ট মডেল।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা