1. আপনি শুরু করার আগে
এই কোডল্যাবে, আপনি শিখবেন কিভাবে মূল ব্লগ-স্প্যাম-মন্তব্য ডেটাসেট থেকে তৈরি করা টেক্সট-শ্রেণিকরণ মডেল আপডেট করতে হয়, কিন্তু আপনার নিজের মন্তব্যের সাথে উন্নত করা হয় যাতে আপনার ডেটার সাথে কাজ করে এমন একটি মডেল থাকতে পারে।
পূর্বশর্ত
এই কোডল্যাবটি ফ্লটার অ্যাপস পাথওয়েতে পাঠ্য শ্রেণিবিন্যাস দিয়ে শুরু করুন এর অংশ। এই পথের কোডল্যাবগুলি অনুক্রমিক। আপনি যে অ্যাপ এবং মডেলটিতে কাজ করবেন সেটি আগে তৈরি করা উচিত ছিল, যখন আপনি কোডল্যাবগুলি অনুসরণ করছেন। আপনি যদি পূর্ববর্তী কার্যক্রমগুলি এখনও সম্পূর্ণ না করে থাকেন তবে দয়া করে থামুন এবং এখনই করুন:
- TensorFlow Lite Model Maker কোডল্যাবের মাধ্যমে একটি মন্তব্য-স্প্যাম সনাক্তকরণ মডেলকে প্রশিক্ষণ দিন
- মন্তব্য স্প্যাম কোডল্যাব সনাক্ত করতে একটি Flutter অ্যাপ তৈরি করুন৷
আপনি কি শিখবেন
- টেন্সরফ্লো লাইট মডেল মেকার কোডল্যাবের সাথে একটি মন্তব্য-স্প্যাম সনাক্তকরণ মডেল ট্রেনে আপনি যে পাঠ্য-শ্রেণীবিভাগ মডেলটি তৈরি করেছেন তা কীভাবে আপডেট করবেন।
- কিভাবে আপনার মডেল কাস্টমাইজ করবেন যাতে এটি আপনার অ্যাপে সবচেয়ে প্রচলিত স্প্যাম ব্লক করে।
আপনি কি প্রয়োজন হবে
- Flutter অ্যাপ এবং স্প্যাম-ফিল্টার মডেল যা আপনি পূর্ববর্তী কার্যকলাপগুলিতে পর্যবেক্ষণ করেছেন এবং তৈরি করেছেন৷
2. পাঠ্য শ্রেণিবিন্যাস উন্নত করুন
- আপনি এই রিপোজিটরি ক্লোন করে এবং
tfserving-flutter/codelab2/finished
ফোল্ডার থেকে অ্যাপটি লোড করে এই কোডের জন্য কোড পেতে পারেন। - TensorFlow সার্ভিং ডকার ইমেজ শুরু করার পরে, আপনি যে অ্যাপটি তৈরি করেছেন তাতে,
buy my book to learn online trading
লিখুন এবং তারপরে gRPC > ক্লাসিফায় ক্লিক করুন।
অ্যাপটি একটি কম স্প্যাম স্কোর তৈরি করে কারণ আসল ডেটাসেটে অনলাইন ট্রেডিংয়ের অনেক ঘটনা নেই এবং মডেলটি শিখেনি যে এটি স্প্যাম। এই কোডল্যাবে, আপনি মডেলটিকে নতুন ডেটা সহ আপডেট করেন যাতে মডেলটি স্প্যাম হিসাবে একই বাক্য সনাক্ত করে!
3. আপনার CSV ফাইল সম্পাদনা করুন৷
মূল মডেলকে প্রশিক্ষণ দেওয়ার জন্য, একটি CSV ( lmblog_comments.csv
) হিসাবে একটি ডেটাসেট তৈরি করা হয়েছিল যাতে স্প্যাম বা স্প্যাম নয় লেবেলযুক্ত প্রায় এক হাজার মন্তব্য রয়েছে৷ (আপনি যদি এটি পরিদর্শন করতে চান তবে যেকোনো পাঠ্য সম্পাদকে CSV খুলুন।)
CSV ফাইলের মেকআপ হল প্রথম সারিতে কলামগুলি বর্ণনা করা, যেগুলি commenttext
এবং spam
লেবেলযুক্ত। প্রতিটি পরবর্তী সারি এই বিন্যাস অনুসরণ করে:
ডানদিকের লেবেলটি স্প্যামের জন্য একটি 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)
আপনি যখন প্রশিক্ষণ দেন, তখন আপনার দেখতে হবে যে মডেলটি এখনও উচ্চ স্তরের নির্ভুলতায় প্রশিক্ষণ দেয়:
/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. ডকার শুরু করুন এবং আপনার ফ্লটার অ্যাপ আপডেট করুন
- ডাউনলোড করা
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
- আপনার পছন্দের কোড এডিটর দিয়ে
lib/main.dart
ফাইলটি খুলুন এবং তারপরinputTensorName
এবংoutTensorName
ভেরিয়েবলের সংজ্ঞায়িত অংশটি খুঁজুন:
const inputTensorName = 'input_3';
const outputTensorName = 'dense_5';
-
inputTensorName
ভেরিয়েবলটিকে একটি 'input_1'
মান এবংoutputTensorName
ভেরিয়েবলটিকে একটি'dense_1'
পুনরায় বরাদ্দ করুন:
const inputTensorName = 'input_1';
const outputTensorName = 'dense_1';
- বিদ্যমান ফাইলটি প্রতিস্থাপন করতে
lib/assets/
ফোল্ডারে ডাউনলোড করাvocab.txt
ফাইলটি অনুলিপি করুন। - অ্যান্ড্রয়েড এমুলেটর থেকে ম্যানুয়ালি টেক্সট ক্লাসিফিকেশন ফ্লাটার অ্যাপটি সরিয়ে দিন।
- অ্যাপটি চালু করতে আপনার টার্মিনালে
'flutter run'
কমান্ডটি চালান। - অ্যাপটিতে,
buy my book to learn online trading
লিখুন এবং তারপরে gRPC > শ্রেণীবদ্ধ করুন ক্লিক করুন।
এখন মডেলটি স্প্যাম হিসাবে অনলাইন ট্রেডিং-এ আমার বই কিনতে শনাক্ত করতে উন্নত হয়েছে।
6. অভিনন্দন
আপনি নতুন ডেটা সহ মডেলটিকে পুনরায় প্রশিক্ষণ দিয়েছেন, এটিকে ফ্লাটার অ্যাপের সাথে একীভূত করেছেন এবং নতুন স্প্যাম বাক্য সনাক্ত করতে কার্যকারিতা আপডেট করেছেন!