Google क्लाउड स्टोरेज (GCS) का उपयोग कई कारणों से tfds के साथ किया जा सकता है:
- पूर्व-संसाधित डेटा संग्रहीत करना
- उन डेटासेट तक पहुँचना जिनमें डेटा GCS पर संग्रहीत है
टीएफडीएस जीसीएस बकेट के माध्यम से पहुंच
कुछ डेटासेट बिना किसी प्रमाणीकरण के सीधे हमारे GCS बकेट gs://tfds-data/datasets/
में उपलब्ध हैं:
- यदि
tfds.load(..., try_gcs=False)
(डिफ़ॉल्ट), डेटासेट कोdownload_and_prepare
के दौरान~/tensorflow_datasets
में स्थानीय रूप से कॉपी किया जाएगा। - यदि
tfds.load(..., try_gcs=True)
, तो डेटासेट सीधे GCS से स्ट्रीम किया जाएगा (download_and_prepare
छोड़ दिया जाएगा)।
आप tfds.is_dataset_on_gcs('mnist')
से जांच सकते हैं कि कोई डेटासेट सार्वजनिक बकेट पर होस्ट किया गया है या नहीं।
प्रमाणीकरण
शुरू करने से पहले, आपको यह तय करना चाहिए कि आप कैसे प्रमाणित करना चाहते हैं। तीन विकल्प हैं:
- कोई प्रमाणीकरण नहीं (उर्फ अनाम पहुंच)
- अपने Google खाते का उपयोग करना
- सेवा खाते का उपयोग करना (आपकी टीम में अन्य लोगों के साथ आसानी से साझा किया जा सकता है)
आप Google क्लाउड दस्तावेज़ में विस्तृत जानकारी पा सकते हैं
सरलीकृत निर्देश
यदि आप कोलाब से चलते हैं, तो आप अपने खाते से प्रमाणित कर सकते हैं, लेकिन चल रहा है:
from google.colab import auth
auth.authenticate_user()
यदि आप अपनी स्थानीय मशीन पर (या वीएम में) चलाते हैं, तो आप निम्न चलाकर अपने खाते से प्रमाणित कर सकते हैं:
gcloud auth application-default login
यदि आप सेवा खाते से लॉगिन करना चाहते हैं, तो JSON फ़ाइल कुंजी डाउनलोड करें और सेट करें
export GOOGLE_APPLICATION_CREDENTIALS=<JSON_FILE_PATH>
प्रीप्रोसेस्ड डेटा को स्टोर करने के लिए Google क्लाउड स्टोरेज का उपयोग करना
आम तौर पर जब आप TensorFlow डेटासेट का उपयोग करते हैं, तो डाउनलोड किया गया और तैयार किया गया डेटा एक स्थानीय निर्देशिका में कैश किया जाएगा (डिफ़ॉल्ट रूप से ~/tensorflow_datasets
)।
कुछ वातावरणों में जहां स्थानीय डिस्क अल्पकालिक हो सकती है (एक अस्थायी क्लाउड सर्वर या कोलाब नोटबुक ) या आपको कई मशीनों द्वारा डेटा तक पहुंच की आवश्यकता होती है, Google क्लाउड स्टोरेज (जीसीएस) जैसे क्लाउड स्टोरेज सिस्टम में data_dir
सेट करना उपयोगी होता है। बाल्टी।
कैसे?
एक जीसीएस बकेट बनाएं और सुनिश्चित करें कि आपको (या आपके सेवा खाते को) उस पर पढ़ने/लिखने की अनुमति है (ऊपर प्राधिकरण निर्देश देखें)
जब आप tfds
उपयोग करते हैं, तो आप data_dir
"gs://YOUR_BUCKET_NAME"
पर सेट कर सकते हैं
ds_train, ds_test = tfds.load(name="mnist", split=["train", "test"], data_dir="gs://YOUR_BUCKET_NAME")
चेतावनियाँ:
- यह दृष्टिकोण उन डेटासेट के लिए काम करता है जो डेटा एक्सेस के लिए केवल
tf.io.gfile
उपयोग करते हैं। यह अधिकांश डेटासेट के लिए सत्य है, लेकिन सभी के लिए नहीं। - याद रखें कि जीसीएस तक पहुंचने का मतलब एक दूरस्थ सर्वर तक पहुंचना और उससे डेटा स्ट्रीम करना है, इसलिए आपको नेटवर्क लागत लग सकती है।
जीसीएस पर संग्रहीत डेटासेट तक पहुंच
यदि डेटासेट मालिकों ने अनाम पहुंच की अनुमति दी है, तो आप बस आगे बढ़ सकते हैं और tfds.load कोड चला सकते हैं - और यह सामान्य इंटरनेट डाउनलोड की तरह काम करेगा।
यदि डेटासेट को प्रमाणीकरण की आवश्यकता है, तो कृपया ऊपर दिए गए निर्देशों का उपयोग करके यह निर्णय लें कि आप कौन सा विकल्प चाहते हैं (स्वयं खाता बनाम सेवा खाता) और डेटासेट स्वामी को खाता नाम (उर्फ ईमेल) बताएं। उनके द्वारा आपको जीसीएस निर्देशिका तक पहुंच सक्षम करने के बाद, आपको टीएफडीएस डाउनलोड कोड चलाने में सक्षम होना चाहिए।