חומר עזר של CTPU

סקירה כללית

הכלי ctpu בקוד פתוח משמש ליצירת אוסף של משאבי מחשוב, שכולל מכונה וירטואלית ב-Compute Engine ומכשיר Cloud TPU אחד או יותר. הכלי מותקן מראש ב-Cloud Shell.

אפשר למצוא מסמכי עזרה וקוד של ctpu ב-GitHub.

בכלי ctpu משתמשים בתחביר הבא:

ctpu <subcommand> <flags> <subcommand> <subcommand args> 

אלה פקודות המשנה של ctpu:

auth

תיאור
הגדרה או הצגה של הרשאות ל-Cloud TPU
Usage
ctpu auth <flags> <subcommand> <subcommand args>
דוגמה
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
פקודות משנה

הפקודה ctpu auth תומכת בפקודות המשנה הבאות:

  • ‫add-bigtable – מוודא שיש ליחידות Cloud TPU הרשאה ל-Cloud Bigtable
  • add-gcs – מוודא של-Cloud TPU יש הרשאה ל-Cloud Storage
  • list – הצגת ההרשאות של חשבון השירות ב-Cloud TPU
  • commands – הצגת רשימה של כל שמות הפקודות
  • flags - describe all known top-level flags
  • help - describe subcommands and their syntax
דגלים אופציונליים

אלה פקודות אופציונליות ל-ctpu auth. name | project | zone

מחיקה (rm)

תיאור
מוחקים את המכונה הווירטואלית ב-Compute Engine ואת Cloud TPU.
Usage
ctpu rm <flags>
דוגמה
ctpu rm --zone=us-central1-b

help

תיאור
רשימה של כל פקודות המשנה ctpu והדגלים ברמה העליונה.
Usage
ctpu help
ctpu help <subcommand>
דוגמה
ctpu help   // list all ctpu subcommands and top level flags

ctpu help auth   // list all flags that can be used with `ctpu auth`
ctpu help up   // list all flags that can be used with `ctpu up`

רשימה (ls)

תיאור
מציג רשימה של כל המכונות הווירטואליות של Compute Engine ושל Cloud TPU באזור שצוין.
Usage
ctpu ls <flags>
דוגמה
ctpu ls --zone=us-central1-b

pause (zz)

תיאור

מפסיקים את המכונה הווירטואלית ב-Compute Engine ומוחקים את Cloud TPU. הפסקת החיוב על השימוש ב-Cloud TPU עד להפעלת הפקודה ctpu up.

כדי לוודא ש-Cloud TPU הופסק, צריך לציין את השם של Cloud TPU ואת האזור בשורת הפקודה.

Usage
ctpu pause <name, zone>
דוגמה
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
תיאור
הדפסה על המסך של ההגדרה הנוכחית של השם של Cloud TPU, שם הפרויקט והאזור.
דוגמה
ctpu print-config

מכסה

תיאור
הצגת כתובת URL שבה אפשר לראות את המכסות.
Usage
ctpu quota
דוגמה
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

להפעיל מחדש

תיאור

מפעיל מחדש Cloud TPU שנמצא עדיין במצב RUNNING (מוצג ב-ctpu status), אבל הפסיק לפעול בגלל בעיית חומרה. אם ה-TPU במצב STOPPED, משתמשים ב-gcloud compute tpu start או בלחצן START בדף Compute Engine > TPUs ב-מסוף Cloud.

restart לא מפעיל מחדש Cloud TPU שנפסק. צריך להריץ את הפקודות ctpu delete ו-ctpu up אם בוצעה קדימה (preemption) ב-Cloud TPU.

Usage
ctpu restart <flags>
דוגמה
ctpu restart --zone=us-central1-a

סטטוס (st)

תיאור

שליחת שאילתה אל GCP APIs (אזור ברירת המחדל בלבד) כדי לקבוע את הסטטוס הנוכחי של Cloud TPU ושל מכונת Compute Engine VM.

Usage

ctpu st

דוגמה
ctpu st --zone=us-central1-a
Status message:
  Your cluster is running!
    Compute Engine VM:  RUNNING
    Cloud TPU:     RUNNING 

tpu-locations

תיאור
רשימת כל האזורים שבהם זמינים סוגי TPU.
Usage
ctpu tpu-locations
תשובה
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

תיאור
רשימה של כל הגדלים הזמינים של TPU באזור שצוין. חלק מהגדלים זמינים רק באזורים מסוימים. (ברירת מחדל = אזור ברירת מחדל)
Usage
tpu-sizes <zone>
דוגמה
ctpu tpu-sizes --zone=us-central1-a

חץ למעלה

תיאור

מציגים קבוצת משאבים של ctpu. בפעם הראשונה שמריצים את הפקודה ctpu up בפרויקט, התהליך ארוך יותר מאשר בהרצות הבאות, כי הפקודה מבצעת משימות כמו הפצה של מפתחות SSH והפעלה של API.

  • הפעלת השירותים Compute Engine ו-Cloud TPU.
  • יוצר מכונה וירטואלית ב-Compute Engine עם הגרסה היציבה העדכנית של TensorFlow שכבר מותקנת.
  • מערכת תקצה אזור ברירת מחדל, כמו us-central1-b, על סמך המיקום שלכם.
  • השם של Cloud TPU מועבר למכונה הווירטואלית ב-Compute Engine כמשתנה סביבה (TPU_NAME).
  • הסוכן מוודא של-Cloud TPU יש גישה למשאבים שהוא צריך מ Google Cloud הפרויקט שלכם, על ידי הקצאת תפקידי IAM ספציפיים לחשבון השירות של Cloud TPU.
  • מבצע מספר בדיקות אחרות.
  • המערכת תכניס אתכם למכונה הווירטואלית החדשה ב-Compute Engine. הנחיית המעטפת תשתנה מ-username@project ל-username@tpuname.

אפשר להריץ את הפקודה ctpu up כמה פעמים שרוצים. לדוגמה, אם איבדתם את חיבור ה-SSH למכונה וירטואלית ב-Compute Engine, מריצים את הפקודה ctpu up כדי לשחזר את החיבור. חובה לציין תחום (zone) אם Compute Engine לא נמצא בתחום ברירת המחדל. לדוגמה:

$ ctpu up --zone=us-central1-a
Usage
ctpu up <flags>
דוגמה
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
דגלים

--disk-size-gb
מגדירים את גודל נפח האחסון הבסיסי של המכונה הווירטואלית ב-Compute Engine. הערך חייב להיות מספר שלם. (ברירת מחדל = 250)

--dry-run
לא מבצעים שינויים, מדפיסים רק את מה שהיה קורה.

--forward-agent
מפעילים העברה של סוכן SSH כשמתחברים ל-SSH במכונת ה-VM של Compute Engine. העברת סוכן SSH מאפשרת גישה למאגרים משותפים (כמו GitHub) בלי להציב מפתחות פרטיים במכונה וירטואלית של Compute Engine. (ברירת מחדל = true)

--forward-ports
העברה אוטומטית של יציאות שימושיות מהמכונה הווירטואלית ב-Compute Engine למחשב המקומי. היציאות שמועברות הן: 6006 (tensorboard), ‏ 8888 (jupyter notebooks),‏ 8470 (יציאת TPU), ‏ 8466 (יציאת פרופיל TPU). (ברירת מחדל = true)

--gce-image
עוקפים את תמונת Compute Engine שנבחרה באופן אוטומטי. משתמשים בדגל הזה כשמשתמשים בתמונות מותאמות אישית משלכם במקום בתמונות שמסופקות עם TensorFlow המותקן.

--gcp-network
מציינים את הרשת שבה צריך ליצור את Cloud TPU ואת מכונת ה-VM המשויכת. מידע על רשתות זמין במאמר בנושא סקירה כללית של רשתות בענן וירטואלי פרטי (VPC). (ברירת מחדל = רשת ברירת המחדל)

--log-http
הדפסת התוכן המלא של זוגות בקשות ותגובות HTTP. כדי להפעיל את ההדפסה, מגדירים את התכונה הניסיונית הזו כ-true. משתמשים בדגל הזה כשצריך פלט יומן כדי לדווח על באג ב-ctpu. פרטים נוספים מופיעים בקובץ ה-README של ctpu.

--machine-type
מגדירים את הגודל של מכונת ה-VM ב-Compute Engine. רשימה מלאה של סוגי המכונות זמינה בדף סוגי המכונות ב-Cloud. (ברירת מחדל = n1-standard-2)

--name
שינוי השם שמשמש למכונות וירטואליות ול-Cloud TPU. (ברירת מחדל = שם המשתמש)

--noconf
דילוג על אישור.

--preemptible
יוצרים צומת Cloud TPU זמני. עלות השימוש ב-Cloud TPU שניתן להפסיק את הפעולה שלו נמוכה יותר לשעה מאשר עלות השימוש ב-Cloud TPU שלא ניתן להפסיק את הפעולה שלו. שירות Cloud TPU יכול לצאת ממכשיר שניתן להפסיק את הפעולה שלו בכל שלב. (ברירת מחדל = לא ניתן להגדרה כקדימה)

--preemptible-vm
יוצרים מכונה וירטואלית (VM) ב-Compute Engine שאפשר להפסיק את הפעולה שלה. העלות של VM זמני לשעה נמוכה יותר מהעלות של מכונה רגילה. שירות Compute Engine יכול לצאת מהמכונה הווירטואלית בכל שלב. (ברירת מחדל = לא ניתן להגדרה כקדימה)

--print-welcome
הדפסה תמיד של הודעת הפתיחה.

--project
החלפת שם הפרויקט ב-GCP שבו ישתמשו להקצאת מכונות וירטואליות ו-TPU. מציינים ערך מתוך cloud config או מטא נתונים של Compute Engine, בדרך כלל שם הפרויקט. אם לא נמצא ערך טוב, צריך לספק ערך בשורת הפקודה.

--tf-version
מגדירים את הגרסה של TensorFlow שבה רוצים להשתמש כשיוצרים את מכונת ה-VM ב-Compute Engine ואת Cloud TPU. (ברירת מחדל = הגרסה היציבה האחרונה)

--tpu-only
הקצאת Cloud TPU בלבד. משתמשים באפשרות הזו רק אם כבר יש מכונה וירטואלית זמינה.

--tpu-size
הגדרת הגודל וגרסת החומרה של Cloud TPU.

--use-dl-images
במקום תמונות של מכונות TPU, צריך להשתמש בתמונות VM של למידה עמוקה (Deep Learning) (ראו מסמכים: https://cloud.google.com/deep-learning-vm/). (ברירת מחדל = תמונות מכונה של TPU)

--vm-only
הקצאת מכונה וירטואלית בלבד. משתמשים באפשרות הזו כשלא מוכנים להגדיר TPU ולשלם עליו.

--zone
החלפת האזור ב-Compute Engine שבו יש להשתמש בהקצאת מכונות וירטואליות ו-Cloud TPU. מריצים את הפקודה ctpu help up בשורת הפקודה כדי לראות את הרשימה.

גרסה

תיאור
מדפיס את הגרסה של ctpu שהותקנה.
Usage
ctpu version
תשובה
ctpu version
Output: ctpu version: 1.9