TensorFlow.org-এ দেখুন | গুগল কোলাবে চালান | গিটহাবে দেখুন | নোটবুক ডাউনলোড করুন | Kaggle-এ চালান |
এই নির্দেশিকাটি প্রথমবারের ব্যবহারকারীদের একটি গুগল ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্ট তৈরি করতে সাহায্য করার জন্য, যার মূল উদ্দেশ্য হলো গুগল ক্লাউড এআই প্ল্যাটফর্মে টেনসরফ্লো ক্লাউড ব্যবহার করে সহজে ও বৃহৎ পরিসরে প্রশিক্ষণ চালানো। টেনসরফ্লো ক্লাউড এমন এপিআই (API) সরবরাহ করে যা ব্যবহারকারীদের স্থানীয় বা ক্যাগল (kaggle) পরিবেশে কেরাস (Keras) এবং টেনসরফ্লো (TensorFlow) কোডের ডিবাগিং, প্রশিক্ষণ ও টিউনিং থেকে ক্লাউডে ডিস্ট্রিবিউটেড প্রশিক্ষণ/টিউনিং-এ সহজে যেতে সাহায্য করে।
১. গুগল ক্লাউড প্ল্যাটফর্মে সাইন আপ করুন
শুরু করতে https://cloud.google.com/ এ যান এবং “Get Started For Free” এ ক্লিক করুন। এটি একটি দুই ধাপের সাইন আপ প্রক্রিয়া যেখানে আপনাকে আপনার নাম, ঠিকানা এবং একটি ক্রেডিট কার্ড প্রদান করতে হবে। স্টার্টার অ্যাকাউন্টটি বিনামূল্যে এবং এর সাথে $300 ক্রেডিট রয়েছে যা আপনি ব্যবহার করতে পারবেন। এই ধাপের জন্য আপনাকে সাইন ইন করতে একটি গুগল অ্যাকাউন্ট (যেমন আপনার জিমেইল অ্যাকাউন্ট) প্রদান করতে হবে।
সাইন আপ প্রক্রিয়াটি সম্পন্ন করার পর আপনাকে গুগল ক্লাউড প্ল্যাটফর্মের স্বাগত পৃষ্ঠায় নিয়ে যাওয়া হবে। "হোম" ট্যাবে ক্লিক করুন এবং আপনার প্রজেক্ট আইডি ও প্রজেক্ট নম্বরটি লিখে রাখুন। (দেখুন: প্রজেক্ট শনাক্তকরণ )
GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'
২. গুগল ক্লাউড এসডিকে সক্রিয় করুন এবং আপনার নোটবুকটি প্রমাণীকরণ করুন।
এখন যেহেতু আপনি আপনার প্রজেক্ট সেট আপ করে ফেলেছেন, আমরা সরাসরি এই নোটবুক থেকেই বাকি কনফিগারেশন ধাপগুলো নিয়ে এগিয়ে যেতে পারি। তিন ধরনের নোটবুক রয়েছে, এই ধাপটি (ধাপ #২) প্রতিটি নোটবুকের জন্য কিছুটা ভিন্ন, বাকি ধাপগুলো (ধাপ #৩ থেকে #৬) সব নোটবুকের জন্য একই।
- ২.১. কাগল নোটবুকের জন্য প্রমাণীকরণ
- ২.২. কোলাব নোটবুকের জন্য প্রমাণীকরণ
- ২.৩. ক্লাউড এআই নোটবুকের জন্য প্রমাণীকরণ - সমর্থিত নয়।
২.১ কাগল নোটবুকের জন্য অথেন্টিকেশন সেটআপ করুন
আপনি যদি একটি Kaggle নোটবুক ব্যবহার করেন, তবে এই প্রজেক্টের সাথে ব্যবহার করা যেকোনো নতুন নোটবুকের জন্য আপনাকে এই ধাপটি পুনরাবৃত্তি করতে হবে। আপনার নোটবুকে Add-ons -> Google Cloud SDK-তে ক্লিক করুন এবং প্রম্পটে দেওয়া নির্দেশাবলী অনুসরণ করুন। তারপর এই নোটবুকে আপনার অথোরাইজেশন ক্রেডেনশিয়াল যোগ করতে নিম্নলিখিত কমান্ডটি চালান।
import sys
if "kaggle_secrets" in sys.modules:
from kaggle_secrets import UserSecretsClient
UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)
২.২ কোলাব নোটবুকের জন্য অথেন্টিকেশন সেটআপ করুন
আপনি যদি একটি কোলাব নোটবুক ব্যবহার করেন, তবে এই প্রজেক্টের সাথে ব্যবহৃত যেকোনো নতুন নোটবুকের জন্য আপনাকে এই ধাপটি পুনরাবৃত্তি করতে হবে। এই নোটবুকে আপনার প্রমাণীকরণ তথ্য (auth credentials) যোগ করতে নিম্নলিখিত কমান্ডটি চালান।
import sys
if "google.colab" in sys.modules:
from google.colab import auth
auth.authenticate_user()
৩. আপনার বিলিং অ্যাকাউন্টটি আপনার প্রোজেক্টের সাথে লিঙ্ক করুন।
পরবর্তী ধাপ হলো এই প্রজেক্টের জন্য বিলিং অ্যাকাউন্ট সেট আপ করা । গুগল ক্লাউড ডিফল্টভাবে আপনার জন্য একটি প্রজেক্ট তৈরি করে, যার নাম “My First Project”। আমরা এই ডিফল্ট প্রজেক্টটিই ব্যবহার করব। আপনার প্রজেক্ট আইডি (ধাপ ১ থেকে প্রাপ্ত) ব্যবহার করে নিম্নলিখিত কমান্ডগুলো চালান। এটি আপনাকে আপনার বিলিং অ্যাকাউন্ট আইডি দেখাবে, পরবর্তী ধাপের জন্য এটি লিখে রাখুন।
gcloud beta billing accounts listআপনার বিলিং অ্যাকাউন্টটি প্রজেক্টের সাথে লিঙ্ক করতে, উপরের বিলিং অ্যাকাউন্ট আইডি ব্যবহার করে নিম্নলিখিত কমান্ডটি চালান।
মনে রাখবেন, আপনি যদি একটি বিদ্যমান প্রজেক্ট ব্যবহার করেন, তাহলে আপনি Account_ID দেখতে নাও পারেন। এর অর্থ হলো, নিম্নলিখিত কমান্ডগুলো চালানোর জন্য আপনার যথাযথ অনুমতি নেই। আপনার অ্যাডমিনের সাথে যোগাযোগ করুন অথবা একটি নতুন প্রজেক্ট তৈরি করুন।
BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'
!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID
৪. আপনার প্রোজেক্টে tensorflow-cloud-এর জন্য প্রয়োজনীয় API-গুলো সক্রিয় করুন।
tensorflow_cloud-এর জন্য আমরা দুটি নির্দিষ্ট API ব্যবহার করি: AI Platform Training Jobs API এবং Cloud builder API । উল্লেখ্য যে, এই প্রোজেক্টের জন্য এটি একটি এককালীন সেটআপ, প্রতিটি নোটবুকের জন্য আপনাকে এই কমান্ডটি পুনরায় চালানোর প্রয়োজন নেই।
gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com৫. একটি গুগল ক্লাউড স্টোরেজ বাকেট তৈরি করুন
আমরা এই স্টোরেজ বাকেটটি অস্থায়ী অ্যাসেট এবং মডেল চেকপয়েন্ট সংরক্ষণের জন্য ব্যবহার করব। ভবিষ্যতের জন্য বাকেটটির নামটি লিখে রাখুন। মনে রাখবেন, বাকেটের নামগুলো বিশ্বব্যাপী অনন্য।
BUCKET_NAME = 'YOUR_BUCKET_NAME'
GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET
HP টিউনিং কাজের জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
CloudTuner ব্যবহার করে Google Cloud-এ HP Tuning ব্যবহার করার জন্য এই ধাপটি আবশ্যক। একটি সার্ভিস অ্যাকাউন্ট তৈরি করতে এবং সেটিকে প্রজেক্ট এডিটর অ্যাক্সেস দিতে নিম্নলিখিত কমান্ডটি চালান এবং আপনার সার্ভিস অ্যাকাউন্টের নামটি লিখে রাখুন।
SERVICE_ACCOUNT_NAME ='YOUR_SERVICE_ACCOUNT_NAME'
SERVICE_ACCOUNT_EMAIL = f'{SERVICE_ACCOUNT_NAME}@{GCP_PROJECT_ID}.iam.gserviceaccount.com'
!gcloud iam --project $GCP_PROJECT_ID service-accounts create $SERVICE_ACCOUNT_NAME
!gcloud projects add-iam-policy-binding $GCP_PROJECT_ID \
--member serviceAccount:$SERVICE_ACCOUNT_EMAIL \
--role=roles/editor
default AI Platform service account service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com ফরম্যাটের একটি ইমেল ঠিকানা দ্বারা চিহ্নিত করা হয়। প্রথম ধাপ থেকে প্রাপ্ত আপনার প্রজেক্ট নম্বরটি ব্যবহার করে, আমরা সার্ভিস অ্যাকাউন্টের ইমেলটি তৈরি করি এবং আপনার নতুন সার্ভিস অ্যাকাউন্টে default AI Platform service account অ্যাডমিন রোল (roles/iam.serviceAccountAdmin) প্রদান করি।
DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT = f'service-{PROJECT_NUMBER}@cloud-ml.google.com.iam.gserviceaccount.com'
!gcloud iam --project $GCP_PROJECT_ID service-accounts add-iam-policy-binding \
--role=roles/iam.serviceAccountAdmin \
--member=serviceAccount:$DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT \
$SERVICE_ACCOUNT_EMAIL
অভিনন্দন!
আপনি এখন টেনসরফ্লো-ক্লাউড চালানোর জন্য প্রস্তুত। মনে রাখবেন, এই ধাপগুলো শুধুমাত্র একবারই চালাতে হবে। একবার আপনার প্রোজেক্ট সেটআপ হয়ে গেলে, আপনি ভবিষ্যতের রানগুলোর জন্য একই প্রোজেক্ট এবং বাকেট কনফিগারেশন পুনরায় ব্যবহার করতে পারবেন। যেকোনো নতুন নোটবুকের জন্য, আপনার গুগল ক্লাউড অথেন্টিকেশন ক্রেডেনশিয়াল যোগ করতে দ্বিতীয় ধাপটি আবার করতে হবে।
নিচের মানগুলো লিখে রাখুন, কারণ tensorflow-cloud চালানোর জন্য এগুলো প্রয়োজন হবে।
print(f"Your GCP_PROJECT_ID is: {GCP_PROJECT_ID}")
print(f"Your SERVICE_ACCOUNT_NAME is: {SERVICE_ACCOUNT_NAME}")
print(f"Your BUCKET_NAME is: {BUCKET_NAME}")
Your GCP_PROJECT_ID is: YOUR_PROJECT_ID Your SERVICE_ACCOUNT_NAME is: YOUR_SERVICE_ACCOUNT_NAME Your BUCKET_NAME is: YOUR_BUCKET_NAME
TensorFlow.org-এ দেখুন
গুগল কোলাবে চালান
গিটহাবে দেখুন
নোটবুক ডাউনলোড করুন
Kaggle-এ চালান