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

TensorFlow ব্যবহার করে পাইথনে লিনিয়ার মডেল ট্রেন করা

TensorFlow হল Google প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে সংযোগে অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন ইত্যাদি বাস্তবায়নে ব্যবহৃত হয়। এটি গবেষণা এবং প্রোডাকশন উদ্দেশ্যে ব্যবহৃত হয়।

'tensorflow' প্যাকেজটি উইন্ডোজে নিচের কোড দিয়ে ইনস্টল করা যায়:

pip install tensorflow

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

Rank - এটি টেনসরের ডাইমেনশনালিটি সম্পর্কে বলে। এটি টেনসরের অর্ডার বা টেনসরে সংজ্ঞায়িত ডাইমেনশনের সংখ্যা হিসেবে বোঝা যায়।

Type - এটি টেনসরের উপাদানগুলির সাথে যুক্ত ডেটা টাইপ সম্পর্কে বলে। এটি এক-ডাইমেনশনাল, দুই-ডাইমেনশনাল বা n-ডাইমেনশনাল টেনসর হতে পারে।

Shape - এটি সারি এবং কলামের মিলিত সংখ্যা।

কোড চালাতে আমরা Jupyter Notebook ব্যবহার করব। TensorFlow Jupyter Notebook-এ 'pip install tensorflow' দিয়ে ইনস্টল করা যায়।

TensorFlow ব্যবহার করে পাইথনে লিনিয়ার মডেল ট্রেন করা

কোড নিচে দেওয়া হল:

উদাহরণ

import tensorflow as tf
A = tf.get_variable("A", initializer=tf.constant([0.1]))
b = tf.get_variable("b", initializer=tf.constant([0.0]))
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
my_model = A * x + b
lossVal = tf.reduce_sum(tf.square(my_model - y))
my_optimizer = tf.train.GradientDescentOptimizer(0.01)
train = my_optimizer.minimize(lossVal)
x_train = [1.0, 2.5, 3.8, 4.9]
y_train = [1.7, 3.0, 6.6, 6.8]
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    for i in range(1000):
        sess.run(train, {x:x_train, y:y_train})
        if i%100==0:
            l_cost = sess.run(lossVal, {x:x_train, y:y_train})
            print(f"i: {i} cost: {l_cost}")
    l_A, l_b, l_cost = sess.run([A, b, lossVal], {x:x_train, y:y_train})
    print(f"A: {l_A} b: {l_b} cost: {l_cost}")

আউটপুট

i: 0 cost: 1.7808341979980469
i: 100 cost: 1.6947696208953857
i: 200 cost: 1.691591501235962
i: 300 cost: 1.6913959980010986
i: 400 cost: 1.6913844347000122
i: 500 cost: 1.6913840770721436
i: 600 cost: 1.6913843154907227
i: 700 cost: 1.691383719444275
i: 800 cost: 1.6913838386535645
i: 900 cost: 1.6913845539093018
A: [1.4599526] b: [0.07214472] cost: 1.6913845539093018

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজ ইম্পোর্ট করা এবং সহজ ব্যবহারের জন্য এলিয়াস দেওয়া।

  • 'my_model' নামে একটি ভেরিয়েবল সংজ্ঞায়িত করা যা লিনিয়ার মডেলের সাধারণ ফরম্যাট সংরক্ষণ করে।

  • এই লিনিয়ার মডেলটি 'GradientDescentOptimizer' ব্যবহার করে ট্রেন করা হয়।

  • ট্রেনিং এইভাবে করা হয় যাতে লস মিনিমাল থাকে, যা 'minimize' মেথড দ্বারা নিশ্চিত করা হয়।

  • দুটি লিস্ট তৈরি করা হয় যা ট্রেনিং ডেটা সংরক্ষণ করে।

  • এই ডেটা ট্রেন করা হয় এবং পূর্বাভাসিত মানগুলো কনসোলে প্রদর্শিত হয়।

  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

  2. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে CNN মডেল ইভ্যালুয়েট (evaluate) করতে ব্যবহৃত হয়?

  3. Keras ব্যবহার করে পাইথনে HDF5 ফরম্যাটে মডেল সংরক্ষণ করা

  4. Python-এ Keras ব্যবহার করে মডেল প্লট কীভাবে করা যায়?