tfds ו-Google Cloud Storage

ניתן להשתמש ב-Google Cloud Storage (GCS) עם tfds מסיבות מרובות:

  • אחסון נתונים מעובדים מראש
  • גישה למערכי נתונים שיש בהם נתונים המאוחסנים ב-GCS

גישה דרך דלי TFDS GCS

כמה מערכי נתונים זמינים ישירות בדלי GCS שלנו gs://tfds-data/datasets/ ללא כל אימות:

  • אם tfds.load(..., try_gcs=False) (ברירת מחדל), מערך הנתונים יועתק באופן מקומי ב- ~/tensorflow_datasets במהלך download_and_prepare .
  • אם tfds.load(..., try_gcs=True) , מערך הנתונים יוזרם ישירות מ-GCS (דלג על download_and_prepare ).

אתה יכול לבדוק אם מערך נתונים מתארח בדלי הציבורי באמצעות tfds.is_dataset_on_gcs('mnist') .

אימות

לפני שתתחיל, עליך להחליט כיצד ברצונך לבצע אימות. ישנן שלוש אפשרויות:

  • ללא אימות (המכונה גם גישה אנונימית)
  • באמצעות חשבון Google שלך
  • באמצעות חשבון שירות (ניתן לשתף בקלות עם אחרים בצוות שלך)

תוכל למצוא מידע מפורט בתיעוד של Google Cloud

הוראות פשוטות

אם אתה פועל מ-Colab, אתה יכול לבצע אימות עם החשבון שלך, אך פועל:

from google.colab import auth
auth.authenticate_user()

אם אתה מפעיל במחשב המקומי שלך (או ב-VM), תוכל לבצע אימות עם החשבון שלך על ידי הפעלת:

gcloud auth application-default login

אם אתה רוצה להתחבר עם חשבון שירות, הורד את מפתח הקובץ JSON והגדר

export GOOGLE_APPLICATION_CREDENTIALS=<JSON_FILE_PATH>

שימוש ב-Google Cloud Storage לאחסון נתונים מעובדים מראש

בדרך כלל כאשר אתה משתמש ב- TensorFlow Datasets, הנתונים שהורדו והוכנו יישמרו במטמון בספרייה מקומית (כברירת מחדל ~/tensorflow_datasets ).

בסביבות מסוימות שבהן הדיסק המקומי עשוי להיות חולף (שרת ענן זמני או מחברת Colab ) או שאתה צריך שהנתונים יהיו נגישים על ידי מספר מכונות, כדאי להגדיר data_dir למערכת אחסון בענן, כמו אחסון בענן של Google (GCS) דְלִי.

אֵיך?

צור דלי 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.