সেট আপ করা এবং আপনার Google ক্লাউড অ্যাকাউন্টে সংযোগ করা হচ্ছে৷

TensorFlow.org এ দেখুন Google Colab-এ চালান GitHub এ দেখুন নোটবুক ডাউনলোড করুন কাগল লোগো কাগলে চালান

এই নির্দেশিকাটি হল প্রথমবার ব্যবহারকারীদের Google ক্লাউড AI প্ল্যাটফর্মে সহজে প্রশিক্ষণ চালানোর জন্য tensorflow_cloud ব্যবহার করার অভিপ্রায়ে একটি Google ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্ট সেট আপ করতে সাহায্য করার জন্য৷ TensorFlow ক্লাউড API প্রদান করে যা ব্যবহারকারীদের সহজেই ডিবাগিং, প্রশিক্ষণ, কেরাস এবং টেনসরফ্লো কোডকে স্থানীয় বা কাগল পরিবেশে ক্লাউডে বিতরণ করা প্রশিক্ষণ/টিউনিং থেকে যেতে দেয়।

1. Google ক্লাউড প্ল্যাটফর্মের জন্য সাইন আপ করুন৷

শুরু করতে https://cloud.google.com/- এ যান এবং "বিনামূল্যে শুরু করুন" এ ক্লিক করুন৷ এটি একটি দ্বি-পদক্ষেপ সাইন আপ প্রক্রিয়া যেখানে আপনাকে আপনার নাম, ঠিকানা এবং একটি ক্রেডিট কার্ড প্রদান করতে হবে৷ স্টার্টার অ্যাকাউন্ট বিনামূল্যে এবং এটি $300 ক্রেডিট সহ আসে যা আপনি ব্যবহার করতে পারেন৷ এই ধাপের জন্য আপনাকে সাইন ইন করার জন্য একটি Google অ্যাকাউন্ট (যেমন আপনার Gmail অ্যাকাউন্ট) প্রদান করতে হবে৷

সাইন আপ প্রক্রিয়া সম্পন্ন করার পরে আপনাকে Google ক্লাউড প্ল্যাটফর্ম স্বাগতম পৃষ্ঠায় পুনঃনির্দেশিত করা হবে। "হোম" ট্যাবে ক্লিক করুন এবং আপনার প্রোজেক্ট আইডি এবং প্রোজেক্ট নম্বরের একটি নোট তৈরি করুন। ( প্রকল্প সনাক্তকরণ দেখুন)

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Google Cloud SDK সক্ষম করুন এবং আপনার নোটবুক প্রমাণীকরণ করুন৷

এখন যেহেতু আপনি আপনার প্রকল্প সেট আপ করেছেন আমরা এই নোটবুক থেকে সরাসরি কনফিগারেশনের বাকি ধাপগুলি চালিয়ে যেতে পারি। তিন ধরনের নোটবুক আছে, এই ধাপ (ধাপ #2) প্রতিটি নোটবুকের জন্য কিছুটা আলাদা, বাকি ধাপগুলি (ধাপ #3 থেকে #6) সমস্ত নোটবুকের জন্য একই।

  • 2.1। Kaggle নোটবুক জন্য প্রমাণীকরণ
  • 2.2। Colab নোটবুকের জন্য প্রমাণ
  • 2.3। ক্লাউড এআই নোটবুকের জন্য প্রমাণীকরণ - সমর্থিত নয়।

2.1 একটি Kaggle নোটবুকের জন্য প্রমাণীকরণ সেটআপ করুন৷

আপনি যদি একটি 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)

2.2 Colab নোটবুকের জন্য প্রমাণীকরণ সেটআপ করুন

আপনি যদি একটি Colab নোটবুক ব্যবহার করেন তবে আপনাকে এই প্রকল্পের সাথে ব্যবহার করা নতুন নোটবুকের জন্য এই ধাপটি পুনরাবৃত্তি করতে হবে। এই নোটবুকে আপনার প্রমাণীকরণের শংসাপত্র যোগ করতে নিম্নলিখিত কমান্ডটি চালান।

import sys
if "google.colab" in sys.modules:
    from google.colab import auth
    auth.authenticate_user()

পরবর্তী ধাপ হল এই প্রকল্পের জন্য বিলিং অ্যাকাউন্ট সেট আপ করা । Google ক্লাউড ডিফল্টরূপে আপনার জন্য একটি প্রকল্প তৈরি করে যাকে "মাই ফার্স্ট প্রজেক্ট" বলা হয়। আমরা এই ডিফল্ট প্রকল্প ব্যবহার করব. নিম্নলিখিত কমান্ডগুলি চালানোর জন্য আপনার প্রকল্প আইডি (ধাপ 1 থেকে) ব্যবহার করুন। এটি আপনাকে আপনার বিলিং অ্যাকাউন্ট_আইডি দেখাবে, পরবর্তী পদক্ষেপের জন্য এটি একটি নোট করুন৷

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

4. আপনার প্রজেক্টে টেনসরফ্লো-ক্লাউডের জন্য প্রয়োজনীয় 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

5. একটি Google ক্লাউড স্টোরেজ বালতি তৈরি করুন৷

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

BUCKET_NAME = 'YOUR_BUCKET_NAME'

GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET

HP টিউনিং কাজের জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

ক্লাউডটিউনার ব্যবহার করে গুগল ক্লাউডে HP টিউনিং ব্যবহার করার জন্য এই ধাপটি প্রয়োজন। একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে এবং এটিকে প্রকল্প সম্পাদক অ্যাক্সেস দিতে নিম্নলিখিত কমান্ডটি চালান এবং আপনার পরিষেবা অ্যাকাউন্টের নামের একটি নোট তৈরি করুন।

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

অভিনন্দন!

আপনি এখন টেনসরফ্লো-ক্লাউড চালানোর জন্য প্রস্তুত। মনে রাখবেন যে এই পদক্ষেপগুলি শুধুমাত্র একবার চালানো প্রয়োজন। একবার আপনার প্রকল্প সেটআপ হয়ে গেলে আপনি ভবিষ্যতের রানের জন্য একই প্রকল্প এবং বালতি কনফিগারেশন পুনরায় ব্যবহার করতে পারেন। যেকোন নতুন নোটবুকের জন্য আপনার Google ক্লাউড প্রমাণীকরণের শংসাপত্র যোগ করতে আপনাকে দ্বিতীয় ধাপটি পুনরাবৃত্তি করতে হবে।

টেনসরফ্লো-ক্লাউড চালানোর জন্য নিম্নলিখিত মানগুলির একটি নোট করুন।

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