কম্পিউটার টিউটোরিয়াল

পাইথনে টেনসরফ্লো এবং ইলিয়ড (Iliad) ডেটাসেট ব্যবহার করে টেস্ট ডেটার পারফরম্যান্স যাচাই করার পদ্ধতি


টেনসরফ্লো গুগল দ্বারা প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে মিলে অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন এবং আরও অনেক কিছু বাস্তবায়নে ব্যবহৃত হয়। গবেষণা এবং প্রোডাকশন উদ্দেশ্যে এটি ব্যবহৃত হয়। জটিল গাণিতিক অপারেশন দ্রুত সম্পাদন করার জন্য এটি অপ্টিমাইজেশন কৌশল ব্যবহার করে। এটি 넘পাই (NumPy) এবং বহু-মাত্রিক অ্যারে ব্যবহার করে। এই বহু-মাত্রিক অ্যারeket 'টেনসর' (tensors) নামে ডাকা হয়।

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

টেনসর টেনসরফ্লোতে ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি ফ্লো ডায়াগ্রামে এজ সংযোগ করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামকে 'ডেটা ফ্লো গ্রাফ' (Data flow graph) বলা হয়। টেনসর আসলে একটি বহু-মাত্রিক অ্যারে বা একটি লিস্ট।

আমরা ইলিয়ড'র (Iliad's) ডেটাসেট ব্যবহার করব, যাতে উইলিয়াম কাউপার (William Cowper), এডওয়ার্ড (অর্ল অফ ডার্বি) এবং স্যামুয়েল বटलারের তিনটি অনুবাদ কাজের টেক্সট ডেটা রয়েছে। মডেলটি একটি একক লাইন টেক্সট দেওয়া হলে অনুবাদককে চিনতে প্রশিক্ষিত। ব্যবহৃত টেক্সট ফাইলগুলো প্রি-প্রসেসড (preprocessed) হয়েছে। এতে ডকুমেন্ট হেডার এবং ফুটার, লাইন নম্বর এবং চ্যাপ্টার টাইটেল সরানো হয়েছে।

নিচের কোড চালানোর জন্য আমরা Google Colaboratory ব্যবহার করব। Google Colab বা Colaboratory ব্রাউজারে পাইথন কোড চালাতে সাহায্য করে এবং শূন্য কনফিগারেশন ও GPU (গ্রাফিক্যাল প্রসেসিং ইউনিট्स) ফ্রি 억্সেস দেয়। Colaboratory জুপিটার নোটবুকের উপরে তৈরি।

উদাহরণ

নিচে কোড স্নিপেট দেওয়া হলো:

print("Testing the model on new data")
inputs = [
    "the allies, and his armour flashed about him so that he seemed to all",
    "And with loud clangor of his arms he fell.",
    "Join'd to th' Ionians with their flowing robes",
]
print("The predict method is being called")
predicted_scores = export_model.predict(inputs)
predicted_labels = tf.argmax(predicted_scores, axis=1)
for input, label in zip(inputs, predicted_labels):
    print("The question is : ", input)
    print("The predicted label is : ", label.numpy())

কোড ক্রেডিট - https://www.tensorflow.org/tutorials/load_data/text

আউটপুট

Testing the model on new data The predict method is being called The question is : the allies, and his armour flashed about him so that he seemed to all The predicted label is : 2 The question is : And with loud clangor of his arms he fell. The predicted label is : 0 The question is : Join'd to th' Ionians with their flowing robes, The predicted label is : 1

ব্যাখ্যা

  • ডেটা কম্পাইল এবং ট্রেনিং ডেটা ফিট হওয়ার পরে, এটি কখনো-না-दেখা ডেটায় টেস্ট করা হয়।

  • টেস্ট ডেটায় 'predict' মেথড কল করা হয়।

  • প্রেডিক্টেড লেবেলের কিছু স্যাম্পেল 그에 відповรัশ্নের সাথে কনসোলে প্রদর্শিত হয়।


  1. পাইথনে টেনসরফ্লো দিয়ে ডেটা মডেলে ফিট (fit) করা

  2. পাইথনে টেনসরফ্লো দিয়ে প্রেডিকশন যাচাই করা (ImageNet)

  3. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে ডেটা ভিজুয়ালাইজ (visualize) করতে ব্যবহৃত হয়?

  4. টেনসরফ্লোতে ফ্লাওয়ার ডেটাসেট ভিজ্যুয়ালাইজ করা