TensorFlow Lite Model Maker-এর সাহায্যে একটি কাস্টম টেক্সট-শ্রেণীবিভাগ মডেল তৈরি করুন

1. আপনি শুরু করার আগে

এই কোডল্যাবে, আপনি শিখবেন কিভাবে মূল ব্লগ-স্প্যাম-মন্তব্য ডেটাসেট থেকে তৈরি করা টেক্সট-শ্রেণিকরণ মডেল আপডেট করতে হয়, কিন্তু আপনার নিজের মন্তব্যের সাথে উন্নত করা হয় যাতে আপনার ডেটার সাথে কাজ করে এমন একটি মডেল থাকতে পারে।

পূর্বশর্ত

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

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

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

  • Flutter অ্যাপ এবং স্প্যাম-ফিল্টার মডেল যা আপনি পূর্ববর্তী কার্যকলাপগুলিতে পর্যবেক্ষণ করেছেন এবং তৈরি করেছেন৷

2. পাঠ্য শ্রেণিবিন্যাস উন্নত করুন

  1. আপনি এই রিপোজিটরি ক্লোন করে এবং tfserving-flutter/codelab2/finished ফোল্ডার থেকে অ্যাপটি লোড করে এই কোডের জন্য কোড পেতে পারেন।
  2. TensorFlow সার্ভিং ডকার ইমেজ শুরু করার পরে, আপনি যে অ্যাপটি তৈরি করেছেন তাতে, buy my book to learn online trading লিখুন এবং তারপরে gRPC > ক্লাসিফায় ক্লিক করুন।

8f1e1974522f274d.png

অ্যাপটি একটি কম স্প্যাম স্কোর তৈরি করে কারণ আসল ডেটাসেটে অনলাইন ট্রেডিংয়ের অনেক ঘটনা নেই এবং মডেলটি শিখেনি যে এটি স্প্যাম। এই কোডল্যাবে, আপনি মডেলটিকে নতুন ডেটা সহ আপডেট করেন যাতে মডেলটি স্প্যাম হিসাবে একই বাক্য সনাক্ত করে!

2bd68691a26aa3da.png

3. আপনার CSV ফাইল সম্পাদনা করুন৷

মূল মডেলকে প্রশিক্ষণ দেওয়ার জন্য, একটি CSV ( lmblog_comments.csv ) হিসাবে একটি ডেটাসেট তৈরি করা হয়েছিল যাতে স্প্যাম বা স্প্যাম নয় লেবেলযুক্ত প্রায় এক হাজার মন্তব্য রয়েছে৷ (আপনি যদি এটি পরিদর্শন করতে চান তবে যেকোনো পাঠ্য সম্পাদকে CSV খুলুন।)

CSV ফাইলের মেকআপ হল প্রথম সারিতে কলামগুলি বর্ণনা করা, যেগুলি commenttext এবং spam লেবেলযুক্ত। প্রতিটি পরবর্তী সারি এই বিন্যাস অনুসরণ করে:

62025273971c9a7f.png

ডানদিকের লেবেলটি স্প্যামের জন্য একটি true মান এবং স্প্যাম না করার জন্য একটি false মান নির্ধারণ করা হয়েছে৷ উদাহরণস্বরূপ, তৃতীয় লাইনটিকে স্প্যাম হিসাবে বিবেচনা করা হয়।

যদি লোকেরা অনলাইন ট্রেডিং সম্পর্কে বার্তা সহ আপনার ওয়েবসাইট স্প্যাম করে, আপনি আপনার ওয়েবসাইটের নীচে স্প্যাম মন্তব্যের উদাহরণ যোগ করতে পারেন। উদাহরণ স্বরূপ:

online trading can be highly highly effective,true
online trading can be highly effective,true
online trading now,true
online trading here,true
online trading for the win,true
  • ফাইলটিকে একটি নতুন নাম দিয়ে সংরক্ষণ করুন, যেমন lmblog_comments.csv , যাতে আপনি একটি নতুন মডেলকে প্রশিক্ষণ দিতে এটি ব্যবহার করতে পারেন৷

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

4. নতুন ডেটা সহ মডেলটিকে পুনরায় প্রশিক্ষণ দিন

মডেলটিকে পুনরায় প্রশিক্ষণ দেওয়ার জন্য, আপনি কেবল ( SpamCommentsModelMaker.ipynb ) থেকে কোডটি পুনরায় ব্যবহার করতে পারেন, তবে এটিকে নতুন CSV ডেটাসেটে নির্দেশ করুন, যাকে বলা হয় lmblog_comments_extras.csv । আপনি যদি আপডেট করা বিষয়বস্তু সহ সম্পূর্ণ নোটবুক চান তবে আপনি এটিকে SpamCommentsUpdateModelMaker.ipynb.

আপনার যদি Colaboratory-তে অ্যাক্সেস থাকে, তাহলে আপনি এটি সরাসরি চালু করতে পারেন। অন্যথায় সংগ্রহস্থল থেকে কোডটি পান এবং তারপর আপনার পছন্দের নোটবুকের পরিবেশে এটি চালান।

আপডেট করা কোডটি এই কোড স্নিপেটের মত দেখাচ্ছে:

training_data = tf.keras.utils.get_file(fname='comments-spam-extras.csv',   
          origin='https://storage.googleapis.com/laurencemoroney-blog.appspot.com/
                  lmblog_comments_extras.csv', 
          extract=False)

আপনি যখন প্রশিক্ষণ দেন, তখন আপনার দেখতে হবে যে মডেলটি এখনও উচ্চ স্তরের নির্ভুলতায় প্রশিক্ষণ দেয়:

96a1547ddb6edf5b.png

/mm_update_spam_savedmodel এর পুরো ফোল্ডারটি কম্প্রেস করুন এবং জেনারেট করা mm_update_spam_savedmodel.zip ফাইলটি নিচে রাখুন।

# Rename the SavedModel subfolder to a version number
!mv /mm_update_spam_savedmodel/saved_model /mm_update_spam_savedmodel/123
!zip -r mm_update_spam_savedmodel.zip /mm_update_spam_savedmodel/

5. ডকার শুরু করুন এবং আপনার ফ্লটার অ্যাপ আপডেট করুন

  1. ডাউনলোড করা mm_update_spam_savedmodel.zip ফাইলটিকে একটি ফোল্ডারে আনজিপ করুন, এবং তারপর পূর্ববর্তী কোডল্যাব থেকে ডকার কন্টেইনার ইন্সট্যান্স বন্ধ করুন এবং এটি আবার শুরু করুন, তবে আপনার ডাউনলোড করা ফাইলগুলি হোস্ট করে এমন ফোল্ডারের পরম পাথ দিয়ে PATH/TO/UPDATE/SAVEDMODEL স্থানধারকটিকে প্রতিস্থাপন করুন। ):
docker run -it --rm -p 8500:8500 -p 8501:8501 -v "PATH/TO/UPDATE/SAVEDMODEL:/models/spam-detection" -e MODEL_NAME=spam-detection tensorflow/serving
  1. আপনার পছন্দের কোড এডিটর দিয়ে lib/main.dart ফাইলটি খুলুন এবং তারপর inputTensorName এবং outTensorName ভেরিয়েবলের সংজ্ঞায়িত অংশটি খুঁজুন:
const inputTensorName = 'input_3';
const outputTensorName = 'dense_5';
  1. inputTensorName ভেরিয়েবলটিকে একটি ' input_1' মান এবং outputTensorName ভেরিয়েবলটিকে একটি 'dense_1' পুনরায় বরাদ্দ করুন:
const inputTensorName = 'input_1';
const outputTensorName = 'dense_1';
  1. বিদ্যমান ফাইলটি প্রতিস্থাপন করতে lib/assets/ ফোল্ডারে ডাউনলোড করা vocab.txt ফাইলটি অনুলিপি করুন।
  2. অ্যান্ড্রয়েড এমুলেটর থেকে ম্যানুয়ালি টেক্সট ক্লাসিফিকেশন ফ্লাটার অ্যাপটি সরিয়ে দিন।
  3. অ্যাপটি চালু করতে আপনার টার্মিনালে 'flutter run' কমান্ডটি চালান।
  4. অ্যাপটিতে, buy my book to learn online trading লিখুন এবং তারপরে gRPC > শ্রেণীবদ্ধ করুন ক্লিক করুন।

এখন মডেলটি স্প্যাম হিসাবে অনলাইন ট্রেডিং-এ আমার বই কিনতে শনাক্ত করতে উন্নত হয়েছে।

6. অভিনন্দন

আপনি নতুন ডেটা সহ মডেলটিকে পুনরায় প্রশিক্ষণ দিয়েছেন, এটিকে ফ্লাটার অ্যাপের সাথে একীভূত করেছেন এবং নতুন স্প্যাম বাক্য সনাক্ত করতে কার্যকারিতা আপডেট করেছেন!

আরও জানুন