tfds এবং Google ক্লাউড স্টোরেজ

Google ক্লাউড স্টোরেজ (GCS) একাধিক কারণে tfds-এর সাথে ব্যবহার করা যেতে পারে:

  • প্রি-প্রসেসড ডেটা সংরক্ষণ করা
  • 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()

আপনি যদি আপনার স্থানীয় মেশিনে (বা VM) চালান, তাহলে আপনি চালিয়ে আপনার অ্যাকাউন্টের সাথে প্রমাণীকরণ করতে পারেন:

gcloud auth application-default login

আপনি যদি পরিষেবা অ্যাকাউন্ট দিয়ে লগইন করতে চান তবে JSON ফাইল কী ডাউনলোড করুন এবং সেট করুন

export GOOGLE_APPLICATION_CREDENTIALS=<JSON_FILE_PATH>

প্রি-প্রসেসড ডেটা সঞ্চয় করতে Google ক্লাউড স্টোরেজ ব্যবহার করা

সাধারণত আপনি যখন টেনসরফ্লো ডেটাসেট ব্যবহার করেন, তখন ডাউনলোড করা এবং প্রস্তুত করা ডেটা স্থানীয় ডিরেক্টরিতে ক্যাশে করা হবে (ডিফল্টরূপে ~/tensorflow_datasets )।

কিছু পরিবেশে যেখানে স্থানীয় ডিস্ক ক্ষণস্থায়ী হতে পারে (একটি অস্থায়ী ক্লাউড সার্ভার বা একটি Colab নোটবুক ) অথবা একাধিক মেশিনের মাধ্যমে অ্যাক্সেসযোগ্য ডেটার প্রয়োজন হয়, Google ক্লাউড স্টোরেজ (GCS) এর মতো ক্লাউড স্টোরেজ সিস্টেমে data_dir সেট করা উপযোগী। বালতি

কিভাবে?

একটি GCS বালতি তৈরি করুন এবং নিশ্চিত করুন যে আপনার (বা আপনার পরিষেবা অ্যাকাউন্ট) এটিতে পড়ার/লেখার অনুমতি রয়েছে (উপরে অনুমোদন নির্দেশাবলী দেখুন)

আপনি যখন 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 ব্যবহার করে। এটি বেশিরভাগ ডেটাসেটের জন্য সত্য, কিন্তু সব নয়।
  • মনে রাখবেন যে GCS অ্যাক্সেস করা একটি দূরবর্তী সার্ভার অ্যাক্সেস করা এবং এটি থেকে ডেটা স্ট্রিমিং করা, তাই আপনাকে নেটওয়ার্ক খরচ বহন করতে হতে পারে।

GCS-এ সংরক্ষিত ডেটাসেট অ্যাক্সেস করা

যদি ডেটাসেটের মালিকরা বেনামী অ্যাক্সেসের অনুমতি দেয় তবে আপনি শুধু এগিয়ে যেতে পারেন এবং tfds.load কোডটি চালাতে পারেন - এবং এটি একটি সাধারণ ইন্টারনেট ডাউনলোডের মতো কাজ করবে।

যদি ডেটাসেটের প্রমাণীকরণের প্রয়োজন হয়, তাহলে আপনি কোন বিকল্পটি চান (নিজের অ্যাকাউন্ট বনাম পরিষেবা অ্যাকাউন্ট) তা নির্ধারণ করতে অনুগ্রহ করে উপরের নির্দেশাবলী ব্যবহার করুন এবং ডেটাসেটের মালিকের কাছে অ্যাকাউন্টের নাম (ওরফে ইমেল) যোগাযোগ করুন। তারা আপনাকে GCS ডিরেক্টরিতে অ্যাক্সেস সক্ষম করার পরে, আপনি tfds ডাউনলোড কোড চালাতে সক্ষম হবেন।