TensorFlow হল Google দ্বারা প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে মিলিত होकर অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন এবং আরও অনেক কিছু বাস্তবায়ন করতে ব্যবহৃত হয়। এটি গবেষণা এবং প্রোডাকশন উদ্দেশ্যে ব্যবহৃত হয়।
জটিল গাণিতিক অপারেশন দ্রুত সম্পাদন করতে সহায়তা করার জন্য এতে অপ্টিমাইজেশন কৌশল রয়েছে। এর কারণ হল এটি NumPy এবং বহু-মাত্রিক অ্যারে ব্যবহার করে। এই বহু-মাত্রিক অ্যারেগুলিকে 'টেনসর' নামেও জানা যায়। ফ্রেমওয়ার্কটি গভীর নিউরাল নেটওয়ার্কের সাথে কাজ করা সাপোর্ট করে। এটি অত্যন্ত স্কেলেবল, এবং অনেক জনপ্রিয় ডেটাসেটের সাথে আসে। এটি GPU গণনা ব্যবহার করে এবং সংস্থান ব্যবস্থাপনা স্বয়ংক্রিয় করে। এতে অনেক মেশিন লার্নিং লাইব্রেরি রয়েছে, এবং এটি ভালভাবে সাপোর্টেড এবং ডকুমেন্টেড। ফ্রেমওয়ার্কটিতে গভীর নিউরাল নেটওয়ার্ক মডেল চালানো, সেগুলকে প্রশিক্ষণ দেওয়া, এবং সংশ্লিষ্ট ডেটাসেটের প্রাসঙ্গিক বৈশিষ্ট্যগুলি প্রেডিক্ট করার অ্যাপ্লিকেশন তৈরি করার ক্ষমতা রয়েছে।
TensorFlow ইনস্টলেশন
Windows-এ 'tensorflow' প্যাকেজটি নিচের কোড লাইন ব্যবহার করে ইনস্টল করা যেতে পারে:
pip install tensorflow
টেনসর সম্পর্কে
টেনসর হল TensorFlow-এ ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি ফ্লো ডায়াগ্রামে প্রান্তাগুলিকে সংযুক্ত করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামটিকে 'ডেটা ফ্লো গ্রাফ' নামে ডাকা হয়। টেনসরها অন্য কিছু নয়, বরং বহু-মাত্রিক অ্যারে বা একটি তালিকা।
Google Colaboratory ব্যবহার
নিচের কোড চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারের মাধ্যমে পাইথন কোড চালাতে সাহায্য করে এবং শূন্য কনফিগারেশন এবং GPU-তে (গ্রাফিক্যাল প্রসেসিং ইউনিট) বিনামূল্যে অ্যাক্সেস প্রদান করে। Colaboratory Jupyter Notebook-এর উপরে তৈরি করা হয়েছে।
উদাহরণ
print("The vocab_size is actually vocab_size+1 since 0 is used as padding")
int_model = create_model(vocab_size=VOCAB_SIZE + 1, num_labels=4)
print("The model is compiled")
int_model.compile(
loss=losses.SparseCategoricalCrossentropy(from_logits=True),
optimizer='adam',
metrics=['accuracy'])
print("The model is fit to the data")
history = int_model.fit(int_train_ds, validation_data=int_val_ds, epochs=5)
কোড ক্রেডিট - https://www.tensorflow.org/tutorials/load_data/text
আউটপুট
The vocab_size is actually vocab_size+1 since 0 is used as padding The model is compiled The model is fit to the data Epoch 1/5 188/188 [==============================] - 7s 37ms/step - loss: 1.3020 - accuracy: 0.3877 - val_loss: 0.8041 - val_accuracy: 0.6625 Epoch 2/5 188/188 [==============================] - 5s 25ms/step - loss: 0.7200 - accuracy: 0.7003 - val_loss: 0.5815 - val_accuracy: 0.7685 Epoch 3/5 188/188 [==============================] - 5s 25ms/step - loss: 0.4517 - accuracy: 0.8471 - val_loss: 0.5137 - val_accuracy: 0.8040 Epoch 4/5 188/188 [==============================] - 5s 25ms/step - loss: 0.2709 - accuracy: 0.9311 - val_loss: 0.5091 - val_accuracy: 0.8065 Epoch 5/5 188/188 [==============================] - 5s 25ms/step - loss: 0.1453 - accuracy: 0.9717 - val_loss: 0.5320 - val_accuracy: 0.8025
ব্যাখ্যা
মডেল তৈরি করতে 'create_model' মেথড ব্যবহার করা হয়।
এই মডেলটি 'compile' মেথড ব্যবহার করে কম্পাইল করা হয়।
এই কম্পাইলড মডেলে ডেটা ফিট করার জন্য 'fit' মেথড কল করা হয়।