अपने Google क्लाउड खाते को सेट अप करना और उससे कनेक्ट करना

TensorFlow.org पर देखें Google Colab में चलाएँ GitHub पर देखें नोटबुक डाउनलोड करें कागल लोगो कागल में भागो

यह मार्गदर्शिका पहली बार उपयोगकर्ताओं को Google क्लाउड प्लेटफ़ॉर्म खाता स्थापित करने में मदद करने के लिए है, विशेष रूप से Google क्लाउड AI प्लेटफ़ॉर्म पर बड़े पैमाने पर प्रशिक्षण चलाने के लिए Tensorflow_cloud का उपयोग करने के इरादे से। टेन्सरफ्लो क्लाउड एपीआई प्रदान करता है जो उपयोगकर्ताओं को स्थानीय या कागल वातावरण में केरस और टेन्सरफ्लो कोड को डिबगिंग, प्रशिक्षण, ट्यूनिंग से लेकर क्लाउड पर वितरित प्रशिक्षण/ट्यूनिंग तक आसानी से जाने की अनुमति देता है।

1. Google क्लाउड प्लेटफ़ॉर्म के लिए साइन अप करें

शुरू करने के लिए https://cloud.google.com/ पर जाएं और "मुफ्त में शुरुआत करें" पर क्लिक करें। यह दो चरणों वाली साइन अप प्रक्रिया है जहां आपको अपना नाम, पता और एक क्रेडिट कार्ड प्रदान करना होगा। स्टार्टर खाता मुफ़्त है और यह $300 क्रेडिट के साथ आता है जिसका आप उपयोग कर सकते हैं। इस चरण के लिए आपको साइन इन करने के लिए एक Google खाता (यानी आपका जीमेल खाता) प्रदान करना होगा।

साइन अप प्रक्रिया पूरी करने के बाद आपको Google क्लाउड प्लेटफ़ॉर्म स्वागत पृष्ठ पर पुनः निर्देशित किया जाएगा। "होम" टैब पर क्लिक करें और अपनी प्रोजेक्ट आईडी और प्रोजेक्ट नंबर नोट कर लें। ( परियोजनाओं की पहचान करना देखें)

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2.Google क्लाउड SDK सक्षम करें और अपनी नोटबुक प्रमाणित करें

अब जब आपने अपना प्रोजेक्ट सेट कर लिया है तो हम सीधे इस नोटबुक से बाकी कॉन्फ़िगरेशन चरणों को जारी रख सकते हैं। नोटबुक तीन प्रकार की होती है, यह चरण (चरण #2) प्रत्येक नोटबुक के लिए थोड़ा अलग है, बाकी चरण (चरण #3 से #6) सभी नोटबुक के लिए समान हैं।

  • 2.1. कागल नोटबुक के लिए प्रमाणीकरण
  • 2.2. कोलाब नोटबुक के लिए प्रामाणिक
  • 2.3. क्लाउड एआई नोटबुक के लिए प्रमाणीकरण - समर्थित नहीं।

2.1 कागल नोटबुक के लिए सेटअप प्रमाणीकरण

यदि आप कागल नोटबुक का उपयोग कर रहे हैं तो आपको इस परियोजना के साथ उपयोग की जाने वाली किसी भी नई नोटबुक के लिए इस चरण को दोहराना होगा। अपनी नोटबुक में ऐड-ऑन -> Google क्लाउड एसडीके पर क्लिक करें और संकेत पर दिए गए निर्देशों का पालन करें। फिर इस नोटबुक में अपना प्रामाणिक क्रेडेंशियल जोड़ने के लिए निम्नलिखित कमांड चलाएँ।

import sys
if "kaggle_secrets" in sys.modules:
    from kaggle_secrets import UserSecretsClient
    UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)

2.2 कोलाब नोटबुक के लिए सेटअप प्रमाणीकरण

यदि आप कोलाब नोटबुक का उपयोग कर रहे हैं तो आपको इस प्रोजेक्ट के साथ उपयोग की जाने वाली किसी भी नई नोटबुक के लिए इस चरण को दोहराना होगा। इस नोटबुक में अपना प्रामाणिक क्रेडेंशियल जोड़ने के लिए निम्नलिखित कमांड चलाएँ।

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

अगला कदम इस परियोजना के लिए बिलिंग खाता स्थापित करना है। Google क्लाउड डिफ़ॉल्ट रूप से आपके लिए एक प्रोजेक्ट बनाता है जिसे "माई फर्स्ट प्रोजेक्ट" कहा जाता है। हम इस डिफ़ॉल्ट प्रोजेक्ट का उपयोग करेंगे. निम्नलिखित कमांड चलाने के लिए अपनी प्रोजेक्ट आईडी (चरण 1 से) का उपयोग करें। यह आपको आपका बिलिंग खाता_आईडी दिखाएगा, इसे अगले चरण के लिए नोट कर लें।

gcloud beta billing accounts list

ऊपर से अपने बिलिंग खाता_आईडी का उपयोग करें और अपने बिलिंग खाते को अपने प्रोजेक्ट से लिंक करने के लिए निम्नलिखित को चलाएँ।

ध्यान दें कि यदि आप किसी मौजूदा प्रोजेक्ट का उपयोग करते हैं तो आपको खाता_आईडी नहीं दिख सकता है, इसका मतलब है कि आपके पास निम्नलिखित कमांड चलाने, अपने व्यवस्थापक से संपर्क करने या एक नया प्रोजेक्ट बनाने की उचित अनुमति नहीं है।

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID

4. अपने प्रोजेक्ट में टेंसरफ्लो-क्लाउड के लिए आवश्यक एपीआई सक्षम करें

Tensorflow_cloud के लिए हम दो विशिष्ट API का उपयोग करते हैं: AI प्लेटफ़ॉर्म ट्रेनिंग जॉब्स API और क्लाउड बिल्डर 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

एचपी ट्यूनिंग नौकरियों के लिए एक सेवा खाता बनाएं

CloudTuner का उपयोग करके Google क्लाउड पर 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